Sha256: c777b05ed49ffbbc40a3d4fb2930411e5a9867fb5492bf11acd3622a2c647e58

Contents?: true

Size: 988 Bytes

Versions: 22

Compression:

Stored size: 988 Bytes

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 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

22 entries across 22 versions & 1 rubygems

Version Path
active_scaffold-3.6.20 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.19 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.17 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.15 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.14 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.13 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.12 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.11.1 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.11 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.10 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.9 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.8 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.6 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.5 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.4.1 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.4 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.3 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.2 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.1 lib/active_scaffold/data_structures/association/active_mongoid.rb
active_scaffold-3.6.0 lib/active_scaffold/data_structures/association/active_mongoid.rb