Sha256: 3fa8f382de321a6e69f0fa54531d80911764d266369c54c790ffd2c567e9fa0d

Contents?: true

Size: 1.83 KB

Versions: 12

Compression:

Stored size: 1.83 KB

Contents

module Warp
  module Dir
    module Errors
      class Runtime < RuntimeError;
      end

      class StoreFormatError < Warp::Dir::Errors::Runtime
        attr_reader :line
        def initialize(msg, line)
          @line = line
          super msg
        end
      end

      class StoreUninitialized < Warp::Dir::Errors::Runtime; end
      class StoreAlreadyInitialized < Warp::Dir::Errors::Runtime; end

      # This is a generic Exception that wraps an object passed to the
      # initializer and assumed to be the reason for the failure.
      # Message is optional, but each concrete exception should provide
      # it's own concrete message
      class InstanceError < Warp::Dir::Errors::Runtime
        attr_accessor :instance
        def initialize(message = nil)
          super message ? message : "#{self.class.name}->[#{instance}]"
        end

        def name
          super.gsub(%r{#{self.class.name}}, '')
        end

        def color_error instance_type, instance, result
          instance_type.red.bold +
            instance.to_s.yellow.bold +
            result.red.bold
        end
      end

      class InvalidCommand < ::Warp::Dir::Errors::InstanceError
        def initialize(instance = nil)
          self.instance = instance
          super instance.is_a?(Symbol) ? color_error('Command ', instance, ' is invalid.') : instance
        end
      end

      class PointNotFound < ::Warp::Dir::Errors::InstanceError
        def initialize(point)
          self.instance = point
          super color_error('Point ', point.to_s, ' was not found.')
        end
      end
      class PointAlreadyExists < ::Warp::Dir::Errors::InstanceError
        def initialize(point)
          self.instance = point
          super color_error('Point ', point.to_s, ' already exists. Pass --force to overwrite.')
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
warp-dir-1.6.2 lib/warp/dir/errors.rb
warp-dir-1.6.1 lib/warp/dir/errors.rb
warp-dir-1.6.0 lib/warp/dir/errors.rb
warp-dir-1.5.0 lib/warp/dir/errors.rb
warp-dir-1.3.0 lib/warp/dir/errors.rb
warp-dir-1.2.0 lib/warp/dir/errors.rb
warp-dir-1.1.5 lib/warp/dir/errors.rb
warp-dir-1.1.4 lib/warp/dir/errors.rb
warp-dir-1.1.3 lib/warp/dir/errors.rb
warp-dir-1.1.2 lib/warp/dir/errors.rb
warp-dir-1.1.1 lib/warp/dir/errors.rb
warp-dir-1.1.0 lib/warp/dir/errors.rb