Sha256: 44b93de7cff0910f35844667b8a096756e14d97d2df3b1fdeeb545bcb4c8332a
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
require "concerned_inheritance" require 'active_support/core_ext/object' require 'active_support/core_ext/hash' require 'active_support/dependencies/autoload' require 'active_support/core_ext/hash/indifferent_access' require 'active_model' class MemoryModel::Base extend ActiveSupport::Autoload extend ConcernedInheritance autoload :Fieldable autoload :Collectable autoload :Comparable autoload :Actionable autoload :Attributable autoload :Versionable autoload :Persistence # Active Model Additions extend ActiveModel::Callbacks extend ActiveModel::Naming extend ActiveModel::Translation include ActiveModel::Conversion include ActiveModel::MassAssignmentSecurity include ActiveModel::Observing include ActiveModel::Serialization include ActiveModel::Validations # Memory Model Additions include Fieldable include Collectable include Comparable include Actionable include Attributable include Versionable include Persistence # Active Model Callbacks define_model_callbacks :initialize, only: [:after] def initialize(attributes={ }) unless self.class.collection.is_a? MemoryModel::Collection raise MemoryModel::InvalidCollectionError, "#{self.class} does not have an assigned collection" end @attributes = fields.default_values(self, attributes).with_indifferent_access @deleted = false run_callbacks :initialize end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
memory_model-0.0.2 | lib/memory_model/base.rb |
memory_model-0.0.1 | lib/memory_model/base.rb |