module ROM::Factory

Main ROM::Factory API

@api public

Constants

DEFAULT_NAME
VERSION

Public Class Methods

configure(name = DEFAULT_NAME, &block) click to toggle source

Configure a new factory

@example

MyFactory = ROM::Factory.configure do |config|
  config.rom = my_rom_container
end

@param [Symbol] name An optional factory class name

@return [Class]

@api public

# File lib/rom/factory.rb, line 25
def self.configure(name = DEFAULT_NAME, &block)
  klass = Dry::Core::ClassBuilder.new(name: name, parent: Factories).call do |klass|
    klass.configure(&block)
  end

  klass.new(klass.config.rom)
end
fake(type, *args) click to toggle source

@api private

# File lib/rom/factory/dsl.rb, line 14
def fake(type, *args)
  api = ::Faker.const_get(::Dry::Core::Inflector.classify(type.to_s))

  if args[0].is_a?(Symbol)
    api.public_send(*args)
  else
    api.public_send(type, *args)
  end
end