Sha256: 0a84726dd04ccfb8cd64d875ab1aa908a2ae41830c146eb3e566a69fd1377253

Contents?: true

Size: 723 Bytes

Versions: 4

Compression:

Stored size: 723 Bytes

Contents

module CSD
  # In this module we will keep all types of errors in a readable hierarchy
  #
  module Error
    
    # All Exceptions raised by CSD must be children of this class. 
    #
    class CSDError < StandardError
      def self.status_code(code = nil)
        return @code unless code
        @code = code
      end
    
      def status_code
        self.class.status_code
      end
    end
    
    # Errors in this module are related to command-line options
    #
    module Argument
      class NoApplication < CSDError; status_code(11); end
      class NoAction < CSDError; status_code(12); end
    end
    
    module Application
      class OptionsSyntax < CSDError; status_code(200); end
    end
  
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
csd-0.1.2 lib/csd/error.rb
csd-0.1.1 lib/csd/error.rb
csd-0.1.0 lib/csd/error.rb
csd-0.0.16 lib/csd/error.rb