Class: Rdux::Action

Inherits:
ApplicationRecord
  • Object
show all
Includes:
Actionable
Defined in:
app/models/rdux/action.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#up_payload_unsanitizedObject

Returns the value of attribute up_payload_unsanitized.



7
8
9
# File 'app/models/rdux/action.rb', line 7

def up_payload_unsanitized
  @up_payload_unsanitized
end

Instance Method Details

#call(opts = {}) ⇒ Object



18
19
20
# File 'app/models/rdux/action.rb', line 18

def call(opts = {})
  perform_action(:call, up_payload_unsanitized || up_payload, opts)
end

#downObject



29
30
31
32
33
34
35
36
# File 'app/models/rdux/action.rb', line 29

def down
  return false unless down_at.nil?
  return false unless can_down?

  res = perform_action(:down, down_payload, build_opts)
  update(down_at: Time.current)
  res
end

#to_failed_actionObject



38
39
40
# File 'app/models/rdux/action.rb', line 38

def to_failed_action
  FailedAction.new(attributes.except('down_payload', 'down_at', 'rdux_action_id'))
end

#up(opts = {}) ⇒ Object



22
23
24
25
26
27
# File 'app/models/rdux/action.rb', line 22

def up(opts = {})
  return false if up_payload_sanitized && up_payload_unsanitized.nil?
  return false unless down_at.nil?

  perform_action(:up, up_payload_unsanitized || up_payload, opts)
end