Sha256: 5fe73c073316d36ec7a27e8a0ffc83b01aa26e2b54fe1aed9a4c479d73386ae4

Contents?: true

Size: 820 Bytes

Versions: 1

Compression:

Stored size: 820 Bytes

Contents

motion_require 'extensions'
motion_require 'db'

module Yapper::Document
  motion_require 'document/attachment'
  motion_require 'document/callbacks'
  motion_require 'document/persistance'
  motion_require 'document/relation'
  motion_require 'document/selection'

  extend MotionSupport::Concern

  include Persistance
  include Selection
  include Callbacks
  include Relation
  include Attachment

  module ClassMethods
    def db
      Yapper::DB.instance
    end

    def _type
      self.to_s
    end

    def model_name
      self.to_s.downcase
    end
  end

  def _type
    self.class._type
  end

  def db
    self.class.db
  end

  def model_name
    self.class.model_name
  end

  # TODO Add specs
  def ==(other)
    self.id == other.try(:id)
  end
  alias :eql? :==

  def hash
    self.id.hash
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
motion-yapper-0.0.1 lib/yapper/document.rb