Module: HattrAccessor

Defined in:
lib/madhattr/hattr_accessor.rb

Instance Method Summary collapse

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