Module: Structural::Model
- Defined in:
- lib/structural/model.rb,
lib/structural/model/field.rb,
lib/structural/model/definer.rb,
lib/structural/model/has_one.rb,
lib/structural/model/has_many.rb,
lib/structural/model/descriptor.rb,
lib/structural/model/type_casts.rb,
lib/structural/model/association.rb
Defined Under Namespace
Modules: Descriptor, TypeCasts
Classes: Association, Definer, Field, HasMany, HasOne
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
3
4
5
|
# File 'lib/structural/model.rb', line 3
def data
@data
end
|
Instance Method Details
#eql?(other) ⇒ Boolean
Also known as:
==
17
18
19
|
# File 'lib/structural/model.rb', line 17
def eql? other
other.is_a?(Structural::Model) && other.data.eql?(self.data)
end
|
#hash ⇒ Object
22
23
24
|
# File 'lib/structural/model.rb', line 22
def hash
data.hash
end
|
#initialize(data = {}) ⇒ Object
5
6
7
|
# File 'lib/structural/model.rb', line 5
def initialize(data = {})
@data = Hashifier.hashify(data)
end
|
#set(values) ⇒ Object
9
10
11
|
# File 'lib/structural/model.rb', line 9
def set(values)
self.class.new(data.merge(Hashifier.hashify(values)))
end
|
#unset(*keys) ⇒ Object
13
14
15
|
# File 'lib/structural/model.rb', line 13
def unset(*keys)
self.class.new(data.except(*keys.map(&:to_sym)))
end
|