Class: Betterdocs::Dsl::Controller::Action::Response
- Inherits:
-
Object
- Object
- Betterdocs::Dsl::Controller::Action::Response
show all
- Extended by:
- Tins::DSLAccessor
- Includes:
- Betterdocs::Dsl::Common
- Defined in:
- lib/betterdocs/dsl/controller/action/response.rb
Instance Method Summary
collapse
#set_context
Constructor Details
#initialize(name = :default, &block) ⇒ Response
Returns a new instance of Response.
5
6
7
8
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 5
def initialize(name = :default, &block)
@name = name.to_sym
@data_block = block || proc {}
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Betterdocs::Dsl::Common
Instance Method Details
#data ⇒ Object
16
17
18
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 16
def data
@data ||= instance_eval(&@data_block)
end
|
#links ⇒ Object
24
25
26
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 24
def links
representer.full? { |r| r.docs.nested_links } || []
end
|
#params ⇒ Object
12
13
14
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 12
def params
-> name { param(name).full?(:value) }
end
|
#properties ⇒ Object
20
21
22
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 20
def properties
representer.full? { |r| r.docs.nested_properties } || []
end
|
#representer ⇒ Object
28
29
30
31
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 28
def representer
data or return
data.ask_and_send(:representer) || inherited_representer(data)
end
|
#to_json(*a) ⇒ Object
40
41
42
43
|
# File 'lib/betterdocs/dsl/controller/action/response.rb', line 40
def to_json(*a)
my_data = data.ask_and_send(:to_hash) || data
my_data.to_json(*a)
end
|