Sha256: cef4343377d0df078c0aae6c2aa82eb3fd4a94a0f79d8610ae248448bd4593bb

Contents?: true

Size: 743 Bytes

Versions: 2

Compression:

Stored size: 743 Bytes

Contents

# frozen_string_literal: true

require "clowne/adapters/sequel/associations/base"
require "clowne/adapters/sequel/associations/noop"
require "clowne/adapters/sequel/associations/one_to_one"
require "clowne/adapters/sequel/associations/one_to_many"
require "clowne/adapters/sequel/associations/many_to_many"

module Clowne
  module Adapters # :nodoc: all
    class Sequel
      module Associations
        SEQUEL_2_CLONER = {
          one_to_one: OneToOne,
          one_to_many: OneToMany,
          many_to_many: ManyToMany,
        }.freeze

        # Returns an association cloner class for reflection
        def self.cloner_for(reflection)
          SEQUEL_2_CLONER.fetch(reflection[:type], Noop)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clowne-1.3.0 lib/clowne/adapters/sequel/associations.rb
clowne-1.2.0 lib/clowne/adapters/sequel/associations.rb