Sha256: 81e56b75b12a747486dc013158209673c4b70457e4882b4e4fb7c013fb08df18

Contents?: true

Size: 671 Bytes

Versions: 4

Compression:

Stored size: 671 Bytes

Contents

# frozen_string_literal: true

module Hanami
  module Providers
    # @api private
    # @since 2.2.0
    class Relations < Hanami::Provider::Source
      def start
        start_and_import_parent_relations and return if slice.parent && slice.config.db.import_from_parent

        slice.start :db

        register_relations target["db.rom"]
      end

      private

      def register_relations(rom)
        rom.relations.each do |name, _|
          register name, rom.relations[name]
        end
      end

      def start_and_import_parent_relations
        slice.parent.start :relations

        register_relations slice.parent["db.rom"]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hanami-2.2.1 lib/hanami/providers/relations.rb
hanami-2.2.0 lib/hanami/providers/relations.rb
hanami-2.2.0.rc1 lib/hanami/providers/relations.rb
hanami-2.2.0.beta2 lib/hanami/providers/relations.rb