Class: Vagrant::Action::Builtin::BeforeTriggerAction

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant/action/builtin/before_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) ⇒ BeforeTriggerAction

Returns a new instance of BeforeTriggerAction.

Parameters:

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


9
10
11
12
13
14
# File 'lib/vagrant/action/builtin/before_trigger.rb', line 9

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

Instance Method Details

#call(env) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/vagrant/action/builtin/before_trigger.rb', line 16

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

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

  # Carry on
  @app.call(env)
end