Module: HattrAccessor
- Defined in:
- lib/madhattr/hattr_accessor.rb
Instance Method Summary collapse
- #hattr_accessor(source, *keys) ⇒ Object (also: #hattr_accessors)
- #hattr_reader(source, *keys) ⇒ Object (also: #hattr_readers)
- #hattr_reader_with_default(source, *keys_with_defaults) ⇒ Object (also: #hattr_readers_with_defaults)
- #hattr_writer(source, *keys) ⇒ Object (also: #hattr_writers)
Instance Method Details
#hattr_accessor(source, *keys) ⇒ Object Also known as: hattr_accessors
24 25 26 27 |
# File 'lib/madhattr/hattr_accessor.rb', line 24 def hattr_accessor(source, *keys) hattr_reader source, *keys hattr_writer source, *keys end |
#hattr_reader(source, *keys) ⇒ Object Also known as: hattr_readers
2 3 4 5 |
# File 'lib/madhattr/hattr_accessor.rb', line 2 def hattr_reader(source, *keys) ensure_readable source define_readers(source, keys) end |
#hattr_reader_with_default(source, *keys_with_defaults) ⇒ Object Also known as: hattr_readers_with_defaults
8 9 10 11 |
# File 'lib/madhattr/hattr_accessor.rb', line 8 def hattr_reader_with_default(source, *keys_with_defaults) ensure_readable source define_readers_with_defaults(source, keys_with_defaults) end |
#hattr_writer(source, *keys) ⇒ Object Also known as: hattr_writers
14 15 16 17 18 19 20 21 |
# File 'lib/madhattr/hattr_accessor.rb', line 14 def hattr_writer(source, *keys) ensure_readable source keys.each do |key| define_method("#{key}=") do |value| send("#{source}").store(key, value) end end end |