Module: Apes::Concerns::Response
- Included in:
- Apes::Controller
- Defined in:
- lib/apes/concerns/response.rb
Overview
JSON API response handling module.
Instance Attribute Summary collapse
-
#included ⇒ Object
Returns the value of attribute included.
Instance Method Summary collapse
-
#response_data(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the data for the current response.
-
#response_include(object, template = nil) ⇒ HashWithIndifferentAccess
Adds an object to the included (side-load) set.
-
#response_included(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the included (side-loaded) objects for the current response.
-
#response_links(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the linked objects for the current response.
-
#response_meta(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the metadata for the current response.
-
#response_template_for(object) ⇒ String
Returns the template to use to render a object.
-
#response_timestamp(timestamp) ⇒ String
Serializes a timestamp.
Instance Attribute Details
#included ⇒ Object
Returns the value of attribute included.
10 11 12 |
# File 'lib/apes/concerns/response.rb', line 10 def included @included end |
Instance Method Details
#response_data(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the data for the current response.
34 35 36 |
# File 'lib/apes/concerns/response.rb', line 34 def response_data(default = nil) @data || default || HashWithIndifferentAccess.new end |
#response_include(object, template = nil) ⇒ HashWithIndifferentAccess
Adds an object to the included (side-load) set.
59 60 61 62 63 |
# File 'lib/apes/concerns/response.rb', line 59 def response_include(object, template = nil) controller.included ||= HashWithIndifferentAccess.new controller.included[sprintf("%s:%s", response_template_for(object), object.to_param)] = [object, template] controller.included end |
#response_included(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the included (side-loaded) objects for the current response.
50 51 52 |
# File 'lib/apes/concerns/response.rb', line 50 def response_included(default = nil) controller.included || default || HashWithIndifferentAccess.new end |
#response_links(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the linked objects for the current response.
42 43 44 |
# File 'lib/apes/concerns/response.rb', line 42 def response_links(default = nil) @links || default || HashWithIndifferentAccess.new end |
#response_meta(default = nil) ⇒ HashWithIndifferentAccess|Object|Nil
Returns the metadata for the current response.
26 27 28 |
# File 'lib/apes/concerns/response.rb', line 26 def (default = nil) || default || HashWithIndifferentAccess.new end |
#response_template_for(object) ⇒ String
Returns the template to use to render a object.
16 17 18 19 20 |
# File 'lib/apes/concerns/response.rb', line 16 def response_template_for(object) return @object_template if @object_template object = object.first if object.respond_to?(:first) object.class.name.underscore.gsub("/", "_") end |
#response_timestamp(timestamp) ⇒ String
Serializes a timestamp.
69 70 71 |
# File 'lib/apes/concerns/response.rb', line 69 def () .safe_send(:strftime, "%FT%T.%L%z") end |