Module: Quiver::Model
- Defined in:
- lib/quiver/model.rb,
lib/quiver/model/soft_delete.rb,
lib/quiver/model/validations.rb,
lib/quiver/model/validation_error.rb
Defined Under Namespace
Modules: ExtantAttributeOverrides, SoftDelete, Validations
Classes: ValidationError
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(host) ⇒ Object
23
24
25
26
27
|
# File 'lib/quiver/model.rb', line 23
def self.included(host)
host.send(:include, Extant::Attributes)
host.send(:include, Validations)
host.send(:include, ExtantAttributeOverrides)
end
|
Instance Method Details
#coerced?(attr) ⇒ Boolean
29
30
31
32
|
# File 'lib/quiver/model.rb', line 29
def coerced?(attr)
extant_attributes[attr].set? && extant_attributes[attr].coerced? ||
extant_attributes[attr].unset? && !extant_attributes[attr].coerced?
end
|
#coerced_all? ⇒ Boolean
34
35
36
|
# File 'lib/quiver/model.rb', line 34
def coerced_all?
extant_attributes.all? { |(_, attr_object)| attr_object.coerced? }
end
|
#original_attributes ⇒ Object
54
55
56
57
58
|
# File 'lib/quiver/model.rb', line 54
def original_attributes
original_extant_attributes.each_with_object({}) do |(k, v), attrs|
attrs[k] = v.value
end
end
|
#persisted? ⇒ Boolean
38
39
40
|
# File 'lib/quiver/model.rb', line 38
def persisted?
persisted_by.any?
end
|
#persisted_by ⇒ Object
42
43
44
|
# File 'lib/quiver/model.rb', line 42
def persisted_by
@persisted_by ||= []
end
|
#persisted_by!(adapter_type) ⇒ Object
46
47
48
|
# File 'lib/quiver/model.rb', line 46
def persisted_by!(adapter_type)
persisted_by << adapter_type
end
|
#serialization_type ⇒ Object
50
51
52
|
# File 'lib/quiver/model.rb', line 50
def serialization_type
@serialization_type ||= self.class.name.split('::').last
end
|