Class: HashDelegate::Accessor

Inherits:
Struct
  • Object
show all
Defined in:
lib/hash_delegate/accessor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#klassObject

Returns the value of attribute klass

Returns:

  • (Object)

    the current value of klass



2
3
4
# File 'lib/hash_delegate/accessor.rb', line 2

def klass
  @klass
end

Instance Method Details

#define_getter(key, hash) ⇒ Object



3
4
5
6
7
8
# File 'lib/hash_delegate/accessor.rb', line 3

def define_getter(key, hash)
  define_delegation key do
    data = self.send(hash) || {}
    data[key.to_s] || data[key.to_sym]
  end
end

#define_setter(key, hash) ⇒ Object



10
11
12
13
14
15
# File 'lib/hash_delegate/accessor.rb', line 10

def define_setter(key, hash)
  define_delegation "#{key}=" do |value|
    data = self.send(hash) || self.send("#{hash}=", {})
    data[key.to_s] = value
  end
end