Sha256: 37f8c0089a20d8b1ac94368400030a4b9129cb3dd703d4208ad8810d3f410938

Contents?: true

Size: 1.35 KB

Versions: 4

Compression:

Stored size: 1.35 KB

Contents

module Pione
  module Package
    class PackageError < StandardError; end

    # NotFound is raised when package not found in package database.
    class NotFound < PackageError
      def initialize(name, editor, tag)
        @name = name
        @editor = eidition
        @tag = tag
      end

      def message
        "the package(name: %s, editor: %s, tag: %s) not found" % [@name, @editor, @tag]
      end
    end

    # InvalidPackageFilename is raised when parser fails to parse package filename.
    class InvalidPackageFilename < PackageError
      def initialize(name, error)
        @name = name   # package filename
        @error = error # parser exception
      end

      def message
        "invalid package filename \"%s\": %s" % [@name, @error.message]
      end
    end

    # InvalidPackage raises when the package is something bad.
    class InvalidPackage < PackageError; end

    # InvalidScenario raises when the package is something bad.
    class InvalidScenario < PackageError
      def initialize(location, reason)
        @location = location
        @reason = reason
      end

      def message
        "%<path>s is an invalid scenario document: %<reason>s" % args
      end

      def args
        {
          :path => @location.path,
          :reason => @reason
        }
      end
    end

    class DatabaseError < PackageError; end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
pione-0.4.2 lib/pione/package/package-exception.rb
pione-0.4.1 lib/pione/package/package-exception.rb
pione-0.4.0 lib/pione/package/package-exception.rb
pione-0.3.2 lib/pione/package/package-exception.rb