rodders 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 1.0.0
@@ -8,13 +8,13 @@ class MutuallyExclusiveCollection
8
8
 
9
9
  # the least likely of the events to occur
10
10
  # @return [FixedOdds] the least likely event
11
- def underdog
11
+ def least_likely
12
12
  @events.first
13
13
  end
14
14
 
15
15
  # the most likely of the events to occur
16
16
  # @return [FixedOdds] the most likely event
17
- def favorite
17
+ def most_likely
18
18
  @events.last
19
19
  end
20
20
 
data/rodders.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rodders"
8
- s.version = "0.3.0"
8
+ s.version = "1.0.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nigel Lowry"]
12
- s.date = "2011-12-11"
12
+ s.date = "2012-01-02"
13
13
  s.description = "Converts between fractional, decimal and moneyline odds for betting and gambling. Calculates how much can be won on a given stake."
14
14
  s.email = "nigel-lowry@ultra.eclipse.co.uk"
15
15
  s.extra_rdoc_files = [
@@ -3,8 +3,8 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
3
3
 
4
4
  describe "FixedOdds" do
5
5
 
6
- describe "fractional_odds factory" do
7
- it "should raise error if not fractional odds" do
6
+ describe ".fractional_odds" do
7
+ it "raises error if not fractional odds" do
8
8
  expect {
9
9
  FixedOdds.fractional_odds '5'
10
10
  }.to raise_error(
@@ -13,47 +13,47 @@ describe "FixedOdds" do
13
13
  )
14
14
  end
15
15
 
16
- it "should not modify the input string with 'against'" do
16
+ it "does not change the input string with 'against'" do
17
17
  value = '4/1 against'
18
18
  FixedOdds.fractional_odds(value)
19
19
  value.end_with?('against').should == true
20
20
  end
21
21
 
22
- it "should not modify the input string with 'on'" do
22
+ it "does not modify the input string with 'on'" do
23
23
  value = '4/1 on'
24
24
  FixedOdds.fractional_odds(value)
25
25
  value.end_with?('on').should == true
26
26
  end
27
27
 
28
- it "should treat '4/1 against' the same as '4/1'" do
28
+ it "treats '4/1 against' the same as '4/1'" do
29
29
  FixedOdds.fractional_odds('4/1 against').should == FixedOdds.fractional_odds('4/1')
30
30
  end
31
31
 
32
- it "should treat '4/1 on' the same as '1/4'" do
32
+ it "treats '4/1 on' the same as '1/4'" do
33
33
  FixedOdds.fractional_odds('4/1 on').should == FixedOdds.fractional_odds('1/4')
34
34
  end
35
35
 
36
- it "should treat 'evens' as '1/1'" do
36
+ it "treats 'evens' as '1/1'" do
37
37
  FixedOdds.fractional_odds('evens').should == FixedOdds.fractional_odds('1/1')
38
38
  end
39
39
 
40
- it "should treat 'even money' as '1/1'" do
40
+ it "treats 'even money' as '1/1'" do
41
41
  FixedOdds.fractional_odds('even money').should == FixedOdds.fractional_odds('1/1')
42
42
  end
43
43
 
44
- it "should recognise '4-to-1' as '4/1'" do
44
+ it "recognises '4-to-1' as '4/1'" do
45
45
  FixedOdds.fractional_odds('4-to-1').should == FixedOdds.fractional_odds('4/1')
46
46
  end
47
47
 
48
- it "should recognise '4-to-1 against' as '4/1'" do
48
+ it "recognises '4-to-1 against' as '4/1'" do
49
49
  FixedOdds.fractional_odds('4-to-1 against').should == FixedOdds.fractional_odds('4/1')
50
50
  end
51
51
 
52
- it "should recognise '4-to-1 on' as '1/4'" do
52
+ it "recognises '4-to-1 on' as '1/4'" do
53
53
  FixedOdds.fractional_odds('4-to-1 on').should == FixedOdds.fractional_odds('1/4')
54
54
  end
55
55
 
56
- it "should raise error if numerator has decimal point" do
56
+ it "raises error if numerator has decimal point" do
57
57
  expect {
58
58
  FixedOdds.fractional_odds '1.1/4'
59
59
  }.to raise_error(
@@ -62,7 +62,7 @@ describe "FixedOdds" do
62
62
  )
63
63
  end
64
64
 
65
- it "should raise error if denominator has decimal point" do
65
+ it "raises error if denominator has decimal point" do
66
66
  expect {
67
67
  FixedOdds.fractional_odds '1/4.1'
68
68
  }.to raise_error(
@@ -71,7 +71,7 @@ describe "FixedOdds" do
71
71
  )
72
72
  end
73
73
 
74
- it "should raise error if both numerator and denominator have decimal points" do
74
+ it "raises error if both numerator and denominator have decimal points" do
75
75
  expect {
76
76
  FixedOdds.fractional_odds '1.1/4.1'
77
77
  }.to raise_error(
@@ -81,17 +81,17 @@ describe "FixedOdds" do
81
81
  end
82
82
  end
83
83
 
84
- describe "moneyline_odds factory" do
85
- it "should raise error if not moneyline odds" do
84
+ describe ".moneyline_odds" do
85
+ it "raises error if not moneyline odds" do
86
86
  expect {
87
- FixedOdds.moneyline_odds '1.25'
87
+ FixedOdds.moneyline_odds '1/4'
88
88
  }.to raise_error(
89
89
  RuntimeError,
90
- /could not parse "1.25" as moneyline odds/
90
+ /could not parse "1\/4" as moneyline odds/
91
91
  )
92
92
  end
93
93
 
94
- it "should raise error if moneyline odds has decimal point" do
94
+ it "raises error if moneyline odds has decimal point" do
95
95
  expect {
96
96
  FixedOdds.moneyline_odds '-100.1'
97
97
  }.to raise_error(
@@ -101,32 +101,37 @@ describe "FixedOdds" do
101
101
  end
102
102
 
103
103
  describe "positive figures" do
104
- it "should treat '+400' as meaning winning £400 on a £100 bet" do
104
+ it "treats '+400' as meaning winning £400 on a £100 bet" do
105
105
  plus400 = FixedOdds.moneyline_odds('+400')
106
106
  plus400.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(400, :GBP)
107
107
  end
108
108
 
109
- it "should treat +100 as meaning winning £100 on a £100 bet" do
109
+ it "treats +100 as meaning winning £100 on a £100 bet" do
110
110
  plus100 = FixedOdds.moneyline_odds('+100')
111
111
  plus100.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(100, :GBP)
112
112
  end
113
113
  end
114
114
 
115
115
  describe "negative figures" do
116
- it "should treat '-400' as meaning you need to wager £400 to win £100" do
116
+ it "treats '-400' as meaning you need to wager £400 to win £100" do
117
117
  minus400 = FixedOdds.moneyline_odds('-400')
118
118
  minus400.profit_on_winning_stake(Money.from_fixnum(400, :GBP)).should == Money.from_fixnum(100, :GBP)
119
119
  end
120
120
 
121
- it "should treat '-100' as meaning you need to wager £100 to win £100 (which is identical to '+100')" do
121
+ it "treats '-100' as meaning you need to wager £100 to win £100" do
122
122
  minus100 = FixedOdds.moneyline_odds('-100')
123
123
  minus100.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(100, :GBP)
124
124
  end
125
+
126
+ it "treats '+100' as meaning you need to wager £100 to win £100" do
127
+ plus100 = FixedOdds.moneyline_odds('+100')
128
+ plus100.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(100, :GBP)
129
+ end
125
130
  end
126
131
  end
127
132
 
128
- describe "decimal_odds factory" do
129
- it "should raise error if not decimal odds" do
133
+ describe ".decimal_odds" do
134
+ it "raises error if not decimal odds" do
130
135
  expect {
131
136
  FixedOdds.decimal_odds '-400'
132
137
  }.to raise_error(
@@ -135,25 +140,25 @@ describe "FixedOdds" do
135
140
  )
136
141
  end
137
142
 
138
- it "should treat '2' as meaning you have to wager £100 to win £100" do
143
+ it "treats '2' as meaning you have to wager £100 to win £100" do
139
144
  d2 = FixedOdds.decimal_odds('2')
140
145
  d2.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(100, :GBP)
141
146
  end
142
147
 
143
- it "should treat '5' as meaning you have to wager £100 to win £400" do
148
+ it "treats '5' as meaning you have to wager £100 to win £400" do
144
149
  d5 = FixedOdds.decimal_odds('5')
145
150
  d5.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(400, :GBP)
146
151
  end
147
152
 
148
- it "should treat '1.25' as meaning yo have to wager £400 to win £100" do
153
+ it "treats '1.25' as meaning yo have to wager £400 to win £100" do
149
154
  d1_25 = FixedOdds.decimal_odds('1.25')
150
155
  d1_25.profit_on_winning_stake(Money.from_fixnum(400, :GBP)).should == Money.from_fixnum(100, :GBP)
151
156
  end
152
157
  end
153
158
 
154
- describe "#from_s" do
159
+ describe ".from_s" do
155
160
  describe "bad input" do
156
- it "should reject garbage" do
161
+ it "rejects garbage" do
157
162
  expect {
158
163
  FixedOdds.from_s('garbage')
159
164
  }.to raise_error(
@@ -163,7 +168,7 @@ describe "FixedOdds" do
163
168
  end
164
169
  end
165
170
 
166
- it "should reject an empty string" do
171
+ it "rejects an empty string" do
167
172
  expect {
168
173
  FixedOdds.from_s('')
169
174
  }.to raise_error(
@@ -173,39 +178,39 @@ describe "FixedOdds" do
173
178
  end
174
179
 
175
180
  describe "fractional odds" do
176
- it "should parse '4/1'" do
181
+ it "parses '4/1'" do
177
182
  FixedOdds.from_s('4/1').should == FixedOdds.fractional_odds('4/1')
178
183
  end
179
184
 
180
- it "should parse 'evens'" do
185
+ it "parses 'evens'" do
181
186
  FixedOdds.from_s('evens').should == FixedOdds.fractional_odds('1/1')
182
187
  end
183
188
 
184
- it "should parse 'even money'" do
189
+ it "parses 'even money'" do
185
190
  FixedOdds.from_s('even money').should == FixedOdds.fractional_odds('1/1')
186
191
  end
187
192
 
188
- it "should parse '4/1 against'" do
193
+ it "parses '4/1 against'" do
189
194
  FixedOdds.from_s('4/1 against').should == FixedOdds.fractional_odds('4/1')
190
195
  end
191
196
 
192
- it "should parse '4/1 on'" do
197
+ it "parses '4/1 on'" do
193
198
  FixedOdds.from_s('4/1 on').should == FixedOdds.fractional_odds('1/4')
194
199
  end
195
200
 
196
- it "should parse '4-to-1'" do
201
+ it "parses '4-to-1'" do
197
202
  FixedOdds.from_s('4-to-1').should == FixedOdds.fractional_odds('4/1')
198
203
  end
199
204
 
200
- it "should parse '4-to-1 against'" do
205
+ it "parses '4-to-1 against'" do
201
206
  FixedOdds.from_s('4-to-1 against').should == FixedOdds.fractional_odds('4/1')
202
207
  end
203
208
 
204
- it "should parse '4-to-1 on'" do
209
+ it "parses '4-to-1 on'" do
205
210
  FixedOdds.from_s('4-to-1 on').should == FixedOdds.fractional_odds('1/4')
206
211
  end
207
212
 
208
- it "should raise an error for a zero denominator" do
213
+ it "raises an error for a zero denominator" do
209
214
  expect {
210
215
  FixedOdds.from_s('4/0')
211
216
  }.to raise_error(
@@ -215,17 +220,17 @@ describe "FixedOdds" do
215
220
  end
216
221
 
217
222
  describe "moneyline odds" do
218
- it "should parse positive moneyline odds" do
223
+ it "parses positive moneyline odds" do
219
224
  FixedOdds.from_s('+400').should == FixedOdds.moneyline_odds('+400')
220
225
  end
221
226
 
222
- it "should parse negative moneyline odds" do
227
+ it "parses negative moneyline odds" do
223
228
  FixedOdds.from_s('-400').should == FixedOdds.moneyline_odds('-400')
224
229
  end
225
230
  end
226
231
 
227
232
  describe "decimal odds" do
228
- it "should parse integral odds of '2' as decimal odds, not as fractional odds of '2/1'" do
233
+ it "parses integral odds of '2' as decimal odds, not as fractional odds of '2/1'" do
229
234
  decimal_odds_2 = FixedOdds.from_s('2')
230
235
 
231
236
  decimal_odds_2.should == FixedOdds.decimal_odds('2')
@@ -239,146 +244,146 @@ describe "FixedOdds" do
239
244
  end
240
245
 
241
246
  describe "#==" do
242
- it "should treat similar fractions equally" do
247
+ it "treats equivalent fractions equally" do
243
248
  FixedOdds.fractional_odds('100/30').should == FixedOdds.fractional_odds('10/3')
244
249
  end
245
250
 
246
- it "should recognise '1/1' and '2' are the same" do
251
+ it "recognises '1/1' and '2' are the same" do
247
252
  FixedOdds.fractional_odds('1/1').should == FixedOdds.decimal_odds('2')
248
253
  end
249
254
 
250
- it "should recognise '4/1' and '5' are the same" do
255
+ it "recognises '4/1' and '5' are the same" do
251
256
  FixedOdds.fractional_odds('4/1').should == FixedOdds.decimal_odds('5')
252
257
  end
253
258
 
254
- it "should recognise '1/4' and '1.25' are the same" do
259
+ it "recognises '1/4' and '1.25' are the same" do
255
260
  FixedOdds.fractional_odds('1/4').should == FixedOdds.decimal_odds('1.25')
256
261
  end
257
262
 
258
- it "should recognise '4/1' and '+400' are the same" do
263
+ it "recognises '4/1' and '+400' are the same" do
259
264
  FixedOdds.fractional_odds('4/1').should == FixedOdds.moneyline_odds('+400')
260
265
  end
261
266
 
262
- it "should recognise '1/4' and '-400' are the same" do
267
+ it "recognises '1/4' and '-400' are the same" do
263
268
  FixedOdds.fractional_odds('1/4').should == FixedOdds.moneyline_odds('-400')
264
269
  end
265
270
 
266
- it "should recognise '+100' and '-100' are the same" do
271
+ it "recognises '+100' and '-100' are the same" do
267
272
  FixedOdds.moneyline_odds('+100').should == FixedOdds.moneyline_odds('-100')
268
273
  end
269
274
  end
270
275
 
271
276
  describe "#to_s" do
272
- it "should display the odds in fractional odds format" do
277
+ it "is in fractional odds format" do
273
278
  FixedOdds.from_s('+400').to_s.should == '4/1'
274
279
  end
275
280
  end
276
281
 
277
282
  describe "#to_s_fractional" do
278
- it "should display '4/1' as '4/1'" do
283
+ it "displays '4/1' as '4/1'" do
279
284
  FixedOdds.fractional_odds('4/1').to_s_fractional.should == '4/1'
280
285
  end
281
286
 
282
- it "should print out '100/30' as '10/3' in lowest terms" do
287
+ it "is in the lowest terms" do
283
288
  FixedOdds.fractional_odds('100/30').to_s_fractional.should == '10/3'
284
289
  end
285
290
 
286
- it "should display '+400' as '4/1'" do
291
+ it "is '4/1' for '+400'" do
287
292
  FixedOdds.moneyline_odds('+400').to_s_fractional.should == '4/1'
288
293
  end
289
294
 
290
- it "should display '5' as '4/1'" do
295
+ it "is '4/1' for '5'" do
291
296
  FixedOdds.decimal_odds('5').to_s_fractional.should == '4/1'
292
297
  end
293
298
 
294
- it "should display '+100' as '1/1'" do
299
+ it "is '1/1' for '+100'" do
295
300
  FixedOdds.moneyline_odds('+100').to_s_fractional.should == '1/1'
296
301
  end
297
302
 
298
- it "should display '-100' as '1/1'" do
303
+ it "is '1/1' for '-100'" do
299
304
  FixedOdds.moneyline_odds('-100').to_s_fractional.should == '1/1'
300
305
  end
301
306
  end
302
307
 
303
308
  describe "#to_s_moneyline" do
304
- it "should display '+400' as '+400'" do
309
+ it "is '+400' for '+400'" do
305
310
  FixedOdds.moneyline_odds('+400').to_s_moneyline.should == ('+400')
306
311
  end
307
312
 
308
- it "should display '+100' as '-100' (but this could have equally been '+100')" do
313
+ it "is '-100' for '+100' as '-100'" do
309
314
  FixedOdds.moneyline_odds('+100').to_s_moneyline.should == ('-100')
310
315
  end
311
316
 
312
- it "should display '-100' as '-100' (but this could have equally been '+100')" do
317
+ it "is '-100' as '-100'" do
313
318
  FixedOdds.moneyline_odds('-100').to_s_moneyline.should == ('-100')
314
319
  end
315
320
 
316
- it "should display '4/1' as '+400'" do
321
+ it "is '+400' for '4/1'" do
317
322
  FixedOdds.fractional_odds('4/1').to_s_moneyline.should == '+400'
318
323
  end
319
324
 
320
- it "should display '5' as '+400'" do
325
+ it "is '+400' for '5'" do
321
326
  FixedOdds.decimal_odds('5').to_s_moneyline.should == '+400'
322
327
  end
323
328
 
324
- it "should display '1.25' as '-400'" do
329
+ it "is '-400' for '1.25'" do
325
330
  FixedOdds.decimal_odds('1.25').to_s_moneyline.should == '-400'
326
331
  end
327
332
  end
328
333
 
329
334
  describe "#to_s_decimal" do
330
- it "should display '1.25' as '1.25'" do
335
+ it "is '1.25' for '1.25'" do
331
336
  FixedOdds.decimal_odds('1.25').to_s_decimal.should == '1.25'
332
337
  end
333
338
 
334
- it "should display '1/4' as '1.25'" do
339
+ it "is '1.25' for '1/4'" do
335
340
  FixedOdds.fractional_odds('1/4').to_s_decimal.should == '1.25'
336
341
  end
337
342
 
338
- it "should display '-400' as '1.25'" do
343
+ it "is '1.25' for '-400'" do
339
344
  FixedOdds.moneyline_odds('-400').to_s_decimal.should == '1.25'
340
345
  end
341
346
 
342
- it "should display '+100' as '2'" do
347
+ it "is '2' for '+100'" do
343
348
  FixedOdds.moneyline_odds('+100').to_s_decimal.should == '2'
344
349
  end
345
350
 
346
- it "should display '-100' as '2'" do
351
+ it "is '2' for '-100'" do
347
352
  FixedOdds.moneyline_odds('-100').to_s_decimal.should == '2'
348
353
  end
349
354
  end
350
355
 
351
356
  describe "#profit_on_winning_stake" do
352
- it "should return a profit of £400 on a £100 stake on a 4/1 bet" do
357
+ it "is £400 on a £100 stake on a 4/1 bet" do
353
358
  fourToOne = FixedOdds.fractional_odds '4/1'
354
359
  fourToOne.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(400, :GBP)
355
360
  end
356
361
 
357
- it "should return a profit of £25 on a £100 stake with a 1/4 bet" do
362
+ it "is £25 on a £100 stake with a 1/4 bet" do
358
363
  oneToFour = FixedOdds.fractional_odds '1/4'
359
364
  oneToFour.profit_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(25, :GBP)
360
365
  end
361
366
  end
362
367
 
363
368
  describe "#total_return_on_winning_stake" do
364
- it "should show that the full amount back on a winning 4/1 bet with a £100 stake is £500" do
369
+ it "is £500 on a winning 4/1 bet with a £100 stake" do
365
370
  fourToOne = FixedOdds.fractional_odds '4/1'
366
371
  fourToOne.total_return_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(500, :GBP)
367
372
  end
368
373
 
369
- it "should show that the full amount back on a winning 1/4 bet with a £100 stake is £125" do
374
+ it "is £125 on a winning 1/4 bet with a £100 stake" do
370
375
  oneToFour = FixedOdds.fractional_odds '1/4'
371
376
  oneToFour.total_return_on_winning_stake(Money.from_fixnum(100, :GBP)).should == Money.from_fixnum(125, :GBP)
372
377
  end
373
378
  end
374
379
 
375
380
  describe "#stake_needed_to_win" do
376
- it "should be £1 on a 1/1 to win £1" do
381
+ it "is £1 on a 1/1 to win £1" do
377
382
  oneToOne = FixedOdds.fractional_odds '1/1'
378
383
  oneToOne.stake_needed_to_win(Money.from_fixnum(1, :GBP)).should == Money.from_fixnum(1, :GBP)
379
384
  end
380
385
 
381
- it "should be £100 on 4/1 to win £400" do
386
+ it "is £100 on 4/1 to win £400" do
382
387
  fourToOne = FixedOdds.fractional_odds '4/1'
383
388
  fourToOne.stake_needed_to_win(Money.from_fixnum(400, :GBP)).should == Money.from_fixnum(100, :GBP)
384
389
  end
@@ -10,20 +10,27 @@ describe "MutuallyExclusiveCollection" do
10
10
  @events = MutuallyExclusiveCollection.new [@draw, @bad_team, @good_team]
11
11
  end
12
12
 
13
- it "should return the bad team as the underdog" do
14
- @events.underdog.should == @bad_team
13
+ describe "#least_likely" do
14
+ it "is the least likely event" do
15
+ @events.least_likely.should == @bad_team
16
+ end
15
17
  end
16
18
 
17
- it "should return the good team as the favorite" do
18
- @events.favorite.should == @good_team
19
+ describe "#most_likely" do
20
+ it "is the most likely event" do
21
+ @events.most_likely.should == @good_team
22
+ end
19
23
  end
20
24
 
21
- it "should return the events in descending probability" do
22
- @events.in_descending_probability.should == [@good_team, @draw, @bad_team]
25
+ describe "#in_descending_probability" do
26
+ it "is in descending order of probability" do
27
+ @events.in_descending_probability.should == [@good_team, @draw, @bad_team]
28
+ end
23
29
  end
24
30
 
25
- it "should return the events in ascending probability" do
26
- @events.in_ascending_probability.should == [@bad_team, @draw, @good_team]
31
+ describe "#in_ascending_probability" do
32
+ it "is in ascending order of probability" do
33
+ @events.in_ascending_probability.should == [@bad_team, @draw, @good_team]
34
+ end
27
35
  end
28
-
29
36
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rodders
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-11 00:00:00.000000000Z
12
+ date: 2012-01-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: money
16
- requirement: &70347044732340 !ruby/object:Gem::Requirement
16
+ requirement: &70289789377020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70347044732340
24
+ version_requirements: *70289789377020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70347044731860 !ruby/object:Gem::Requirement
27
+ requirement: &70289789376500 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.3.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70347044731860
35
+ version_requirements: *70289789376500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &70347044731320 !ruby/object:Gem::Requirement
38
+ requirement: &70289789353180 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70347044731320
46
+ version_requirements: *70289789353180
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70347044730800 !ruby/object:Gem::Requirement
49
+ requirement: &70289789352580 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70347044730800
57
+ version_requirements: *70289789352580
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70347044730320 !ruby/object:Gem::Requirement
60
+ requirement: &70289789352000 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70347044730320
68
+ version_requirements: *70289789352000
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &70347044729800 !ruby/object:Gem::Requirement
71
+ requirement: &70289789351400 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70347044729800
79
+ version_requirements: *70289789351400
80
80
  description: Converts between fractional, decimal and moneyline odds for betting and
81
81
  gambling. Calculates how much can be won on a given stake.
82
82
  email: nigel-lowry@ultra.eclipse.co.uk
@@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  segments:
118
118
  - 0
119
- hash: 2781179272829975536
119
+ hash: 3132446332163279190
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements: