Class: Vagrant::Action::Builtin::AfterTriggerAction

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant/action/builtin/after_trigger.rb

Overview

This class is intended to be used by the Action::Warden class for executing action triggers before any given action.

Instance Method Summary collapse

Constructor Details

#initialize(app, env, action_name, triggers) ⇒ AfterTriggerAction

Returns a new instance of AfterTriggerAction.

Parameters:

  • action_name (Symbol)
    • The action class name to fire trigger on
  • triggers (Vagrant::Plugin::V2::Triger)
    • trigger object


12
13
14
15
16
17
# File 'lib/vagrant/action/builtin/after_trigger.rb', line 12

def initialize(app, env, action_name, triggers)
  @app         = app
  @env         = env
  @triggers    = triggers
  @action_name = action_name
end

Instance Method Details

#call(env) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/vagrant/action/builtin/after_trigger.rb', line 19

def call(env)
  machine = env[:machine]
  machine_name = machine.name if machine

  @triggers.fire_triggers(@action_name, :after, machine_name, :action) if Vagrant::Util::Experimental.feature_enabled?("typed_triggers");

  # Carry on
  @app.call(env)
end