Skip to content

dennyzhang/cheatsheet-ruby-A4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

1 Ruby CheatSheet

linkedin
github
slack


PRs Welcome

File me Issues or star this repo.

1.1 Summary

NameComment
Check syntaxruby -c my.rb
Generate random keyr = Random.new, r.rand(10...42)
Install ruby 2.4GitHub: Ubuntu install ruby 2.4
Install package with specific versiongem install rubocop -v "0.44.1"
Install package with a range of versionsgem install rails -v "~>4.0.0"
Install package with a range of versionsgem install rails -v ">3.1, <4.1"
Get RubyGem envgem env
Check whether variable is nilif value.nil?
Run system commandsystem("commandhere")
Run bash commandstdin, stdout, stderr = Open3.popen3('ls .')

1.2 List

NameComment
Check existence[‘Cat’, ‘Dog’, ‘Bird’].include? ‘Dog’
Find iteml1.find_index(x)
Remove item from listl1.delete_at(2)
Remove duplicate entries[1,2,2,1,4,4,5,6,7,8,5,6].uniq
Deep copy a listl1=l.dup

1.3 String

NameComment
Substringstring[1..3]
Search substring“option=name=bob”.index(“name”)
Replace“Welcome to PHP Essentials!”.gsub(“PHP”, “Ruby”)
Remove trailing comma“ab;123;”.chomp(“;”)
Strip whitespacehost = host.strip()

1.4 Integer

NameComment

1.5 Conversion

NameComment
Convert string to int“14”.to_i, “1,112”.delete(‘,’).to_i
Round float to 2 digits(5.65235534).round(2)
Format datetimeputs time.strftime("%Y-%m-%d %H:%M:%S")

1.6 Dict & Set

NameComment

1.7 File

NameComment
Check whether directory existFile.directory?('xxx")
Check whether files existFile.file?('hello.rb')
Read file to stringcontents = File.read('filename')
  • Write to file
# append
File.open('/tmp/test.txt', 'a') { |file| file.write("your text\n") }

# overwrite
File.open('/tmp/test.txt', 'w') { |file| file.write("your text\n") }

1.8 Code Snippets

  • Get ip from eth0
ruby -rsocket -e 'p IPSocket.getaddress(Socket.gethostname)'

require 'socket'
Socket::getaddrinfo(Socket.gethostname,"echo",Socket::AF_INET)[0][3]
  • Get hostname
require 'socket'
hostname = Socket.gethostbyname(Socket.gethostname).first
  • Get hostname from ip
  def get_hostname_by_ip(ip_address)
    require 'resolv'
    dns = Resolv.new

    hostname = ip_address
    begin
      hostname = dns.getname(ip_address)
    rescue
      # TODO: show error message
      puts "ERROR: Exception"
    end
    return hostname
  end
end

1.9 More Resources

License: Code is licensed under MIT License.

linkedin github slack