class FactoryBot::Attribute::Dynamic

@api private

def initialize(name, ignored, block)

def initialize(name, ignored, block)
  super(name, ignored)
  @block = block
end

def to_proc

def to_proc
  block = @block
  -> {
    value = case block.arity
    when 1, -1, -2 then instance_exec(self, &block)
    else instance_exec(&block)
    end
    raise SequenceAbuseError if FactoryBot::Sequence === value
    value
  }
end