Class: Micro::Case::Result::Contract

Inherits:
Object
  • Object
show all
Defined in:
lib/micro/case/result/contract.rb

Defined Under Namespace

Classes: Definition

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContract

Returns a new instance of Contract.



15
16
17
18
# File 'lib/micro/case/result/contract.rb', line 15

def initialize
  @successes = {}
  @failures = {}
end

Instance Attribute Details

#failuresObject (readonly)

Returns the value of attribute failures.



7
8
9
# File 'lib/micro/case/result/contract.rb', line 7

def failures
  @failures
end

#successesObject (readonly)

Returns the value of attribute successes.



7
8
9
# File 'lib/micro/case/result/contract.rb', line 7

def successes
  @successes
end

Class Method Details

.define(&block) ⇒ Object



9
10
11
12
13
# File 'lib/micro/case/result/contract.rb', line 9

def self.define(&block)
  contract = new
  block.call(Definition.new(contract))
  contract
end

Instance Method Details

#add_failure(type, keys) ⇒ Object



24
25
26
# File 'lib/micro/case/result/contract.rb', line 24

def add_failure(type, keys)
  @failures[type] = Array(keys).map(&:to_sym)
end

#add_success(type, keys) ⇒ Object



20
21
22
# File 'lib/micro/case/result/contract.rb', line 20

def add_success(type, keys)
  @successes[type] = Array(keys).map(&:to_sym)
end

#failure_declared?(type) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/micro/case/result/contract.rb', line 32

def failure_declared?(type)
  @failures.key?(type)
end

#failure_keys(type) ⇒ Object



40
41
42
# File 'lib/micro/case/result/contract.rb', line 40

def failure_keys(type)
  @failures[type]
end

#success_declared?(type) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/micro/case/result/contract.rb', line 28

def success_declared?(type)
  @successes.key?(type)
end

#success_keys(type) ⇒ Object



36
37
38
# File 'lib/micro/case/result/contract.rb', line 36

def success_keys(type)
  @successes[type]
end