Sha256: 220c781d6936d711343be5d658788fa6aee39e7b7d299c383fd18c2b54c0f35b

Contents?: true

Size: 877 Bytes

Versions: 7

Compression:

Stored size: 877 Bytes

Contents

module ActiveScaffold::DataStructures::Association
  class Mongoid < Abstract
    delegate :inverse_klass, :as, :dependent, :inverse, to: :@association
    def collection?
      %i[has_many has_and_belongs_to_many].include?(@association.macro)
    end

    # polymorphic belongs_to
    def polymorphic?
      belongs_to? && @association.polymorphic?
    end

    def primary_key
      @association[:primary_key]
    end

    def association_primary_key
      @association.primary_key
    end

    def foreign_type
      @association.type
    end

    def counter_cache
      @association[:counter_cache]
    end

    def table_name
      @association.klass.collection.name
    end

    def quoted_table_name
      table_name
    end

    def quoted_primary_key
      '_id'
    end

    def self.reflect_on_all_associations(klass)
      klass.relations.values
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
active_scaffold-3.5.5 lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.6.0.pre lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.5.4 lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.5.3 lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.5.2 lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.5.1 lib/active_scaffold/data_structures/association/mongoid.rb
active_scaffold-3.5.0 lib/active_scaffold/data_structures/association/mongoid.rb