Ruby 2.1

Quick reference to the new features in Ruby 2.1.

A cheatsheet by @rstacruz|Refreshed 7 months ago.Refresh|View source on Github

Named arguments with defaults

Named arguments with defaults

# length is required
def pad(num, length:, char: "0")
  num.to_s.rjust(length, char)
end
pad(42, length: 6) #=> "000042"
pad(42) #=> #<ArgumentError: missing keyword: length>

Module.prepend

Module.prepend

prepend(
  Module.new do
    define_method ...
  end
)

References

References

  • http://globaldev.co.uk/2013/03/ruby-2-0-0-in-detail
  • http://globaldev.co.uk/2014/05/ruby-2-1-in-detail