Sha256: 04894d33d684895daa80f04af9b3e605ac35aa8141c6d4a06b4fe46e6b219ce4
Contents?: true
Size: 834 Bytes
Versions: 3
Compression:
Stored size: 834 Bytes
Contents
# encoding: utf-8 module Dynamoid #:nodoc: # This is the base module for all domain objects that need to be persisted to # the database as documents. module Document extend ActiveSupport::Concern include Dynamoid::Components attr_accessor :new_record alias :persisted? :new_record alias :new_record? :new_record def initialize(attrs = {}) @new_record = true @attributes ||= {} self.class.attributes.each {|att| write_attribute(att, attrs[att])} end def ==(other) other.respond_to?(:id) && other.id == self.id end module ClassMethods def create(attrs = {}) obj = self.new(attrs) obj.save && obj.new_record = false obj end def build(attrs = {}) self.new(attrs) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dynamoid-0.0.6 | lib/dynamoid/document.rb |
dynamoid-0.0.5 | lib/dynamoid/document.rb |
dynamoid-0.0.4 | lib/dynamoid/document.rb |