Class: Igniter::Extensions::Contracts::Invariants::Violation

Inherits:
Object
  • Object
show all
Defined in:
lib/igniter/extensions/contracts/invariants/violation.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, outputs:, error: nil) ⇒ Violation

Returns a new instance of Violation.



10
11
12
13
14
15
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 10

def initialize(name:, outputs:, error: nil)
  @name = name.to_sym
  @outputs = outputs.transform_keys(&:to_sym).freeze
  @error = error
  freeze
end

Instance Attribute Details

#errorObject (readonly)

Returns the value of attribute error.



8
9
10
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 8

def error
  @error
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 8

def name
  @name
end

#outputsObject (readonly)

Returns the value of attribute outputs.



8
9
10
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 8

def outputs
  @outputs
end

Instance Method Details

#failed?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 21

def failed?
  true
end

#passed?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 17

def passed?
  false
end

#to_hObject



25
26
27
28
29
30
31
32
33
34
# File 'lib/igniter/extensions/contracts/invariants/violation.rb', line 25

def to_h
  {
    name: name,
    outputs: outputs,
    error: error && {
      type: error.class.name,
      message: error.message
    }
  }
end