class Rack::Builder
def self.new_from_string(builder_script, path = "(rackup)", **options)
Evaluate the given +builder_script+ string in the context of
def self.new_from_string(builder_script, path = "(rackup)", **options) builder = self.new(**options) # We want to build a variant of TOPLEVEL_BINDING with self as a Rack::Builder instance. # We cannot use instance_eval(String) as that would resolve constants differently. binding = BUILDER_TOPLEVEL_BINDING.call(builder) eval(builder_script, binding, path) return builder.to_app end