Sha256: 2e34c94a7430d5b3a0dc7dee24f26ca0cb28d11a004ff5bc81c9504b53e21a6b
Contents?: true
Size: 700 Bytes
Versions: 3
Compression:
Stored size: 700 Bytes
Contents
# frozen_string_literal: true require 'rom/support/inflector' module ROM module ConfigurationDSL # Setup DSL-specific relation extensions # # @private class Relation # Generate a relation subclass # # This is used by Setup#relation DSL # # @api private def self.build_class(name, options = EMPTY_HASH) class_name = "ROM::Relation[#{Inflector.camelize(name)}]" adapter = options.fetch(:adapter) Dry::Core::ClassBuilder.new(name: class_name, parent: ROM::Relation[adapter]).call do |klass| klass.gateway(options.fetch(:gateway, :default)) klass.schema(name) {} end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rom-core-5.3.2 | lib/rom/configuration_dsl/relation.rb |
rom-core-5.3.1 | lib/rom/configuration_dsl/relation.rb |
rom-core-5.3.0 | lib/rom/configuration_dsl/relation.rb |