Class: MemoryModel::Base
- Inherits:
-
Object
- Object
- MemoryModel::Base
- Extended by:
- ActiveModel::Callbacks, ActiveModel::Naming, ActiveModel::Translation, ActiveSupport::Autoload, ConcernedInheritance
- Includes:
- ActiveModel::Conversion, ActiveModel::MassAssignmentSecurity, ActiveModel::Observing, ActiveModel::Serialization, ActiveModel::Validations, Actions, Attributes, AutoIncrement, Collectible, Conversion, Fields, Operations::Comparisons, Persistence
- Defined in:
- lib/memory_model/base.rb,
lib/memory_model/base/fields.rb,
lib/memory_model/base/actions.rb,
lib/memory_model/base/attributes.rb,
lib/memory_model/base/conversion.rb,
lib/memory_model/base/operations.rb,
lib/memory_model/base/collectible.rb,
lib/memory_model/base/persistence.rb,
lib/memory_model/base/fields/field.rb,
lib/memory_model/base/auto_increment.rb,
lib/memory_model/base/fields/field_set.rb,
lib/memory_model/base/actions/class_methods.rb,
lib/memory_model/base/operations/comparisons.rb
Defined Under Namespace
Modules: Actions, Attributes, AutoIncrement, Collectible, Conversion, Fields, Operations, Persistence
Constant Summary
Constants included from Actions
Instance Method Summary collapse
-
#initialize(attributes = {}) ⇒ Base
constructor
A new instance of Base.
- #initialize_dup(other) ⇒ Object
Methods included from Conversion
Methods included from Persistence
Methods included from Attributes
#attributes, #attributes=, #has_attribute?, #inspect, #read_attribute, #write_attribute
Methods included from Actions
#delete, #destroy, #save, #save!
Methods included from Operations::Comparisons
Methods included from Fields
Constructor Details
#initialize(attributes = {}) ⇒ Base
Returns a new instance of Base.
51 52 53 54 55 56 57 |
# File 'lib/memory_model/base.rb', line 51 def initialize(attributes={}) unless self.class.collection.is_a? MemoryModel::Collection raise MemoryModel::InvalidCollectionError, "#{self.class} does not have an assigned collection" end fields.set_default_values(self, attributes) run_callbacks :initialize end |
Instance Method Details
#initialize_dup(other) ⇒ Object
59 60 61 62 |
# File 'lib/memory_model/base.rb', line 59 def initialize_dup(other) @attributes = other.attributes.dup reset_incremented_fields! end |