contracts 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/contracts.rb +2 -2
  2. data/lib/foo.rb +4 -8
  3. metadata +3 -3
@@ -113,7 +113,7 @@ class Contract < Decorator
113
113
  validate_hash(arg, contract)
114
114
  when Contracts::Args
115
115
  valid? arg, contract.contract
116
- when Func
116
+ when Contracts::Func
117
117
  arg.is_a?(Method) || arg.is_a?(Proc)
118
118
  else
119
119
  if contract.respond_to? :valid?
@@ -140,7 +140,7 @@ class Contract < Decorator
140
140
  # contracts on methods
141
141
 
142
142
  contracts.each_with_index do |contract, i|
143
- if contract.is_a? Func
143
+ if contract.is_a? Contracts::Func
144
144
  args[i] = Contract.new(@klass, args[i], *contract.contracts)
145
145
  end
146
146
  end
data/lib/foo.rb CHANGED
@@ -1,13 +1,9 @@
1
1
  require 'contracts'
2
2
  include Contracts
3
3
 
4
- Contract ArrayOf[Num], Func[Num => Num] => ArrayOf[Num]
5
- def map(arr, func)
6
- ret = []
7
- arr.each do |x|
8
- ret << func[x]
9
- end
10
- ret
4
+ Contract None => Num
5
+ def add
6
+ 4
11
7
  end
12
8
 
13
- p map([1, 2, 3], lambda { |x| x + 1 })
9
+ p add
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contracts
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Aditya Bhargava