Thursday, 26 June 2014

Neil's Idea

class X
attr_accessor :foo
def [](key)
__send__ key.to_sym if [:foo].include? key.to_sym
end
def []=(key, value)
__send__ :"#{key}=", value if [:foo].include? key.to_sym
end
end
x = X.new
x[:foo] = 123
puts x[:foo]
x.foo = "works"
p x.foo
view raw gistfile1.rb hosted with ❤ by GitHub

No comments:

Post a Comment