Class: Houston::Actions::Action
- Inherits:
-
Struct
- Object
- Struct
- Houston::Actions::Action
- Defined in:
- lib/houston/boot/actions.rb
Instance Method Summary collapse
- #assert_required_params!(params) ⇒ Object
- #execute(params) ⇒ Object
-
#initialize(name, required_params, block) ⇒ Action
constructor
A new instance of Action.
Constructor Details
#initialize(name, required_params, block) ⇒ Action
Returns a new instance of Action.
93 94 95 |
# File 'lib/houston/boot/actions.rb', line 93 def initialize(name, required_params, block) super name, required_params.map(&:to_s), block end |
Instance Method Details
#assert_required_params!(params) ⇒ Object
97 98 99 100 |
# File 'lib/houston/boot/actions.rb', line 97 def assert_required_params!(params) missing_params = required_params - params raise Houston::Observer::MissingParamError, "#{missing_params.first.inspect} is a required param of the action #{name.inspect}" if missing_params.any? end |
#execute(params) ⇒ Object
102 103 104 105 |
# File 'lib/houston/boot/actions.rb', line 102 def execute(params) assert_required_params! params.keys.map(&:to_s) ExecutionContext.new(params).instance_eval(&block) end |