Exception: ActiveGraph::Core::CypherError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/active_graph/core/cypher_error.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code = nil, original_message = nil, stack_trace = nil) ⇒ CypherError

Returns a new instance of CypherError.



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/active_graph/core/cypher_error.rb', line 6

def initialize(code = nil, original_message = nil, stack_trace = nil)
  @code = code
  @original_message = original_message
  @stack_trace = stack_trace

  msg = <<-ERROR
  Cypher error:
  #{ANSI::CYAN}#{code}#{ANSI::CLEAR}: #{original_message}
  #{stack_trace}
  ERROR
  super(msg)
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



4
5
6
# File 'lib/active_graph/core/cypher_error.rb', line 4

def code
  @code
end

#original_messageObject (readonly)

Returns the value of attribute original_message.



4
5
6
# File 'lib/active_graph/core/cypher_error.rb', line 4

def original_message
  @original_message
end

#stack_traceObject (readonly)

Returns the value of attribute stack_trace.



4
5
6
# File 'lib/active_graph/core/cypher_error.rb', line 4

def stack_trace
  @stack_trace
end

Class Method Details

.error_class_from(code) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/active_graph/core/cypher_error.rb', line 23

def self.error_class_from(code)
  case code
  when /(ConstraintValidationFailed|ConstraintViolation)/
    SchemaErrors::ConstraintValidationFailedError
  when /IndexAlreadyExists/
    SchemaErrors::IndexAlreadyExistsError
  when /ConstraintAlreadyExists/ # ?????
    SchemaErrors::ConstraintAlreadyExistsError
  else
    CypherError
  end
end

.new_from(code, message, stack_trace = nil) ⇒ Object



19
20
21
# File 'lib/active_graph/core/cypher_error.rb', line 19

def self.new_from(code, message, stack_trace = nil)
  error_class_from(code).new(code, message, stack_trace)
end