Class: RememberTheRuby::Entity
- Inherits:
-
Hash
- Object
- Hash
- RememberTheRuby::Entity
show all
- Defined in:
- lib/remember-the-ruby/entity.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(transport, data = {}) ⇒ Entity
Returns a new instance of Entity.
4
5
6
7
|
# File 'lib/remember-the-ruby/entity.rb', line 4
def initialize(transport, data={})
@transport = transport
self.merge!(data)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name) ⇒ Object
21
22
23
|
# File 'lib/remember-the-ruby/entity.rb', line 21
def method_missing(method_name)
self[method_name]
end
|
Class Method Details
.from_element(transport, element) ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/remember-the-ruby/entity.rb', line 9
def self.from_element(transport, element)
data = element.attributes.keys.inject({}) do |memo, key|
memo[key] = element.attributes[key]
memo
end
self.new(transport, data)
end
|
.list_from_elements(transport, rsp, element) ⇒ Object
17
18
19
|
# File 'lib/remember-the-ruby/entity.rb', line 17
def self.list_from_elements(transport, rsp, element)
EntityList.from_element(transport, self, rsp, element)
end
|
Instance Method Details
#[](key) ⇒ Object
37
38
39
|
# File 'lib/remember-the-ruby/entity.rb', line 37
def [](key)
regular_reader(key.to_s)
end
|
#[]=(key, value) ⇒ Object
41
42
43
|
# File 'lib/remember-the-ruby/entity.rb', line 41
def []=(key, value)
regular_writer(key.to_s, value)
end
|
#hydrate_from(&blk) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/remember-the-ruby/entity.rb', line 25
def hydrate_from(&blk)
entity = yield blk
entity.each do |key, value|
self[key] = value
end
end
|
#original_lookup ⇒ Object
45
46
47
|
# File 'lib/remember-the-ruby/entity.rb', line 45
def [](key)
regular_reader(key.to_s)
end
|
#regular_reader ⇒ Object
32
|
# File 'lib/remember-the-ruby/entity.rb', line 32
alias_method :regular_reader, :[]
|
#regular_writer ⇒ Object
33
|
# File 'lib/remember-the-ruby/entity.rb', line 33
alias_method :regular_writer, :[]=
|