Module: ActionParamsContract::RequestContext
- Defined in:
- lib/action_params_contract/request_context.rb
Constant Summary collapse
- ACTION_KEY =
:dry_params_validatable_action- CONTROLLER_KEY =
:dry_params_validatable_controller- ROOT_KEY =
:dry_params_validatable_root- STACK_KEY =
:dry_params_validatable_stack
Class Method Summary collapse
- .around(controller) ⇒ Object
- .current_action ⇒ Object
- .current_controller ⇒ Object
- .current_root ⇒ Object
- .current_root=(key) ⇒ Object
- .pop ⇒ Object
- .push(controller) ⇒ Object
- .store ⇒ Object
- .with_simulated(action) ⇒ Object
Class Method Details
.around(controller) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/action_params_contract/request_context.rb', line 39 def around(controller) push(controller) yield ensure pop end |
.current_action ⇒ Object
13 |
# File 'lib/action_params_contract/request_context.rb', line 13 def current_action = store[ACTION_KEY] |
.current_controller ⇒ Object
14 |
# File 'lib/action_params_contract/request_context.rb', line 14 def current_controller = store[CONTROLLER_KEY] |
.current_root ⇒ Object
15 |
# File 'lib/action_params_contract/request_context.rb', line 15 def current_root = store[ROOT_KEY] |
.current_root=(key) ⇒ Object
17 18 19 |
# File 'lib/action_params_contract/request_context.rb', line 17 def current_root=(key) store[ROOT_KEY] = key end |
.pop ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/action_params_contract/request_context.rb', line 25 def pop stack = store[STACK_KEY] if stack.nil? || stack.empty? store[ACTION_KEY] = nil store[CONTROLLER_KEY] = nil store[ROOT_KEY] = nil else prev_action, prev_controller, prev_root = stack.pop store[ACTION_KEY] = prev_action store[CONTROLLER_KEY] = prev_controller store[ROOT_KEY] = prev_root end end |
.push(controller) ⇒ Object
21 22 23 |
# File 'lib/action_params_contract/request_context.rb', line 21 def push(controller) push_frame(controller.action_name.to_sym, controller) end |
.store ⇒ Object
11 |
# File 'lib/action_params_contract/request_context.rb', line 11 def store = ActiveSupport::IsolatedExecutionState |
.with_simulated(action) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/action_params_contract/request_context.rb', line 46 def with_simulated(action) push_frame(action.to_sym, nil) yield ensure pop end |