class Aldous::ViewBuilder

Attributes

default_view_data[R]
view_context[R]

Public Class Methods

new(view_context, default_view_data) click to toggle source
# File lib/aldous/view_builder.rb, line 7
def initialize(view_context, default_view_data)
  @view_context = view_context
  @default_view_data = default_view_data
end

Public Instance Methods

build(respondable_class, extra_view_data = {}, status = nil) click to toggle source
# File lib/aldous/view_builder.rb, line 12
def build(respondable_class, extra_view_data = {}, status = nil)
  actual_status = status || extra_view_data[:status]
  extra_view_data_no_status = extra_view_data.reject{|k, v| k == :status}
  actual_extra_view_data = default_view_data.merge(extra_view_data_no_status)
  view_data_dto = Aldous::SimpleDto.new(actual_extra_view_data)

  respondable_class.new(actual_status, view_data_dto, view_context)
end