Class: Aldous::Respondable::Base
- Inherits:
-
Object
- Object
- Aldous::Respondable::Base
- Defined in:
- lib/aldous/respondable/base.rb
Direct Known Subclasses
Headable, Redirectable, Renderable, RequestHttpBasicAuthentication, SendData
Instance Attribute Summary collapse
-
#view_context ⇒ Object
readonly
Returns the value of attribute view_context.
-
#view_data ⇒ Object
readonly
Returns the value of attribute view_data.
Instance Method Summary collapse
- #action(controller) ⇒ Object
- #build_view(klass, extra_data = {}) ⇒ Object
- #default_status ⇒ Object
-
#initialize(status, view_data, view_context) ⇒ Base
constructor
A new instance of Base.
- #status ⇒ Object
Constructor Details
#initialize(status, view_data, view_context) ⇒ Base
Returns a new instance of Base.
8 9 10 11 12 |
# File 'lib/aldous/respondable/base.rb', line 8 def initialize(status, view_data, view_context) @status = status @view_data = view_data @view_context = view_context end |
Instance Attribute Details
#view_context ⇒ Object (readonly)
Returns the value of attribute view_context.
6 7 8 |
# File 'lib/aldous/respondable/base.rb', line 6 def view_context @view_context end |
#view_data ⇒ Object (readonly)
Returns the value of attribute view_data.
6 7 8 |
# File 'lib/aldous/respondable/base.rb', line 6 def view_data @view_data end |
Instance Method Details
#action(controller) ⇒ Object
14 15 16 |
# File 'lib/aldous/respondable/base.rb', line 14 def action(controller) raise Errors::UserError.new("Respondables must define an 'action' method") end |
#build_view(klass, extra_data = {}) ⇒ Object
26 27 28 29 |
# File 'lib/aldous/respondable/base.rb', line 26 def build_view(klass, extra_data = {}) dto = Aldous::SimpleDto.new(view_data._data.merge(extra_data)) klass.new(status, dto, view_context) end |
#default_status ⇒ Object
22 23 24 |
# File 'lib/aldous/respondable/base.rb', line 22 def default_status :ok end |
#status ⇒ Object
18 19 20 |
# File 'lib/aldous/respondable/base.rb', line 18 def status @status || default_status end |