Class: Contracts::OutputType

Inherits:
Postcondition show all
Defined in:
lib/ruby_contracts/output_type.rb

Instance Method Summary collapse

Methods inherited from Postcondition

#after?, #before?

Methods inherited from Contract

#after?, #before?

Constructor Details

#initialize(expected_class) ⇒ OutputType

Returns a new instance of OutputType.



3
4
5
# File 'lib/ruby_contracts/output_type.rb', line 3

def initialize(expected_class)
  @expected_class = expected_class
end

Instance Method Details

#messageObject



7
8
9
# File 'lib/ruby_contracts/output_type.rb', line 7

def message
  "the result must be an kind of #{@expected_class}"
end

#satisfied?(context, arguments, result = nil) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/ruby_contracts/output_type.rb', line 11

def satisfied?(context, arguments, result=nil)
  result.kind_of? @expected_class
end