class Dry::View::RenderEnvironment

@api private

Attributes

context[R]
inflector[R]
part_builder[R]
renderer[R]
scope_builder[R]

Public Class Methods

new(renderer:, inflector:, context:, scope_builder:, part_builder:) click to toggle source
# File lib/dry/view/render_environment.rb, line 23
def initialize(renderer:, inflector:, context:, scope_builder:, part_builder:)
  @renderer = renderer
  @inflector = inflector
  @context = context.for_render_env(self)
  @scope_builder = scope_builder.for_render_env(self)
  @part_builder = part_builder.for_render_env(self)
end
prepare(renderer, config, context) click to toggle source
# File lib/dry/view/render_environment.rb, line 9
def self.prepare(renderer, config, context)
  new(
    renderer: renderer,
    inflector: config.inflector,
    context: context,
    scope_builder: config.scope_builder.new(namespace: config.scope_namespace),
    part_builder: config.part_builder.new(namespace: config.part_namespace)
  )
end

Public Instance Methods

chdir(dirname) click to toggle source
# File lib/dry/view/render_environment.rb, line 51
def chdir(dirname)
  self.class.new(
    renderer: renderer.chdir(dirname),
    inflector: inflector,
    context: context,
    scope_builder: scope_builder,
    part_builder: part_builder
  )
end
format() click to toggle source
# File lib/dry/view/render_environment.rb, line 31
def format
  renderer.format
end
part(name, value, **options) click to toggle source
# File lib/dry/view/render_environment.rb, line 35
def part(name, value, **options)
  part_builder.(name, value, **options)
end
partial(name, scope, &block) click to toggle source
# File lib/dry/view/render_environment.rb, line 47
def partial(name, scope, &block)
  renderer.partial(name, scope, &block)
end
scope(name = nil, locals) click to toggle source
# File lib/dry/view/render_environment.rb, line 39
def scope(name = nil, locals) # rubocop:disable Style/OptionalArguments
  scope_builder.(name, locals)
end
template(name, scope, &block) click to toggle source
# File lib/dry/view/render_environment.rb, line 43
def template(name, scope, &block)
  renderer.template(name, scope, &block)
end