module Contractinator::Contract
Public Instance Methods
created_set()
click to toggle source
# File lib/contractinator/contract.rb, line 22 def created_set Set.new(@created.keys) end
fulfill(argument)
click to toggle source
# File lib/contractinator/contract.rb, line 16 def fulfill(argument) @fulfilled[argument] = caller.find do |str| str =~ /_spec\.rb/ end end
fulfilled_set()
click to toggle source
# File lib/contractinator/contract.rb, line 26 def fulfilled_set Set.new(@fulfilled.keys) end
messages()
click to toggle source
# File lib/contractinator/contract.rb, line 46 def messages messages = [] unmatched_created.map do |item| messages << "unfulfilled contract '#{item}'" messages << " at #{@created[item]}" end unmatched_fulfilled.map do |item| messages << "excess fulfillment '#{item}'" messages << " at #{@fulfilled[item]}" end messages end
require(argument)
click to toggle source
# File lib/contractinator/contract.rb, line 10 def require(argument) @created[argument] = caller.find do |str| str =~ /_spec\.rb/ end end
unmatched_created()
click to toggle source
# File lib/contractinator/contract.rb, line 30 def unmatched_created unmatched_keys.intersection(created_set) end
unmatched_fulfilled()
click to toggle source
# File lib/contractinator/contract.rb, line 34 def unmatched_fulfilled unmatched_keys.intersection(fulfilled_set) end
unmatched_keys()
click to toggle source
# File lib/contractinator/contract.rb, line 38 def unmatched_keys created_set ^ fulfilled_set end
validate()
click to toggle source
# File lib/contractinator/contract.rb, line 42 def validate unmatched_keys.empty? end