Sha256: b9da715c46a7b4b404036f14df25a130d595a204a342aea2ffe1612963a39648

Contents?: true

Size: 1.99 KB

Versions: 2

Compression:

Stored size: 1.99 KB

Contents

# encoding: utf-8 -- You should see a paragraph character: ยง 
# File: exceptions.rb

module Macros4Cuke # Module used as a namespace

# Base class for any exception explicitly raised in the Macros4Cuke methods.
class Macros4CukeError < StandardError
end # class

# Raised when one attempts to define a new macro 
# that has the same phrase as an existing macro.
class DuplicateMacroError < Macros4CukeError
  def initialize(aPhrase)
    super("A macro-step with phrase '[#{aPhrase}' already exist.")
  end
end # class

# Raised when one defines an argument name in a macro-step's phrase
# and that argument name does not appear in any sub-step.
class UselessPhraseArgument < Macros4CukeError
  def initialize(anArgName)
    super("The phrase argument '#{anArgName}' does not appear in a sub-step.")
  end
end # class



# Raised when one defines an argument name in a macro-step's phrase
# and that argument name does not appear in any sub-step.
class UnreachableSubstepArgument < Macros4CukeError
  def initialize(anArgName)
    super("The sub-step argument '#{anArgName}' does not appear in the phrase.")
  end
end # class


# Raised when one invokes a macro-step with an unknown phrase. 
class UnknownMacroError < Macros4CukeError
  def initialize(aPhrase)
    super("Unknown macro-step with phrase: '[#{aPhrase}'.")
  end
end # class



# Raised when one invokes a macro-step with an argument
# that has an unknown name. 
class UnknownArgumentError < Macros4CukeError
  def initialize(argName)
    super("Unknown macro-step argument '#{argName}'.")
  end
end # class



# Raised when one invokes a macro-step without a required data table argument
class DataTableNotFound < Macros4CukeError
  def initialize(argName)
    super("The macro-step is missing a data table argument.")
  end
end # class



# Raised when Macros4Cuke encountered an issue
# that it can't handle properly.
class InternalError < Macros4CukeError
end # class


end # module

# End of file

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
macros4cuke-0.2.11 lib/macros4cuke/exceptions.rb
macros4cuke-0.2.10 lib/macros4cuke/exceptions.rb