Sha256: ccaf187e1f14a67cd6aa5fe7a7f5605d29538f4ae7ee37c110a787abb6b9b5b3
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
require 'active_data/model/collectionizable' require 'active_data/model/attributable' require 'active_data/model/extensions' module ActiveData module Model extend ActiveSupport::Concern included do include ActiveModel::Conversion include ActiveModel::Dirty include ActiveModel::Validations include ActiveModel::MassAssignmentSecurity include ActiveModel::Serialization include ActiveModel::Serializers::JSON include ActiveModel::Serializers::Xml include Attributable include Collectionizable extend ActiveModel::Callbacks extend ActiveModel::Naming extend ActiveModel::Translation self.include_root_in_json = false def initialize attributes = {} @attributes = self.class.initialize_attributes @new_record = true assign_attributes attributes end def self.i18n_scope :active_data end end module ClassMethods def instantiate attributes = nil attributes ||= {} return attributes if attributes.instance_of? self instance = allocate instance.instance_variable_set(:@attributes, initialize_attributes) instance.instance_variable_set(:@new_record, false) instance.attributes = attributes instance end end def errors @errors ||= ActiveModel::Errors.new(self) end def persisted? !@new_record end def == other other.instance_of?(self.class) && other.attributes == attributes end def assign_attributes(attributes, options = {}) super(sanitize_for_mass_assignment((attributes.presence || {}), options[:as])) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_data-0.0.1 | lib/active_data/model.rb |