Module: Despecable::ActionController
- Defined in:
- lib/despecable/action_controller.rb
Instance Method Summary collapse
- #despec(*args, strict: false, &blk) ⇒ Object
- #despec!(*args, strict: false, &blk) ⇒ Object
-
#despecable_me(params = {}) ⇒ Object
A cached instance of Despecable::Me will keep track of all despec calls in a given request / action.
Instance Method Details
#despec(*args, strict: false, &blk) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'lib/despecable/action_controller.rb', line 3 def despec(*args, strict: false, &blk) output_params = params.dup parsed = despecable_me(output_params).doit(*args, &blk) despecable_me.strict(request.query_parameters.keys + request.request_parameters.keys) if strict parsed.each do |key, val| output_params[key] = val end return output_params end |
#despec!(*args, strict: false, &blk) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/despecable/action_controller.rb', line 13 def despec!(*args, strict: false, &blk) parsed = despecable_me(params).doit(*args, &blk) despecable_me.strict(request.query_parameters.keys + request.request_parameters.keys) if strict parsed.each do |key, val| params[key] = val end return params end |
#despecable_me(params = {}) ⇒ Object
A cached instance of Despecable::Me will keep track of all despec calls in a given request / action. This allows despec to be called multiple times (e.g. in before_actions) and keep track of all spec’d params
25 26 27 |
# File 'lib/despecable/action_controller.rb', line 25 def despecable_me(params = {}) @despecable_me ||= Despecable::Me.new(params) end |