Class: Aldous::BuildRespondableService

Inherits:
Object
  • Object
show all
Defined in:
lib/aldous/build_respondable_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(view_context:, default_view_data:, respondable_class:, status: nil, extra_data: {}) ⇒ BuildRespondableService

Returns a new instance of BuildRespondableService.



8
9
10
11
12
13
14
# File 'lib/aldous/build_respondable_service.rb', line 8

def initialize(view_context:, default_view_data:, respondable_class:, status: nil, extra_data: {})
  @view_context = view_context
  @default_view_data = default_view_data
  @respondable_class = respondable_class
  @status = status
  @extra_data = extra_data
end

Instance Attribute Details

#default_view_dataObject (readonly)

Returns the value of attribute default_view_data.



5
6
7
# File 'lib/aldous/build_respondable_service.rb', line 5

def default_view_data
  @default_view_data
end

#extra_dataObject (readonly)

Returns the value of attribute extra_data.



6
7
8
# File 'lib/aldous/build_respondable_service.rb', line 6

def extra_data
  @extra_data
end

#respondable_classObject (readonly)

Returns the value of attribute respondable_class.



6
7
8
# File 'lib/aldous/build_respondable_service.rb', line 6

def respondable_class
  @respondable_class
end

#statusObject (readonly)

Returns the value of attribute status.



6
7
8
# File 'lib/aldous/build_respondable_service.rb', line 6

def status
  @status
end

#view_contextObject (readonly)

Returns the value of attribute view_context.



5
6
7
# File 'lib/aldous/build_respondable_service.rb', line 5

def view_context
  @view_context
end

Instance Method Details

#performObject



16
17
18
19
20
21
# File 'lib/aldous/build_respondable_service.rb', line 16

def perform
  # we don't need the status as a local
  actual_extra_data = extra_data.reject{|k, v| k == :status}
  view_data = SimpleDto.new(default_view_data.merge(actual_extra_data))
  respondable_class.new(status, view_data, view_context)
end