Sha256: 5cb75562e301adc048db8c7cf03370ca69ca1bdbb111ad02e5f468dfc5972e01

Contents?: true

Size: 851 Bytes

Versions: 14

Compression:

Stored size: 851 Bytes

Contents

require_relative '../data'

module Vagrant
  module Notify
    module Action
      class PrepareData
        def initialize(app, env)
          @app    = app
          @logger = Log4r::Logger.new("vagrant::notify::action::prepare_data")
        end

        def call(env)
          @env      = env
          @data_dir = @env[:machine].data_dir.join('vagrant-notify')

          ensure_dir_exists
          assign_data_object

          @app.call env
        end

        private

        def ensure_dir_exists
          return if @data_dir.directory?

          @logger.debug 'Creating data directory'
          @data_dir.mkdir
        end

        def assign_data_object
          return if @env[:notify_data]

          @logger.debug 'Assigning data object'
          @env[:notify_data] = Data.new(@data_dir)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
vagrant-notify-0.6.1 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.6.0 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.6 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.5 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.4 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.3 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.2 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.1 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.5.0 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.4.0 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.3.0 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.2.2 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.2.1 lib/vagrant-notify/action/prepare_data.rb
vagrant-notify-0.2.0 lib/vagrant-notify/action/prepare_data.rb