beway 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/Gemfile +7 -0
  2. data/Gemfile.lock +34 -0
  3. data/README +43 -0
  4. data/README.rdoc +43 -0
  5. data/Rakefile +19 -0
  6. data/bin/beway +5 -0
  7. data/doc/Beway.html +185 -0
  8. data/doc/Beway/Auction.html +802 -0
  9. data/doc/Beway/AuctionParseError.html +160 -0
  10. data/doc/Beway/Bidder.html +531 -0
  11. data/doc/Beway/BidderError.html +160 -0
  12. data/doc/Beway/CliRunner.html +817 -0
  13. data/doc/Beway/EbayData.html +453 -0
  14. data/doc/Beway/EbayDataParseError.html +160 -0
  15. data/doc/Beway/InvalidUrlError.html +160 -0
  16. data/doc/README.html +175 -0
  17. data/doc/created.rid +6 -0
  18. data/doc/index.html +225 -0
  19. data/doc/lib/beway/auction_rb.html +56 -0
  20. data/doc/lib/beway/bidder_rb.html +54 -0
  21. data/doc/lib/beway/cli_runner_rb.html +52 -0
  22. data/doc/lib/beway/ebay_data_rb.html +58 -0
  23. data/doc/rdoc.css +706 -0
  24. data/lib/beway.rb +4 -0
  25. data/lib/beway/auction.rb +150 -0
  26. data/lib/beway/bidder.rb +100 -0
  27. data/lib/beway/cli_runner.rb +184 -0
  28. data/lib/beway/ebay_data.rb +66 -0
  29. data/spec/auction_spec.rb +163 -0
  30. data/spec/bidder_spec.rb +30 -0
  31. data/spec/config.rb +4 -0
  32. data/spec/config.rb-dist +4 -0
  33. data/spec/ebay_data_spec.rb +23 -0
  34. data/spec/html/alfani-sweater-complete.html +39 -0
  35. data/spec/html/cashmere-sweater-complete.html +39 -0
  36. data/spec/html/cashmere-sweater.html +84 -0
  37. data/spec/html/mens-cardigans-dutch-bin.html +192 -0
  38. data/spec/html/pink-sweater-bid-bin.html +68 -0
  39. data/spec/html/polo-lambs-wool.html +150 -0
  40. data/spec/html/spring-mercer-bin-mo.html +533 -0
  41. data/spec/html/xmas-sweater.html +260 -0
  42. metadata +192 -0
