Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- attr_writer :bar
- attr_reader :baz
- attr_accessor :foo
- class SillySetter
- def initialize path=nil
- @path = path
- end
- def method_missing name,value=nil
- new_path = @path ? "#{@path}.#{name}" : name
- if name.to_s[-1] == ?=
- puts "setting #{new_path} #{value}"
- else
- return self.class.new(path=new_path)
- end
- end
- end
- s = SillySetter.new
- s.foo = 5 # -> setting foo= 5
- s.foo.bar.baz = 4 # -> setting foo.bar.baz= 4
- def variable_name
- send 'variable.name'
- end
- def variable_name=(value)
- send 'variable.name=', value
- end
Add Comment
Please, Sign In to add comment