Module: Trax::Model
- Extended by:
- ActiveSupport::Autoload, ActiveSupport::Concern
- Includes:
- ActiveModel::Dirty, Core::InheritanceHooks, Matchable
- Defined in:
- lib/trax/model.rb,
lib/trax/model/mti.rb,
lib/trax/model/sti.rb,
lib/trax/model/enum.rb,
lib/trax/model/uuid.rb,
lib/trax/model/mixin.rb,
lib/trax/model/errors.rb,
lib/trax/model/mixins.rb,
lib/trax/model/scopes.rb,
lib/trax/model/struct.rb,
lib/trax/model/railtie.rb,
lib/trax/model/registry.rb,
lib/trax/model/freezable.rb,
lib/trax/model/matchable.rb,
lib/trax/model/unique_id.rb,
lib/trax/model/attributes.rb,
lib/trax/model/mti/entity.rb,
lib/trax/model/restorable.rb,
lib/trax/model/uuid_array.rb,
lib/trax/model/uuid_prefix.rb,
lib/trax/model/mti/abstract.rb,
lib/trax/model/mti/namespace.rb,
lib/trax/model/sti/attributes.rb,
lib/trax/model/attributes/type.rb,
lib/trax/model/attributes/mixin.rb,
lib/trax/model/attributes/types.rb,
lib/trax/model/attributes/value.rb,
lib/trax/model/mixins/id_scopes.rb,
lib/trax/model/attributes/errors.rb,
lib/trax/model/attributes/fields.rb,
lib/trax/model/mixins/field_scopes.rb,
lib/trax/model/attributes/attribute.rb,
lib/trax/model/attributes/types/enum.rb,
lib/trax/model/attributes/types/json.rb,
lib/trax/model/mixins/sort_by_scopes.rb,
lib/trax/model/attributes/definitions.rb,
lib/trax/model/attributes/types/array.rb,
lib/trax/model/attributes/types/string.rb,
lib/trax/model/attributes/types/boolean.rb,
lib/trax/model/attributes/types/integer.rb,
lib/trax/model/attributes/types/uuid_array.rb
Defined Under Namespace
Modules: Attributes, ClassMethods, Enum, Errors, Freezable, MTI, Matchable, Mixin, Mixins, Restorable, STI, Scopes, UniqueId
Classes: Railtie, Registry, Struct, UUID, UUIDArray, UUIDPrefix
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.mixin_registry ⇒ Object
Returns the value of attribute mixin_registry.
62
63
64
|
# File 'lib/trax/model.rb', line 62
def mixin_registry
@mixin_registry
end
|
Class Method Details
.eager_autoload_mixins! ⇒ Object
.find_by_uuid(uuid) ⇒ Object
91
92
93
|
# File 'lib/trax/model.rb', line 91
def self.find_by_uuid(uuid)
::Trax::Model::UUID.new(uuid).record
end
|
.register_mixin(mixin_klass, key = nil) ⇒ Object
67
68
69
70
71
72
|
# File 'lib/trax/model.rb', line 67
def self.register_mixin(mixin_klass, key = nil)
mixin_key = mixin_klass.respond_to?(:mixin_registry_key) ? mixin_klass.mixin_registry_key : (key || mixin_klass.name.demodulize.underscore.to_sym)
return if mixin_registry.key?(mixin_key)
mixin_registry[mixin_key] = mixin_klass
end
|
.root ⇒ Object
74
75
76
|
# File 'lib/trax/model.rb', line 74
def self.root
::Pathname.new(::File.path(__FILE__))
end
|
Instance Method Details
#reverse_assign_attributes(attributes_hash) ⇒ Object
like reverse merge, only assigns attributes which have not yet been assigned
55
56
57
58
59
|
# File 'lib/trax/model.rb', line 55
def reverse_assign_attributes(attributes_hash)
attributes_to_assign = attributes_hash.keys.reject{|_attribute_name| attribute_present?(_attribute_name) }
assign_attributes(attributes_hash.slice(attributes_to_assign))
end
|