@@ -0,0 +1,160 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Beway::BidderError</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/beway/bidder_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/beway/bidder.rb">lib/beway/bidder.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link">StandardError</p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+
69
+ <!-- Included Modules -->
70
+
71
+ </div>
72
+
73
+ <div id="project-metadata">
74
+
75
+
76
+ <div id="fileindex-section" class="section project-section">
77
+ <h3 class="section-header">Files</h3>
78
+ <ul>
79
+
80
+ <li class="file"><a href="../README.html">README</a></li>
81
+
82
+ </ul>
83
+ </div>
84
+
85
+
86
+ <div id="classindex-section" class="section project-section">
87
+ <h3 class="section-header">Class Index
88
+ <span class="search-toggle"><img src="../images/find.png"
89
+ height="16" width="16" alt="[+]"
90
+ title="show/hide quicksearch" /></span></h3>
91
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
92
+ <fieldset>
93
+ <legend>Quicksearch</legend>
94
+ <input type="text" name="quicksearch" value=""
95
+ class="quicksearch-field" />
96
+ </fieldset>
97
+ </form>
98
+
99
+ <ul class="link-list">
100
+
101
+ <li><a href="../Beway.html">Beway</a></li>
102
+
103
+ <li><a href="../Beway/Auction.html">Beway::Auction</a></li>
104
+
105
+ <li><a href="../Beway/AuctionParseError.html">Beway::AuctionParseError</a></li>
106
+
107
+ <li><a href="../Beway/Bidder.html">Beway::Bidder</a></li>
108
+
109
+ <li><a href="../Beway/BidderError.html">Beway::BidderError</a></li>
110
+
111
+ <li><a href="../Beway/CliRunner.html">Beway::CliRunner</a></li>
112
+
113
+ <li><a href="../Beway/EbayData.html">Beway::EbayData</a></li>
114
+
115
+ <li><a href="../Beway/EbayDataParseError.html">Beway::EbayDataParseError</a></li>
116
+
117
+ <li><a href="../Beway/InvalidUrlError.html">Beway::InvalidUrlError</a></li>
118
+
119
+ </ul>
120
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
121
+ </div>
122
+
123
+
124
+ </div>
125
+ </div>
126
+
127
+ <div id="documentation">
128
+ <h1 class="class">Beway::BidderError</h1>
129
+
130
+ <div id="description">
131
+
132
+ </div>
133
+
134
+ <!-- Constants -->
135
+
136
+
137
+ <!-- Attributes -->
138
+
139
+
140
+ <!-- Methods -->
141
+
142
+
143
+ </div>
144
+
145
+
146
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
147
+
148
+ <p>Disabled; run with --debug to generate this.</p>
149
+
150
+ </div>
151
+
152
+ <div id="validator-badges">
153
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
154
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
155
+ Rdoc Generator</a> 1.1.6</small>.</p>
156
+ </div>
157
+
158
+ </body>
159
+ </html>
160
+
@@ -0,0 +1,817 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Beway::CliRunner</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/beway/cli_runner_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/beway/cli_runner.rb">lib/beway/cli_runner.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link">Object</p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-c-start">::start</a></li>
75
+
76
+ <li><a href="#method-i-auction_from_user">#auction_from_user</a></li>
77
+
78
+ <li><a href="#method-i-bid_for_auction_from_user">#bid_for_auction_from_user</a></li>
79
+
80
+ <li><a href="#method-i-display_auction">#display_auction</a></li>
81
+
82
+ <li><a href="#method-i-display_intro">#display_intro</a></li>
83
+
84
+ <li><a href="#method-i-get_user_input">#get_user_input</a></li>
85
+
86
+ <li><a href="#method-i-prompt_bid">#prompt_bid</a></li>
87
+
88
+ <li><a href="#method-i-prompt_confirm_auction">#prompt_confirm_auction</a></li>
89
+
90
+ <li><a href="#method-i-prompt_confirm_bid">#prompt_confirm_bid</a></li>
91
+
92
+ <li><a href="#method-i-prompt_password">#prompt_password</a></li>
93
+
94
+ <li><a href="#method-i-prompt_url">#prompt_url</a></li>
95
+
96
+ <li><a href="#method-i-prompt_username">#prompt_username</a></li>
97
+
98
+ <li><a href="#method-i-run">#run</a></li>
99
+
100
+ </ul>
101
+ </div>
102
+
103
+
104
+ <!-- Included Modules -->
105
+
106
+ </div>
107
+
108
+ <div id="project-metadata">
109
+
110
+
111
+ <div id="fileindex-section" class="section project-section">
112
+ <h3 class="section-header">Files</h3>
113
+ <ul>
114
+
115
+ <li class="file"><a href="../README.html">README</a></li>
116
+
117
+ </ul>
118
+ </div>
119
+
120
+
121
+ <div id="classindex-section" class="section project-section">
122
+ <h3 class="section-header">Class Index
123
+ <span class="search-toggle"><img src="../images/find.png"
124
+ height="16" width="16" alt="[+]"
125
+ title="show/hide quicksearch" /></span></h3>
126
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
127
+ <fieldset>
128
+ <legend>Quicksearch</legend>
129
+ <input type="text" name="quicksearch" value=""
130
+ class="quicksearch-field" />
131
+ </fieldset>
132
+ </form>
133
+
134
+ <ul class="link-list">
135
+
136
+ <li><a href="../Beway.html">Beway</a></li>
137
+
138
+ <li><a href="../Beway/Auction.html">Beway::Auction</a></li>
139
+
140
+ <li><a href="../Beway/AuctionParseError.html">Beway::AuctionParseError</a></li>
141
+
142
+ <li><a href="../Beway/Bidder.html">Beway::Bidder</a></li>
143
+
144
+ <li><a href="../Beway/BidderError.html">Beway::BidderError</a></li>
145
+
146
+ <li><a href="../Beway/CliRunner.html">Beway::CliRunner</a></li>
147
+
148
+ <li><a href="../Beway/EbayData.html">Beway::EbayData</a></li>
149
+
150
+ <li><a href="../Beway/EbayDataParseError.html">Beway::EbayDataParseError</a></li>
151
+
152
+ <li><a href="../Beway/InvalidUrlError.html">Beway::InvalidUrlError</a></li>
153
+
154
+ </ul>
155
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
156
+ </div>
157
+
158
+
159
+ </div>
160
+ </div>
161
+
162
+ <div id="documentation">
163
+ <h1 class="class">Beway::CliRunner</h1>
164
+
165
+ <div id="description">
166
+ <p>
167
+ <a href="CliRunner.html">CliRunner</a>
168
+ </p>
169
+ <p>
170
+ A UI for the <a href="../Beway.html">Beway</a> module to snipe an ebay
171
+ auction
172
+ </p>
173
+
174
+ </div>
175
+
176
+ <!-- Constants -->
177
+
178
+ <div id="constants-list" class="section">
179
+ <h3 class="section-header">Constants</h3>
180
+ <dl>
181
+
182
+ <dt><a name="BID_THRESHOLD">BID_THRESHOLD</a></dt>
183
+
184
+ <dd class="description"></dd>
185
+
186
+
187
+ </dl>
188
+ </div>
189
+
190
+
191
+ <!-- Attributes -->
192
+
193
+
194
+ <!-- Methods -->
195
+
196
+ <div id="public-class-method-details" class="method-section section">
197
+ <h3 class="section-header">Public Class Methods</h3>
198
+
199
+
200
+ <div id="new-method" class="method-detail ">
201
+ <a name="method-c-new"></a>
202
+
203
+ <div class="method-heading">
204
+
205
+ <span class="method-name">new</span><span
206
+ class="method-args">()</span>
207
+ <span class="method-click-advice">click to toggle source</span>
208
+
209
+ </div>
210
+
211
+ <div class="method-description">
212
+
213
+
214
+
215
+
216
+
217
+ <div class="method-source-code"
218
+ id="new-source">
219
+ <pre>
220
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 17</span>
221
+ 17: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
222
+ 18: <span class="ruby-keyword kw">end</span></pre>
223
+ </div>
224
+
225
+ </div>
226
+
227
+
228
+
229
+
230
+ </div>
231
+
232
+
233
+ <div id="start-method" class="method-detail ">
234
+ <a name="method-c-start"></a>
235
+
236
+ <div class="method-heading">
237
+
238
+ <span class="method-name">start</span><span
239
+ class="method-args">()</span>
240
+ <span class="method-click-advice">click to toggle source</span>
241
+
242
+ </div>
243
+
244
+ <div class="method-description">
245
+
246
+
247
+
248
+
249
+
250
+ <div class="method-source-code"
251
+ id="start-source">
252
+ <pre>
253
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 12</span>
254
+ 12: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">start</span>
255
+ 13: <span class="ruby-identifier">runner</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>
256
+ 14: <span class="ruby-identifier">runner</span>.<span class="ruby-identifier">run</span>
257
+ 15: <span class="ruby-keyword kw">end</span></pre>
258
+ </div>
259
+
260
+ </div>
261
+
262
+
263
+
264
+
265
+ </div>
266
+
267
+
268
+ </div>
269
+
270
+ <div id="public-instance-method-details" class="method-section section">
271
+ <h3 class="section-header">Public Instance Methods</h3>
272
+
273
+
274
+ <div id="auction-from-user-method" class="method-detail ">
275
+ <a name="method-i-auction_from_user"></a>
276
+
277
+ <div class="method-heading">
278
+
279
+ <span class="method-name">auction_from_user</span><span
280
+ class="method-args">()</span>
281
+ <span class="method-click-advice">click to toggle source</span>
282
+
283
+ </div>
284
+
285
+ <div class="method-description">
286
+
287
+
288
+
289
+
290
+
291
+ <div class="method-source-code"
292
+ id="auction-from-user-source">
293
+ <pre>
294
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 88</span>
295
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">auction_from_user</span>
296
+ 89: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
297
+ 90: <span class="ruby-keyword kw">begin</span>
298
+ 91: <span class="ruby-identifier">auction</span> = <span class="ruby-constant">Auction</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">prompt_url</span>)
299
+ 92: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">auction</span>.<span class="ruby-identifier">complete?</span>
300
+ 93: <span class="ruby-identifier">display_auction</span> <span class="ruby-identifier">auction</span>
301
+ 94: <span class="ruby-identifier">puts</span>
302
+ 95: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;That auction is done already! Try another, or 'exit' to quit.&quot;</span>
303
+ 96: <span class="ruby-keyword kw">next</span>
304
+ 97: <span class="ruby-keyword kw">end</span>
305
+ 98: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">AuctionParseError</span>
306
+ 99: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Sorry, we can't parse that url as an auction&quot;</span>
307
+ 100: <span class="ruby-keyword kw">next</span>
308
+ 101: <span class="ruby-keyword kw">end</span>
309
+ 102:
310
+ 103: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">auction</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prompt_confirm_auction</span>(<span class="ruby-identifier">auction</span>)
311
+ 104: <span class="ruby-keyword kw">end</span>
312
+ 105: <span class="ruby-keyword kw">end</span></pre>
313
+ </div>
314
+
315
+ </div>
316
+
317
+
318
+
319
+
320
+ </div>
321
+
322
+
323
+ <div id="bid-for-auction-from-user-method" class="method-detail ">
324
+ <a name="method-i-bid_for_auction_from_user"></a>
325
+
326
+ <div class="method-heading">
327
+
328
+ <span class="method-name">bid_for_auction_from_user</span><span
329
+ class="method-args">(a)</span>
330
+ <span class="method-click-advice">click to toggle source</span>
331
+
332
+ </div>
333
+
334
+ <div class="method-description">
335
+
336
+
337
+
338
+
339
+
340
+ <div class="method-source-code"
341
+ id="bid-for-auction-from-user-source">
342
+ <pre>
343
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 81</span>
344
+ 81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bid_for_auction_from_user</span>(<span class="ruby-identifier">a</span>)
345
+ 82: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
346
+ 83: <span class="ruby-identifier">bid_amount</span> = <span class="ruby-identifier">prompt_bid</span>()<span class="ruby-comment cmt">#a.min_bid)</span>
347
+ 84: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">bid_amount</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">prompt_confirm_bid</span>(<span class="ruby-identifier">bid_amount</span>)
348
+ 85: <span class="ruby-keyword kw">end</span>
349
+ 86: <span class="ruby-keyword kw">end</span></pre>
350
+ </div>
351
+
352
+ </div>
353
+
354
+
355
+
356
+
357
+ </div>
358
+
359
+
360
+ <div id="display-auction-method" class="method-detail ">
361
+ <a name="method-i-display_auction"></a>
362
+
363
+ <div class="method-heading">
364
+
365
+ <span class="method-name">display_auction</span><span
366
+ class="method-args">(a)</span>
367
+ <span class="method-click-advice">click to toggle source</span>
368
+
369
+ </div>
370
+
371
+ <div class="method-description">
372
+
373
+
374
+
375
+
376
+
377
+ <div class="method-source-code"
378
+ id="display-auction-source">
379
+ <pre>
380
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 111</span>
381
+ 111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_auction</span>(<span class="ruby-identifier">a</span>)
382
+ 112: <span class="ruby-identifier">puts</span>
383
+ 113: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;URL: #{a.url}&quot;</span>
384
+ 114: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Description: #{a.description}&quot;</span>
385
+ 115: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Auction Number: #{a.auction_number}&quot;</span>
386
+ 116: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Current Bid: #{a.current_bid}&quot;</span>
387
+ 117: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Min Bid: #{a.min_bid || '-- bidding closed --'}&quot;</span>
388
+ 118: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Time Left: #{a.time_left || '-- bidding closed --'}&quot;</span>
389
+ 119: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;End Time: #{a.end_time}&quot;</span>
390
+ 120: <span class="ruby-keyword kw">end</span></pre>
391
+ </div>
392
+
393
+ </div>
394
+
395
+
396
+
397
+
398
+ </div>
399
+
400
+
401
+ <div id="display-intro-method" class="method-detail ">
402
+ <a name="method-i-display_intro"></a>
403
+
404
+ <div class="method-heading">
405
+
406
+ <span class="method-name">display_intro</span><span
407
+ class="method-args">()</span>
408
+ <span class="method-click-advice">click to toggle source</span>
409
+
410
+ </div>
411
+
412
+ <div class="method-description">
413
+
414
+
415
+
416
+
417
+
418
+ <div class="method-source-code"
419
+ id="display-intro-source">
420
+ <pre>
421
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 107</span>
422
+ 107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_intro</span>
423
+ 108: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Welcome to Beway's CLI interface&quot;</span>
424
+ 109: <span class="ruby-keyword kw">end</span></pre>
425
+ </div>
426
+
427
+ </div>
428
+
429
+
430
+
431
+
432
+ </div>
433
+
434
+
435
+ <div id="get-user-input-method" class="method-detail ">
436
+ <a name="method-i-get_user_input"></a>
437
+
438
+ <div class="method-heading">
439
+
440
+ <span class="method-name">get_user_input</span><span
441
+ class="method-args">()</span>
442
+ <span class="method-click-advice">click to toggle source</span>
443
+
444
+ </div>
445
+
446
+ <div class="method-description">
447
+
448
+
449
+
450
+
451
+
452
+ <div class="method-source-code"
453
+ id="get-user-input-source">
454
+ <pre>
455
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 177</span>
456
+ 177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_user_input</span>
457
+ 178: <span class="ruby-identifier">s</span> = <span class="ruby-identifier">gets</span>
458
+ 179: <span class="ruby-identifier">exit</span> <span class="ruby-keyword kw">if</span> <span class="ruby-value str">'exit'</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">chomp</span>.<span class="ruby-identifier">downcase</span>
459
+ 180: <span class="ruby-identifier">s</span>
460
+ 181: <span class="ruby-keyword kw">end</span></pre>
461
+ </div>
462
+
463
+ </div>
464
+
465
+
466
+
467
+
468
+ </div>
469
+
470
+
471
+ <div id="prompt-bid-method" class="method-detail ">
472
+ <a name="method-i-prompt_bid"></a>
473
+
474
+ <div class="method-heading">
475
+
476
+ <span class="method-name">prompt_bid</span><span
477
+ class="method-args">(min=nil)</span>
478
+ <span class="method-click-advice">click to toggle source</span>
479
+
480
+ </div>
481
+
482
+ <div class="method-description">
483
+
484
+
485
+
486
+
487
+
488
+ <div class="method-source-code"
489
+ id="prompt-bid-source">
490
+ <pre>
491
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 137</span>
492
+ 137: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_bid</span>(<span class="ruby-identifier">min</span>=<span class="ruby-keyword kw">nil</span>)
493
+ 138: <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;Enter your bid for the item &gt;&gt; &quot;</span>
494
+ 139: <span class="ruby-identifier">bid</span> = <span class="ruby-identifier">get_user_input</span>.<span class="ruby-identifier">to_f</span>
495
+ 140: <span class="ruby-identifier">puts</span>
496
+ 141: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">bid</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">min</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">bid</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-identifier">min</span>
497
+ 142: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;The minimum bid for this auction is #{min}. Try again, or type 'exit' to quit.&quot;</span>
498
+ 143: <span class="ruby-identifier">prompt_bid</span>(<span class="ruby-identifier">min</span>)
499
+ 144: <span class="ruby-keyword kw">end</span></pre>
500
+ </div>
501
+
502
+ </div>
503
+
504
+
505
+
506
+
507
+ </div>
508
+
509
+
510
+ <div id="prompt-confirm-auction-method" class="method-detail ">
511
+ <a name="method-i-prompt_confirm_auction"></a>
512
+
513
+ <div class="method-heading">
514
+
515
+ <span class="method-name">prompt_confirm_auction</span><span
516
+ class="method-args">(a)</span>
517
+ <span class="method-click-advice">click to toggle source</span>
518
+
519
+ </div>
520
+
521
+ <div class="method-description">
522
+
523
+
524
+
525
+
526
+
527
+ <div class="method-source-code"
528
+ id="prompt-confirm-auction-source">
529
+ <pre>
530
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 157</span>
531
+ 157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_confirm_auction</span>(<span class="ruby-identifier">a</span>)
532
+ 158: <span class="ruby-identifier">display_auction</span>(<span class="ruby-identifier">a</span>)
533
+ 159: <span class="ruby-identifier">print</span> <span class="ruby-value str">'Does this look like your auction? (y\n) &gt;&gt; '</span>
534
+ 160: <span class="ruby-identifier">confirm</span> = <span class="ruby-identifier">get_user_input</span>
535
+ 161: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">confirm</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">chr</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'y'</span>
536
+ 162: <span class="ruby-keyword kw">true</span>
537
+ 163: <span class="ruby-keyword kw">else</span>
538
+ 164: <span class="ruby-keyword kw">false</span>
539
+ 165: <span class="ruby-keyword kw">end</span>
540
+ 166: <span class="ruby-keyword kw">end</span></pre>
541
+ </div>
542
+
543
+ </div>
544
+
545
+
546
+
547
+
548
+ </div>
549
+
550
+
551
+ <div id="prompt-confirm-bid-method" class="method-detail ">
552
+ <a name="method-i-prompt_confirm_bid"></a>
553
+
554
+ <div class="method-heading">
555
+
556
+ <span class="method-name">prompt_confirm_bid</span><span
557
+ class="method-args">(amount)</span>
558
+ <span class="method-click-advice">click to toggle source</span>
559
+
560
+ </div>
561
+
562
+ <div class="method-description">
563
+
564
+
565
+
566
+
567
+
568
+ <div class="method-source-code"
569
+ id="prompt-confirm-bid-source">
570
+ <pre>
571
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 146</span>
572
+ 146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_confirm_bid</span>(<span class="ruby-identifier">amount</span>)
573
+ 147: <span class="ruby-identifier">printf</span> <span class="ruby-value str">&quot;Are you sure you want to bid %.2f? (y\\n) &gt;&gt; &quot;</span>, <span class="ruby-identifier">amount</span>
574
+ 148: <span class="ruby-identifier">confirm</span> = <span class="ruby-identifier">get_user_input</span>
575
+ 149: <span class="ruby-identifier">puts</span>
576
+ 150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">confirm</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">chr</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'y'</span>
577
+ 151: <span class="ruby-keyword kw">true</span>
578
+ 152: <span class="ruby-keyword kw">else</span>
579
+ 153: <span class="ruby-keyword kw">false</span>
580
+ 154: <span class="ruby-keyword kw">end</span>
581
+ 155: <span class="ruby-keyword kw">end</span></pre>
582
+ </div>
583
+
584
+ </div>
585
+
586
+
587
+
588
+
589
+ </div>
590
+
591
+
592
+ <div id="prompt-password-method" class="method-detail ">
593
+ <a name="method-i-prompt_password"></a>
594
+
595
+ <div class="method-heading">
596
+
597
+ <span class="method-name">prompt_password</span><span
598
+ class="method-args">()</span>
599
+ <span class="method-click-advice">click to toggle source</span>
600
+
601
+ </div>
602
+
603
+ <div class="method-description">
604
+
605
+
606
+
607
+
608
+
609
+ <div class="method-source-code"
610
+ id="prompt-password-source">
611
+ <pre>
612
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 127</span>
613
+ 127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_password</span>
614
+ 128: <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;Enter eBay password &gt;&gt; &quot;</span>
615
+ 129: <span class="ruby-identifier">system</span> <span class="ruby-value str">&quot;stty -echo&quot;</span>
616
+ 130: <span class="ruby-identifier">pass</span> = <span class="ruby-identifier">get_user_input</span>
617
+ 131: <span class="ruby-identifier">system</span> <span class="ruby-value str">&quot;stty echo&quot;</span>
618
+ 132: <span class="ruby-identifier">puts</span>
619
+ 133:
620
+ 134: <span class="ruby-identifier">pass</span>.<span class="ruby-identifier">chomp</span>
621
+ 135: <span class="ruby-keyword kw">end</span></pre>
622
+ </div>
623
+
624
+ </div>
625
+
626
+
627
+
628
+
629
+ </div>
630
+
631
+
632
+ <div id="prompt-url-method" class="method-detail ">
633
+ <a name="method-i-prompt_url"></a>
634
+
635
+ <div class="method-heading">
636
+
637
+ <span class="method-name">prompt_url</span><span
638
+ class="method-args">()</span>
639
+ <span class="method-click-advice">click to toggle source</span>
640
+
641
+ </div>
642
+
643
+ <div class="method-description">
644
+
645
+
646
+
647
+
648
+
649
+ <div class="method-source-code"
650
+ id="prompt-url-source">
651
+ <pre>
652
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 168</span>
653
+ 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_url</span>
654
+ 169: <span class="ruby-identifier">puts</span>
655
+ 170: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Enter an ebay auction url (or 'exit' to exit): &quot;</span>
656
+ 171: <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;\n&gt;&gt; &quot;</span>
657
+ 172: <span class="ruby-identifier">url</span> = <span class="ruby-identifier">get_user_input</span>
658
+ 173:
659
+ 174: <span class="ruby-identifier">url</span>.<span class="ruby-identifier">chomp</span>
660
+ 175: <span class="ruby-keyword kw">end</span></pre>
661
+ </div>
662
+
663
+ </div>
664
+
665
+
666
+
667
+
668
+ </div>
669
+
670
+
671
+ <div id="prompt-username-method" class="method-detail ">
672
+ <a name="method-i-prompt_username"></a>
673
+
674
+ <div class="method-heading">
675
+
676
+ <span class="method-name">prompt_username</span><span
677
+ class="method-args">()</span>
678
+ <span class="method-click-advice">click to toggle source</span>
679
+
680
+ </div>
681
+
682
+ <div class="method-description">
683
+
684
+
685
+
686
+
687
+
688
+ <div class="method-source-code"
689
+ id="prompt-username-source">
690
+ <pre>
691
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 122</span>
692
+ 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prompt_username</span>
693
+ 123: <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;Enter eBay username &gt;&gt; &quot;</span>
694
+ 124: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">get_user_input</span>.<span class="ruby-identifier">chomp</span>
695
+ 125: <span class="ruby-keyword kw">end</span></pre>
696
+ </div>
697
+
698
+ </div>
699
+
700
+
701
+
702
+
703
+ </div>
704
+
705
+
706
+ <div id="run-method" class="method-detail ">
707
+ <a name="method-i-run"></a>
708
+
709
+ <div class="method-heading">
710
+
711
+ <span class="method-name">run</span><span
712
+ class="method-args">()</span>
713
+ <span class="method-click-advice">click to toggle source</span>
714
+
715
+ </div>
716
+
717
+ <div class="method-description">
718
+
719
+
720
+
721
+
722
+
723
+ <div class="method-source-code"
724
+ id="run-source">
725
+ <pre>
726
+ <span class="ruby-comment cmt"># File lib/beway/cli_runner.rb, line 20</span>
727
+ 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
728
+ 21:
729
+ 22: <span class="ruby-identifier">display_intro</span>
730
+ 23:
731
+ 24: <span class="ruby-comment cmt"># login prep</span>
732
+ 25: <span class="ruby-identifier">user</span> = <span class="ruby-identifier">prompt_username</span>
733
+ 26: <span class="ruby-identifier">pass</span> = <span class="ruby-identifier">prompt_password</span>
734
+ 27: <span class="ruby-identifier">bidder</span> = <span class="ruby-constant">Bidder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">user</span>, <span class="ruby-identifier">pass</span>)
735
+ 28: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Logging in...&quot;</span>
736
+ 29: <span class="ruby-identifier">bidder</span>.<span class="ruby-identifier">login</span>
737
+ 30: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bidder</span>.<span class="ruby-identifier">logged_in</span>
738
+ 31: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot; ...success&quot;</span>
739
+ 32: <span class="ruby-keyword kw">else</span>
740
+ 33: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Bad ebay username/password combo! Please try again.&quot;</span>
741
+ 34: <span class="ruby-identifier">exit</span>
742
+ 35: <span class="ruby-keyword kw">end</span>
743
+ 36:
744
+ 37: <span class="ruby-comment cmt"># bid prep</span>
745
+ 38: <span class="ruby-identifier">auction</span> = <span class="ruby-identifier">auction_from_user</span>
746
+ 39: <span class="ruby-identifier">bid_amount</span> = <span class="ruby-identifier">bid_for_auction_from_user</span>(<span class="ruby-identifier">auction</span>)
747
+ 40:
748
+ 41: <span class="ruby-comment cmt"># our tools</span>
749
+ 42: <span class="ruby-identifier">ebay</span> = <span class="ruby-constant">EbayData</span>.<span class="ruby-identifier">instance</span>
750
+ 43:
751
+ 44: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
752
+ 45: <span class="ruby-identifier">display_auction</span> <span class="ruby-identifier">auction</span>
753
+ 46:
754
+ 47: <span class="ruby-identifier">seconds_to_end</span> = <span class="ruby-identifier">ebay</span>.<span class="ruby-identifier">seconds_to</span>(<span class="ruby-identifier">auction</span>.<span class="ruby-identifier">end_time</span>)
755
+ 48:
756
+ 49: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seconds_to_end</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-constant">BID_THRESHOLD</span>
757
+ 50: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Placing bid...&quot;</span>
758
+ 51: <span class="ruby-keyword kw">begin</span>
759
+ 52: <span class="ruby-identifier">bidder</span>.<span class="ruby-identifier">bid</span>(<span class="ruby-identifier">auction</span>.<span class="ruby-identifier">url</span>, <span class="ruby-identifier">bid_amount</span>)
760
+ 53: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot; ...placed.&quot;</span>
761
+ 54: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Sleeping til end of auction...&quot;</span>
762
+ 55: <span class="ruby-identifier">sleep</span> <span class="ruby-identifier">ebay</span>.<span class="ruby-identifier">seconds_to</span>(<span class="ruby-identifier">auction</span>.<span class="ruby-identifier">end_time</span>).<span class="ruby-identifier">ceil</span>
763
+ 56: <span class="ruby-identifier">auction</span>.<span class="ruby-identifier">refresh_doc</span>
764
+ 57: <span class="ruby-identifier">display_auction</span> <span class="ruby-identifier">auction</span>
765
+ 58: <span class="ruby-identifier">exit</span>
766
+ 59: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">BidderError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
767
+ 60: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot; ...oh no!&quot;</span>
768
+ 61: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;There was an error placing your bid:&quot;</span>
769
+ 62: <span class="ruby-identifier">puts</span>
770
+ 63: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
771
+ 64: <span class="ruby-identifier">puts</span>
772
+ 65: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;So sorry!&quot;</span>
773
+ 66: <span class="ruby-identifier">exit</span>
774
+ 67: <span class="ruby-keyword kw">end</span>
775
+ 68: <span class="ruby-keyword kw">end</span>
776
+ 69:
777
+ 70: <span class="ruby-identifier">seconds</span> = <span class="ruby-identifier">seconds_to_end</span>.<span class="ruby-identifier">floor</span> <span class="ruby-operator">/</span> <span class="ruby-value">2</span>
778
+ 71: <span class="ruby-identifier">seconds</span> = <span class="ruby-value">5</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">seconds_to_end</span> <span class="ruby-operator">&lt;</span> (<span class="ruby-value">2</span> * <span class="ruby-constant">BID_THRESHOLD</span>)
779
+ 72: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Sleeping #{seconds} seconds...&quot;</span>
780
+ 73: <span class="ruby-identifier">sleep</span> <span class="ruby-identifier">seconds</span>
781
+ 74:
782
+ 75: <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Updating auction...&quot;</span>
783
+ 76: <span class="ruby-identifier">puts</span>
784
+ 77: <span class="ruby-identifier">auction</span>.<span class="ruby-identifier">refresh_doc</span>
785
+ 78: <span class="ruby-keyword kw">end</span>
786
+ 79: <span class="ruby-keyword kw">end</span></pre>
787
+ </div>
788
+
789
+ </div>
790
+
791
+
792
+
793
+
794
+ </div>
795
+
796
+
797
+ </div>
798
+
799
+
800
+ </div>
801
+
802
+
803
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
804
+
805
+ <p>Disabled; run with --debug to generate this.</p>
806
+
807
+ </div>
808
+
809
+ <div id="validator-badges">
810
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
811
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
812
+ Rdoc Generator</a> 1.1.6</small>.</p>
813
+ </div>
814
+
815
+ </body>
816
+ </html>
817
+