Module: Rdux
- Defined in:
- lib/rdux.rb,
lib/rdux/engine.rb,
lib/rdux/result.rb,
lib/rdux/version.rb,
lib/rdux/sanitize.rb,
app/models/rdux/action.rb,
app/models/rdux/actionable.rb,
app/models/rdux/failed_action.rb
Defined Under Namespace
Modules: Actionable, Sanitize Classes: Action, Engine, FailedAction, Result
Constant Summary collapse
- VERSION =
'0.9.0'
Class Method Summary collapse
- .dispatch(action_name, payload, opts = {}, meta: nil) ⇒ Object (also: perform)
Class Method Details
.dispatch(action_name, payload, opts = {}, meta: nil) ⇒ Object Also known as: perform
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/rdux.rb', line 10 def dispatch(action_name, payload, opts = {}, meta: nil) (opts[:ars] || {}).each { |k, v| payload["#{k}_id"] = v.id } action = Action.new(name: action_name, up_payload: payload, meta:) sanitize(action) action.save! res = call_call_or_up_on_action(action, opts) assign_and_persist(res, action) return res if res.ok == false res.after_save&.call(res.action) res end |