class Forerunner::ActionData
Constants
- VALID_ACTION_TYPES
Attributes
action_names[R]
action_type[R]
block[R]
options[R]
Public Class Methods
new(action_type:, action_data:, block: nil)
click to toggle source
# File lib/forerunner/action_data.rb, line 7 def initialize(action_type:, action_data:, block: nil) @action_type = action_type @options = action_data.extract_options! @action_names = action_data @block = block validate_action_type! validate_action_names! end
Public Instance Methods
limit_to_action(action)
click to toggle source
# File lib/forerunner/action_data.rb, line 17 def limit_to_action(action) options[:only] = [action] end
params()
click to toggle source
# File lib/forerunner/action_data.rb, line 21 def params action_names + [options] end
Private Instance Methods
validate_action_names!()
click to toggle source
# File lib/forerunner/action_data.rb, line 33 def validate_action_names! return if action_names.present? || block.present? raise MissingActionNameError end
validate_action_type!()
click to toggle source
# File lib/forerunner/action_data.rb, line 27 def validate_action_type! return if VALID_ACTION_TYPES.include?(action_type) raise InvalidActionTypeError, action_type end