Sha256: c4426b5f32b7af8d9fdfd0ac2f01ee9794a4f24859ad5a33ebb15606edd78f83

Contents?: true

Size: 643 Bytes

Versions: 7

Compression:

Stored size: 643 Bytes

Contents

module ActiveMocker
  class SingleRelation

    attr_reader :item

    def initialize(item, child_self:, foreign_key:)
      @item = item
      assign_associations(child_self, item) if item.class <= Base
    end

    def assign_associations(child_self, item)
      [*item.class._find_associations_by_class(child_self.class.send('mocked_class'))].each do |type, relations|
        relations.each do |relation|
          if item.send(relation).class <= Collection
            item.send(relation) << child_self
          else
            item.send(:write_association, relation, child_self)
          end
        end
      end
    end

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
active_mocker-2.1.3 lib/active_mocker/mock/single_relation.rb
active_mocker-2.1.2 lib/active_mocker/mock/single_relation.rb
active_mocker-2.1.1 lib/active_mocker/mock/single_relation.rb
active_mocker-2.1.0 lib/active_mocker/mock/single_relation.rb
active_mocker-2.0.0 lib/active_mocker/mock/single_relation.rb
active_mocker-2.0.0.rc1 lib/active_mocker/mock/single_relation.rb
active_mocker-2.0.0.pre1 lib/active_mocker/mock/single_relation.rb