Sha256: 2b59cc3eddc60951f663f6b2910a29a38a56cc7bcc9703528f3ea549f64a0b2e

Contents?: true

Size: 1.48 KB

Versions: 3

Compression:

Stored size: 1.48 KB

Contents

module Sequel
  # Represents an error raised in Sequel code.
  class Error < StandardError
    
    # Error raised when an invalid statement is executed.
    class InvalidStatement < Error; end

    # Rollback is a special error used to rollback a transactions.
    # A transaction block will catch this error and wont pass further up the stack.
    class Rollback < Error ; end
    
    # Represents an invalid value stored in the database.
    class InvalidValue < Error ; end
                                       
    # Represents an Invalid transform.
    class InvalidTransform < Error ; end
                                       
    # Represents an Invalid filter.    
    class InvalidFilter < Error ; end
    
    class InvalidExpression < Error; end
                                       
    # Represents an attempt to performing filter operations when no filter has been specified yet.
    class NoExistingFilter < Error ; end
                                       
    # Represents an invalid join type.
    class InvalidJoinType < Error ; end
                                       
    class WorkerStop < RuntimeError ; end
    
    # Raised when Sequel is unable to load a specified adapter.
    class AdapterNotFound < Error ; end
  end  
end

# Object extensions
class Object
  # Cancels the current transaction without an error:
  #
  #   DB.tranaction do
  #     ...
  #     rollback! if failed_to_contact_client
  #     ...
  #   end
  def rollback!
    raise Sequel::Error::Rollback
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
doodle-0.0.7 examples/src/sequel_core-1.3/lib/sequel_core/exceptions.rb
doodle-0.0.8 examples/src/sequel_core-1.3/lib/sequel_core/exceptions.rb
sequel_core-1.3 lib/sequel_core/exceptions.rb