Sha256: cc8a9aa4083f6ec0243ec5479440d9a4c6a4413af350cf07b560fe9669d02411

Contents?: true

Size: 484 Bytes

Versions: 2

Compression:

Stored size: 484 Bytes

Contents

require 'active_support/concern'

module MemoryModel::Base::Collectable
  extend ActiveSupport::Concern
  extend ConcernedInheritance

  inherited do
    instance_variable_set :@collection, baseclass.collection
  end

  module ClassMethods
    delegate :all, :find, :insert, :<<, :deleted, to: :collection
    delegate :first, :last, to: :all

    def collection
      return nil if self == MemoryModel::Base
      @collection ||= MemoryModel::Collection.new(self)
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
memory_model-0.0.2 lib/memory_model/base/collectable.rb
memory_model-0.0.1 lib/memory_model/base/collectable.rb