Sha256: e2ae9add75ed1a43d3bd85460c23dce540e303384ecf4982a8090d1dfe315aba

Contents?: true

Size: 788 Bytes

Versions: 4

Compression:

Stored size: 788 Bytes

Contents

require 'vagrant/errors'

module Berkshelf
  # 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

4 entries across 4 versions & 1 rubygems

Version Path
berkshelf-1.2.1 lib/berkshelf/vagrant/errors.rb
berkshelf-1.2.0.rc1 lib/berkshelf/vagrant/errors.rb
berkshelf-1.1.6 lib/berkshelf/vagrant/errors.rb
berkshelf-1.1.5 lib/berkshelf/vagrant/errors.rb