I'm trying to understand the following Ruby code.
It looks like attrs
is a hash that gets passed as an argument with a default value of an empty hash.
Then attrs.each
iterates over the key, value pairs in the hash (|k,v|
).
What effect is achieved by calling self.send
on the elements of the key value pair during this iteration?
def initialize(attrs = {}, *args)
super(*args)
attrs.each do |k,v|
self.send "#{k}=", v
end
end