Skip to content

Instantly share code, notes, and snippets.

@cubicool
cubicool / gist:12650e93f6f77dbeb18e
Created September 2, 2015 19:39
Binding in extended Class definition.
module ExtraMethods
def def_foo
# b = binding
# NOTE: The binding acquired here always belongs to ExtraMethods, NOT to
# SomeClass, which is what I actually want.
end
module_function :def_foo
end
vals = { foo: 1, bar: 2, baz: 3 }
# Good!
puts vals.map { |k, v| "#{k}=#{v}" }.join ' '
# Bad!
puts vals.map do |k, v|
"#{k}=#{v}"
end.join ' '