lib/redis_failover/errors.rb in redis_failover-0.8.0 vs lib/redis_failover/errors.rb in redis_failover-0.8.1
- old
+ new
@@ -1,41 +1,45 @@
module RedisFailover
+ # Base class for all RedisFailover errors.
class Error < StandardError
- attr_reader :original
- def initialize(msg = nil, original = $!)
- super(msg)
- @original = original
- end
end
+ # Raised when a node is specified incorrectly.
class InvalidNodeError < Error
end
+ # Raised when a node changes to an invalid/unknown state.
class InvalidNodeStateError < Error
def initialize(node, state)
super("Invalid state change `#{state}` for node #{node}")
end
end
+ # Raised when a node is unavailable (i.e., unreachable via network).
class NodeUnavailableError < Error
def initialize(node)
super("Node: #{node}")
end
end
+ # Raised when no master is currently available.
class NoMasterError < Error
end
+ # Raised when no slave is currently available.
class NoSlaveError < Error
end
+ # Raised when a redis server is no longer using the same role
+ # as previously assumed.
class InvalidNodeRoleError < Error
def initialize(node, assumed, actual)
super("Invalid role detected for node #{node}, client thought " +
"it was a #{assumed}, but it's now a #{actual}")
end
end
+ # Raised when an unsupported redis operation is performed.
class UnsupportedOperationError < Error
def initialize(operation)
super("Operation `#{operation}` is currently unsupported")
end
end
\ No newline at end of file