class ROM::Factory::Attributes::Callable

@api private

Attributes

block[R]
dsl[R]
name[R]

Public Class Methods

new(name, dsl, block) click to toggle source

@api private

# File lib/rom/factory/attributes/callable.rb, line 10
def initialize(name, dsl, block)
  @name = name
  @dsl = dsl
  @block = block
end

Public Instance Methods

call(attrs, *args) click to toggle source

@api private

# File lib/rom/factory/attributes/callable.rb, line 17
def call(attrs, *args)
  result = attrs[name] || dsl.instance_exec(*args, &block)
  { name => result }
end
dependency_names() click to toggle source

@api private

# File lib/rom/factory/attributes/callable.rb, line 28
def dependency_names
  block.parameters.map(&:last)
end
value?() click to toggle source

@api private

# File lib/rom/factory/attributes/callable.rb, line 23
def value?
  true
end