Class: JsendWrapper::RenderOption
- Inherits:
-
Object
- Object
- JsendWrapper::RenderOption
- Defined in:
- lib/jsend_wrapper/rails/render_option.rb
Overview
Parses the “render jsend: …” command. Valid forms:
Constant Summary collapse
- VALID_TYPES =
[:success, :fail, :error]
- VALID_OPTIONS =
[:data, :code, :message]
- VALID_KEYS =
VALID_TYPES + VALID_OPTIONS
Instance Method Summary collapse
-
#initialize(obj) ⇒ RenderOption
constructor
render jsend: @object render jsend: @object render jsend: @object render jsend: @object render jsend: @object, code: 123 render jsend: @object, data: @another_object render jsend: @object, code: 123, data: @another_object.
-
#render ⇒ String
A string containing the rendered JSON.
-
#renderer ⇒ Renderer
One of SuccessRenderer, FailRenderer, or ErrorRenderer.
Constructor Details
#initialize(obj) ⇒ RenderOption
render jsend: @object render jsend: @object render jsend: @object render jsend: @object render jsend: @object, code: 123 render jsend: @object, data: @another_object render jsend: @object, code: 123, data: @another_object
34 35 36 |
# File 'lib/jsend_wrapper/rails/render_option.rb', line 34 def initialize(obj) @hash = normalize obj end |
Instance Method Details
#render ⇒ String
Returns A string containing the rendered JSON.
40 41 42 |
# File 'lib/jsend_wrapper/rails/render_option.rb', line 40 def render renderer.to_s end |
#renderer ⇒ Renderer
Returns One of SuccessRenderer, FailRenderer, or ErrorRenderer.
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/jsend_wrapper/rails/render_option.rb', line 47 def renderer @renderer ||= if @hash.key? :success SuccessRenderer.new @hash[:success] elsif @hash.key? :fail FailRenderer.new @hash[:fail] elsif @hash.key? :error ErrorRenderer.new @hash[:error], @hash.slice(:code, :data) else raise 'render jsend:{...} must include "success:", "fail:", or "error:"' end end |