Sha256: ee43a99518808b702bf611568511927961cbbd21145f0fe0842969f4483f5fb6

Contents?: true

Size: 843 Bytes

Versions: 8

Compression:

Stored size: 843 Bytes

Contents

require 'vagrant/errors'

module Berkshelf
  # @author Jamie Winsor <jamie@vialstudios.com>
  #
  # A wrapper for a BerkshelfError for Vagrant. All Berkshelf exceptions should be
  # wrapped in this proxy object so they are properly handled when Vagrant encounters
  # an exception.
  #
  # @example wrapping an error encountered within the Vagrant plugin
  #   rescue BerkshelfError => e
  #     VagrantWrapperError.new(e)
  #   end
  class VagrantWrapperError < ::Vagrant::Errors::VagrantError
    # @param [BerkshelfError]
    attr_reader :original

    # @param [BerkshelfError] original
    def initialize(original)
      @original = original
    end

    def to_s
      "#{original.class}: #{original.to_s}"
    end

    private

      def method_missing(fun, *args, &block)
        original.send(fun, *args, &block)
      end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
vagrant-berkshelf-2.0.0.rc2 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-2.0.0.rc1 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.3.7 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.3.6 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.3.5 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.4.0.dev1 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.3.4 lib/berkshelf/vagrant/errors.rb
vagrant-berkshelf-1.3.3 lib/berkshelf/vagrant/errors.rb