Class: MstdnIvory::DotAccessableHash
- Inherits:
-
Hash
- Object
- Hash
- MstdnIvory::DotAccessableHash
show all
- Defined in:
- lib/mstdn_ivory/dot_accessable_hash.rb
Overview
This class inherit hash. The value is accessed by key name method:
dah = DotAccessableHash.new
dah['strkey'] = 'strvalue'
dah[:symkey] = :symkey
dah.strkey
dah.symkey
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name) ⇒ Object
23
24
25
26
|
# File 'lib/mstdn_ivory/dot_accessable_hash.rb', line 23
def method_missing(name)
super unless self.has_key?(name) || self.has_key?(name.to_s)
self[name.to_s] || self[name]
end
|
Instance Method Details
#_merge(obj) ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/mstdn_ivory/dot_accessable_hash.rb', line 15
def _merge(obj)
dah = DotAccessableHash.new
obj.each do |key, value|
dah[key] = value.kind_of?(Hash) ? _merge(value) : value
end
dah
end
|
#merge(obj) ⇒ Object
10
11
12
13
|
# File 'lib/mstdn_ivory/dot_accessable_hash.rb', line 10
def merge(obj)
super unless obj.kind_of? Hash
_merge(obj)
end
|
#respond_to_missing?(name) ⇒ Boolean
28
29
30
|
# File 'lib/mstdn_ivory/dot_accessable_hash.rb', line 28
def respond_to_missing?(name)
return self.has_key?(name) || self.has_key?(name.to_s)
end
|