Class: Aldous::Respondable::Base

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status, view_data, view_context, view_builder = nil) ⇒ Base

Returns a new instance of Base.



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

def initialize(status, view_data, view_context, view_builder = nil)
  @status = status
  @view_data = view_data
  @view_context = view_context
  @view_builder = view_builder
end

Instance Attribute Details

#view_contextObject (readonly)

Returns the value of attribute view_context.



7
8
9
# File 'lib/aldous/respondable/base.rb', line 7

def view_context
  @view_context
end

#view_dataObject (readonly)

Returns the value of attribute view_data.



7
8
9
# File 'lib/aldous/respondable/base.rb', line 7

def view_data
  @view_data
end

Instance Method Details

#action(controller) ⇒ Object

Raises:



16
17
18
# File 'lib/aldous/respondable/base.rb', line 16

def action(controller)
  raise Errors::UserError.new("Respondables must define an 'action' method")
end

#build_view(respondable_class, extra_data = {}) ⇒ Object

NOTE deprecated



35
36
37
# File 'lib/aldous/respondable/base.rb', line 35

def build_view(respondable_class, extra_data = {}) # deprecated
  view_builder.build(respondable_class, extra_data)
end

#default_statusObject



24
25
26
# File 'lib/aldous/respondable/base.rb', line 24

def default_status
  :ok
end

#statusObject



20
21
22
# File 'lib/aldous/respondable/base.rb', line 20

def status
  @status || default_status
end

#view_builderObject



28
29
30
# File 'lib/aldous/respondable/base.rb', line 28

def view_builder
  @view_builder ||= ViewBuilder.new(view_context, view_data._data)
end