class Grape::API::Instance

def evaluate_as_instance_with_configuration(block, lazy: false)

def evaluate_as_instance_with_configuration(block, lazy: false)
  lazy_block = Grape::Util::Lazy::Block.new do |configuration|
    value_for_configuration = configuration
    self.configuration = value_for_configuration.evaluate if value_for_configuration.respond_to?(:lazy?) && value_for_configuration.lazy?
    response = instance_eval(&block)
    self.configuration = value_for_configuration
    response
  end
  if base && base_instance? && lazy
    lazy_block
  else
    lazy_block.evaluate_from(configuration)
  end
end