Skip to content

Instantly share code, notes, and snippets.

@dabit
Last active December 14, 2015 12:38
Show Gist options
  • Save dabit/5087199 to your computer and use it in GitHub Desktop.
Save dabit/5087199 to your computer and use it in GitHub Desktop.
def foo(options = {})
[options[:bar], options[:baz]]
end
foo(bar: '12345', baz: 'abcdef') # => ["12345", "abcdefg"]
def foo(options = {})
options = { bar: '12345', baz: 'abcdef' }.merge!(options)
[options[:bar], options[:baz]]
end
foo # => ["12345", "abcdefg"]
foo(bar: 'bar') # => ["bar", "abcdef"]
foo(bar: 'bar', baz: 'baz') # => ["bar", "baz"]
def foo(bar: '12345', baz: 'abcdef')
[bar, baz]
end
foo # => ["12345", "abcdefg"]
foo(bar: 'bar') # => ["bar", "abcdef"]
foo(bar: 'bar', baz: 'baz') # => ["bar", "baz"]
def foo(value, bar: '12345', baz: 'abcdef')
[value, bar, baz]
end
foo('VALUE') # => ["VALUE", "12345", "abcdefg"]
foo('VALUE', bar: 'bar') # => ["VALUE", "bar", "abcdef"]
foo('VALUE', bar: 'bar', baz: 'baz') # => ["VALUE", "bar", "baz"]
allowed_methods = %i(get post put)
allowed_methods # => [:get, :post, :put]
Car = Struct.new(:brand, :model, :color)
sporty = Car.new('Chevrolet', 'Corvette', 'Red')
sporty.to_h # => {:brand=>"Chevrolet", :model=>"Corvette", :color=>"Red"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment