Sha256: 6a3551e4024c309c535a8272b0503809bb316dcf1219ac5f4969fddecfee9cd6

Contents?: true

Size: 1014 Bytes

Versions: 7

Compression:

Stored size: 1014 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?
      %i[has_one_record has_one_document].include?(@association.macro)
    end

    def has_many?
      %i[has_many_records has_many_documents].include?(@association.macro)
    end

    def collection?
      %i[has_many_documents has_many_records].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

7 entries across 7 versions & 1 rubygems

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