Sha256: 40aa7566eac22d9b3a2d787a6d03d5153bd3e7beae917649e55ddcb1578ada21

Contents?: true

Size: 1.09 KB

Versions: 11

Compression:

Stored size: 1.09 KB

Contents

module ActiveScaffold::DataStructures::Association
  class ActiveMongoid < Mongoid
    def self.reflect_on_all_associations(klass)
      return [] unless klass.respond_to? :am_relations
      klass.am_relations.values
    end

    def primary_key
      @association[:primary_key]
    end

    def counter_cache
      @association[:counter_cache]
    end

    def inverse_klass
      as ? @association[:inverse_class_name].constantize : super
    end

    def allow_join?
      false
    end

    def belongs_to?
      %i[belongs_to_record belongs_to_document].include?(@association.macro)
    end

    def has_one? # rubocop:disable Naming/PredicateName
      %i[has_one_record has_one_document].include?(@association.macro)
    end

    def has_many? # rubocop:disable Naming/PredicateName
      %i[has_many_records has_many_documents].include?(@association.macro)
    end

    def table_name
      @association.klass < ActiveRecord::Base ? @association.klass.table_name : super
    end

    protected

    def reflect_on_association(name)
      @association.klass.reflect_on_am_association(name)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
active_scaffold-3.7.12 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.11.1 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.11 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.10 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.8 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.7 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.6 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.5 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.2 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.1 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.7.0 lib/active_scaffold/data_structures/association/active_mongoid.rb