currency_spy 0.0.1 → 0.0.3

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/Gemfile.lock CHANGED
@@ -1,12 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- currency_spy (0.0.1)
4
+ currency_spy (0.0.2)
5
+ bundler
6
+ mechanize
5
7
 
6
8
  GEM
7
9
  remote: http://rubygems.org/
8
10
  specs:
9
11
  diff-lcs (1.1.2)
12
+ mechanize (1.0.0)
13
+ nokogiri (>= 1.2.1)
14
+ nokogiri (1.4.4)
10
15
  rspec (2.4.0)
11
16
  rspec-core (~> 2.4.0)
12
17
  rspec-expectations (~> 2.4.0)
@@ -20,5 +25,7 @@ PLATFORMS
20
25
  ruby
21
26
 
22
27
  DEPENDENCIES
28
+ bundler
23
29
  currency_spy!
30
+ mechanize
24
31
  rspec
data/README.rdoc CHANGED
@@ -25,6 +25,14 @@ You can also clone my GitHub repository
25
25
  (git://github.com/lbadura/currency_spy.git) and build the gem yourself and / or
26
26
  hack on it.
27
27
 
28
+ == Usage
29
+
30
+ The usage is really simple. To fetch rates from given source just instantiate
31
+ a class which represents that source and call fetch_rates on it:
32
+ nbp = CurrencySpy::Nbp.new
33
+ rates = nbp.fetch_rates
34
+ => {:buy_rate=>3.8482, :sell_rate=>3.926, :rate_time=>#<DateTime:2011-01-07T00:00:00+00:00 (4911137/2,0/1,2299161)>}
35
+
28
36
  == Credits
29
37
 
30
38
  Feel free to contact me at lukasz@niebo.net.
data/currency_spy.gemspec CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.add_development_dependency "rspec"
18
18
  s.add_dependency "mechanize"
19
+ s.add_dependency "bundler"
19
20
 
20
21
  s.files = `git ls-files`.split("\n")
21
22
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
@@ -0,0 +1,277 @@
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>Module: CurrencySpy</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="module">
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/currency_spy_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/currency_spy.rb">lib/currency_spy.rb</a></li>
43
+
44
+ <li><a href="./lib/currency_spy/version_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
45
+ class="thickbox" title="lib/currency_spy/version.rb">lib/currency_spy/version.rb</a></li>
46
+
47
+ <li><a href="./lib/currency_spy/nbp_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
48
+ class="thickbox" title="lib/currency_spy/nbp.rb">lib/currency_spy/nbp.rb</a></li>
49
+
50
+ <li><a href="./lib/currency_spy/dnb_nord_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
51
+ class="thickbox" title="lib/currency_spy/dnb_nord.rb">lib/currency_spy/dnb_nord.rb</a></li>
52
+
53
+ <li><a href="./lib/currency_spy/scraper_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
54
+ class="thickbox" title="lib/currency_spy/scraper.rb">lib/currency_spy/scraper.rb</a></li>
55
+
56
+ <li><a href="./lib/currency_spy/walutomat_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
57
+ class="thickbox" title="lib/currency_spy/walutomat.rb">lib/currency_spy/walutomat.rb</a></li>
58
+
59
+ </ul>
60
+ </div>
61
+ </div>
62
+
63
+
64
+ </div>
65
+
66
+ <div id="class-metadata">
67
+
68
+ <!-- Parent Class -->
69
+
70
+
71
+ <!-- Namespace Contents -->
72
+
73
+ <div id="namespace-list-section" class="section">
74
+ <h3 class="section-header">Namespace</h3>
75
+ <ul class="link-list">
76
+
77
+ <li><span class="type">CLASS</span> <a href="CurrencySpy/DnbNord.html">CurrencySpy::DnbNord</a></li>
78
+
79
+ <li><span class="type">CLASS</span> <a href="CurrencySpy/Nbp.html">CurrencySpy::Nbp</a></li>
80
+
81
+ <li><span class="type">CLASS</span> <a href="CurrencySpy/Scraper.html">CurrencySpy::Scraper</a></li>
82
+
83
+ <li><span class="type">CLASS</span> <a href="CurrencySpy/Walutomat.html">CurrencySpy::Walutomat</a></li>
84
+
85
+ </ul>
86
+ </div>
87
+
88
+
89
+ <!-- Method Quickref -->
90
+
91
+ <div id="method-list-section" class="section">
92
+ <h3 class="section-header">Methods</h3>
93
+ <ul class="link-list">
94
+
95
+ <li><a href="#method-c-datestr">::datestr</a></li>
96
+
97
+ </ul>
98
+ </div>
99
+
100
+
101
+ <!-- Included Modules -->
102
+
103
+ </div>
104
+
105
+ <div id="project-metadata">
106
+
107
+
108
+ <div id="fileindex-section" class="section project-section">
109
+ <h3 class="section-header">Files</h3>
110
+ <ul>
111
+
112
+ <li class="file"><a href="./Gemfile.html">Gemfile</a></li>
113
+
114
+ <li class="file"><a href="./LICENSE.html">LICENSE</a></li>
115
+
116
+ <li class="file"><a href="./README_rdoc.html">README.rdoc</a></li>
117
+
118
+ <li class="file"><a href="./Rakefile.html">Rakefile</a></li>
119
+
120
+ <li class="file"><a href="./nbproject/private/rake-d_txt.html">rake-d.txt</a></li>
121
+
122
+ </ul>
123
+ </div>
124
+
125
+
126
+ <div id="classindex-section" class="section project-section">
127
+ <h3 class="section-header">Class Index
128
+ <span class="search-toggle"><img src="./images/find.png"
129
+ height="16" width="16" alt="[+]"
130
+ title="show/hide quicksearch" /></span></h3>
131
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
132
+ <fieldset>
133
+ <legend>Quicksearch</legend>
134
+ <input type="text" name="quicksearch" value=""
135
+ class="quicksearch-field" />
136
+ </fieldset>
137
+ </form>
138
+
139
+ <ul class="link-list">
140
+
141
+ <li><a href="./CurrencySpy.html">CurrencySpy</a></li>
142
+
143
+ <li><a href="./CurrencySpy/DnbNord.html">CurrencySpy::DnbNord</a></li>
144
+
145
+ <li><a href="./CurrencySpy/Nbp.html">CurrencySpy::Nbp</a></li>
146
+
147
+ <li><a href="./CurrencySpy/Scraper.html">CurrencySpy::Scraper</a></li>
148
+
149
+ <li><a href="./CurrencySpy/Walutomat.html">CurrencySpy::Walutomat</a></li>
150
+
151
+ </ul>
152
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
153
+ </div>
154
+
155
+
156
+ </div>
157
+ </div>
158
+
159
+ <div id="documentation">
160
+ <h1 class="module">CurrencySpy</h1>
161
+
162
+ <div id="description">
163
+ <p>
164
+ This gem is a set of scrapers to fetch currencies from various
165
+ institutions&#8217; websites. It&#8217;s primary use is to monitor the
166
+ changes of currency rates across different institutions to calculate
167
+ spreads (difference between the buying rate and the selling rate. It
168
+ fetches the rates in PLN (Polish Zloty) however if there&#8217;s a demand I
169
+ could extend the gem to be more flexible.
170
+ </p>
171
+ <table>
172
+ <tr><td valign="top">Author</td><td><p>
173
+ Łukasz Badura (<a href="mailto:lukasz@niebo.net">lukasz@niebo.net</a>)
174
+ </p>
175
+ </td></tr>
176
+ <tr><td valign="top">Copyright</td><td><p>
177
+ Copyright &#169; 2011 Łukasz Badura
178
+ </p>
179
+ </td></tr>
180
+ <tr><td valign="top">License</td><td><p>
181
+ MIT license.
182
+ </p>
183
+ </td></tr>
184
+ </table>
185
+
186
+ </div>
187
+
188
+ <!-- Constants -->
189
+
190
+ <div id="constants-list" class="section">
191
+ <h3 class="section-header">Constants</h3>
192
+ <dl>
193
+
194
+ <dt><a name="DATE_FORMAT">DATE_FORMAT</a></dt>
195
+
196
+ <dd class="description"><p>
197
+ Default date format used for date presentation across the code
198
+ </p></dd>
199
+
200
+
201
+ <dt><a name="VERSION">VERSION</a></dt>
202
+
203
+ <dd class="description"><p>
204
+ Stores the version of the currency_spy gem
205
+ </p></dd>
206
+
207
+
208
+ </dl>
209
+ </div>
210
+
211
+
212
+ <!-- Attributes -->
213
+
214
+
215
+ <!-- Methods -->
216
+
217
+ <div id="public-class-method-details" class="method-section section">
218
+ <h3 class="section-header">Public Class Methods</h3>
219
+
220
+
221
+ <div id="datestr-method" class="method-detail ">
222
+ <a name="method-c-datestr"></a>
223
+
224
+ <div class="method-heading">
225
+
226
+ <span class="method-name">datestr</span><span
227
+ class="method-args">(date)</span>
228
+ <span class="method-click-advice">click to toggle source</span>
229
+
230
+ </div>
231
+
232
+ <div class="method-description">
233
+
234
+ <p>
235
+ Returns a string representation of a given date in the default format
236
+ </p>
237
+
238
+
239
+
240
+ <div class="method-source-code"
241
+ id="datestr-source">
242
+ <pre>
243
+ <span class="ruby-comment cmt"># File lib/currency_spy.rb, line 25</span>
244
+ 25: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">datestr</span>(<span class="ruby-identifier">date</span>)
245
+ 26: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">date</span>.<span class="ruby-identifier">strftime</span>(<span class="ruby-constant">CurrencySpy</span><span class="ruby-operator">::</span><span class="ruby-constant">DATE_FORMAT</span>)
246
+ 27: <span class="ruby-keyword kw">end</span></pre>
247
+ </div>
248
+
249
+ </div>
250
+
251
+
252
+
253
+
254
+ </div>
255
+
256
+
257
+ </div>
258
+
259
+
260
+ </div>
261
+
262
+
263
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
264
+
265
+ <p>Disabled; run with --debug to generate this.</p>
266
+
267
+ </div>
268
+
269
+ <div id="validator-badges">
270
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
271
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
272
+ Rdoc Generator</a> 1.1.6</small>.</p>
273
+ </div>
274
+
275
+ </body>
276
+ </html>
277
+
@@ -0,0 +1,454 @@
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: CurrencySpy::DnbNord</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/currency_spy/dnb_nord_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/currency_spy/dnb_nord.rb">lib/currency_spy/dnb_nord.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"><a href="Scraper.html">CurrencySpy::Scraper</a></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-i-buy_rate">#buy_rate</a></li>
75
+
76
+ <li><a href="#method-i-rate_time">#rate_time</a></li>
77
+
78
+ <li><a href="#method-i-sell_rate">#sell_rate</a></li>
79
+
80
+ <li><a href="#method-i-url">#url</a></li>
81
+
82
+ </ul>
83
+ </div>
84
+
85
+
86
+ <!-- Included Modules -->
87
+
88
+ </div>
89
+
90
+ <div id="project-metadata">
91
+
92
+
93
+ <div id="fileindex-section" class="section project-section">
94
+ <h3 class="section-header">Files</h3>
95
+ <ul>
96
+
97
+ <li class="file"><a href="../Gemfile.html">Gemfile</a></li>
98
+
99
+ <li class="file"><a href="../LICENSE.html">LICENSE</a></li>
100
+
101
+ <li class="file"><a href="../README_rdoc.html">README.rdoc</a></li>
102
+
103
+ <li class="file"><a href="../Rakefile.html">Rakefile</a></li>
104
+
105
+ <li class="file"><a href="../nbproject/private/rake-d_txt.html">rake-d.txt</a></li>
106
+
107
+ </ul>
108
+ </div>
109
+
110
+
111
+ <div id="classindex-section" class="section project-section">
112
+ <h3 class="section-header">Class Index
113
+ <span class="search-toggle"><img src="../images/find.png"
114
+ height="16" width="16" alt="[+]"
115
+ title="show/hide quicksearch" /></span></h3>
116
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
117
+ <fieldset>
118
+ <legend>Quicksearch</legend>
119
+ <input type="text" name="quicksearch" value=""
120
+ class="quicksearch-field" />
121
+ </fieldset>
122
+ </form>
123
+
124
+ <ul class="link-list">
125
+
126
+ <li><a href="../CurrencySpy.html">CurrencySpy</a></li>
127
+
128
+ <li><a href="../CurrencySpy/DnbNord.html">CurrencySpy::DnbNord</a></li>
129
+
130
+ <li><a href="../CurrencySpy/Nbp.html">CurrencySpy::Nbp</a></li>
131
+
132
+ <li><a href="../CurrencySpy/Scraper.html">CurrencySpy::Scraper</a></li>
133
+
134
+ <li><a href="../CurrencySpy/Walutomat.html">CurrencySpy::Walutomat</a></li>
135
+
136
+ </ul>
137
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
138
+ </div>
139
+
140
+
141
+ </div>
142
+ </div>
143
+
144
+ <div id="documentation">
145
+ <h1 class="class">CurrencySpy::DnbNord</h1>
146
+
147
+ <div id="description">
148
+ <p>
149
+ Class designed to fetch data from DnB Nord&#8217;s website.
150
+ </p>
151
+
152
+ </div>
153
+
154
+ <!-- Constants -->
155
+
156
+
157
+ <!-- Attributes -->
158
+
159
+ <div id="attribute-method-details" class="method-section section">
160
+ <h3 class="section-header">Attributes</h3>
161
+
162
+
163
+ <div id="session-date-attribute-method" class="method-detail">
164
+ <a name="session_date"></a>
165
+
166
+ <a name="session_date="></a>
167
+
168
+ <div class="method-heading attribute-method-heading">
169
+ <span class="method-name">session_date</span><span
170
+ class="attribute-access-type">[RW]</span>
171
+ </div>
172
+
173
+ <div class="method-description">
174
+
175
+
176
+
177
+ </div>
178
+ </div>
179
+
180
+ <div id="session-no-attribute-method" class="method-detail">
181
+ <a name="session_no"></a>
182
+
183
+ <a name="session_no="></a>
184
+
185
+ <div class="method-heading attribute-method-heading">
186
+ <span class="method-name">session_no</span><span
187
+ class="attribute-access-type">[RW]</span>
188
+ </div>
189
+
190
+ <div class="method-description">
191
+
192
+
193
+
194
+ </div>
195
+ </div>
196
+
197
+ </div>
198
+
199
+
200
+ <!-- Methods -->
201
+
202
+ <div id="public-class-method-details" class="method-section section">
203
+ <h3 class="section-header">Public Class Methods</h3>
204
+
205
+
206
+ <div id="new-method" class="method-detail ">
207
+ <a name="method-c-new"></a>
208
+
209
+ <div class="method-heading">
210
+
211
+ <span class="method-name">new</span><span
212
+ class="method-args">()</span>
213
+ <span class="method-click-advice">click to toggle source</span>
214
+
215
+ </div>
216
+
217
+ <div class="method-description">
218
+
219
+ <p>
220
+ Constructor. Initializes the following:
221
+ </p>
222
+ <ul>
223
+ <li><p>
224
+ url is set to nil
225
+ </p>
226
+ </li>
227
+ <li><p>
228
+ institution name
229
+ </p>
230
+ </li>
231
+ <li><p>
232
+ a list of currency codes available from that source
233
+ </p>
234
+ </li>
235
+ <li><p>
236
+ <a href="DnbNord.html#session_no">session_no</a> number of the session.
237
+ There are two sessions. 1 means the first at 8:15 am and 2 means the second
238
+ one held at 12:15
239
+ </p>
240
+ </li>
241
+ </ul>
242
+
243
+
244
+
245
+ <div class="method-source-code"
246
+ id="new-source">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File lib/currency_spy/dnb_nord.rb, line 12</span>
249
+ 12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
250
+ 13: <span class="ruby-keyword kw">super</span>
251
+ 14: <span class="ruby-ivar">@url</span> = <span class="ruby-keyword kw">nil</span>
252
+ 15: <span class="ruby-ivar">@institution</span> = <span class="ruby-value str">'DnB Nord'</span>
253
+ 16: <span class="ruby-ivar">@available_codes</span> = <span class="ruby-node">%(EUR USD GBP CHF DKK NOK SEK CZK JPY HUF CAD AUD LTL)</span>
254
+ 17: <span class="ruby-ivar">@session_no</span> = <span class="ruby-keyword kw">nil</span>
255
+ 18: <span class="ruby-keyword kw">end</span></pre>
256
+ </div>
257
+
258
+ </div>
259
+
260
+
261
+
262
+
263
+ </div>
264
+
265
+
266
+ </div>
267
+
268
+ <div id="public-instance-method-details" class="method-section section">
269
+ <h3 class="section-header">Public Instance Methods</h3>
270
+
271
+
272
+ <div id="buy-rate-method" class="method-detail ">
273
+ <a name="method-i-buy_rate"></a>
274
+
275
+ <div class="method-heading">
276
+
277
+ <span class="method-name">buy_rate</span><span
278
+ class="method-args">()</span>
279
+ <span class="method-click-advice">click to toggle source</span>
280
+
281
+ </div>
282
+
283
+ <div class="method-description">
284
+
285
+ <p>
286
+ Fetches the buying rate
287
+ </p>
288
+
289
+
290
+
291
+ <div class="method-source-code"
292
+ id="buy-rate-source">
293
+ <pre>
294
+ <span class="ruby-comment cmt"># File lib/currency_spy/dnb_nord.rb, line 40</span>
295
+ 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">buy_rate</span>
296
+ 41: <span class="ruby-identifier">regexp</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">currency_code</span>)
297
+ 42: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
298
+ 43: <span class="ruby-identifier">page</span>.<span class="ruby-identifier">search</span>(<span class="ruby-value str">&quot;//td&quot;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">td</span><span class="ruby-operator">|</span>
299
+ 44: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">regexp</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">td</span>.<span class="ruby-identifier">content</span>))
300
+ 45: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">td</span>.<span class="ruby-identifier">next_element</span>.<span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_f</span>
301
+ 46: <span class="ruby-keyword kw">end</span>
302
+ 47: <span class="ruby-keyword kw">end</span>
303
+ 48: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
304
+ 49: <span class="ruby-keyword kw">end</span></pre>
305
+ </div>
306
+
307
+ </div>
308
+
309
+
310
+
311
+
312
+ </div>
313
+
314
+
315
+ <div id="rate-time-method" class="method-detail ">
316
+ <a name="method-i-rate_time"></a>
317
+
318
+ <div class="method-heading">
319
+
320
+ <span class="method-name">rate_time</span><span
321
+ class="method-args">()</span>
322
+ <span class="method-click-advice">click to toggle source</span>
323
+
324
+ </div>
325
+
326
+ <div class="method-description">
327
+
328
+ <p>
329
+ Fetches the time of given rates
330
+ </p>
331
+
332
+
333
+
334
+ <div class="method-source-code"
335
+ id="rate-time-source">
336
+ <pre>
337
+ <span class="ruby-comment cmt"># File lib/currency_spy/dnb_nord.rb, line 52</span>
338
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rate_time</span>
339
+ 53: <span class="ruby-identifier">hour</span> = <span class="ruby-ivar">@session_time</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;12:15&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;08:15&quot;</span>
340
+ 54: <span class="ruby-constant">DateTime</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">hour</span>)
341
+ 55: <span class="ruby-keyword kw">end</span></pre>
342
+ </div>
343
+
344
+ </div>
345
+
346
+
347
+
348
+
349
+ </div>
350
+
351
+
352
+ <div id="sell-rate-method" class="method-detail ">
353
+ <a name="method-i-sell_rate"></a>
354
+
355
+ <div class="method-heading">
356
+
357
+ <span class="method-name">sell_rate</span><span
358
+ class="method-args">()</span>
359
+ <span class="method-click-advice">click to toggle source</span>
360
+
361
+ </div>
362
+
363
+ <div class="method-description">
364
+
365
+ <p>
366
+ Fetches the selling rate
367
+ </p>
368
+
369
+
370
+
371
+ <div class="method-source-code"
372
+ id="sell-rate-source">
373
+ <pre>
374
+ <span class="ruby-comment cmt"># File lib/currency_spy/dnb_nord.rb, line 28</span>
375
+ 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sell_rate</span>
376
+ 29: <span class="ruby-identifier">regexp</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">currency_code</span>)
377
+ 30: <span class="ruby-identifier">res</span> = <span class="ruby-keyword kw">nil</span>
378
+ 31: <span class="ruby-identifier">page</span>.<span class="ruby-identifier">search</span>(<span class="ruby-value str">&quot;//td&quot;</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">td</span><span class="ruby-operator">|</span>
379
+ 32: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">regexp</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">td</span>.<span class="ruby-identifier">content</span>))
380
+ 33: <span class="ruby-identifier">res</span> = <span class="ruby-identifier">td</span>.<span class="ruby-identifier">next_element</span>.<span class="ruby-identifier">next_element</span>.<span class="ruby-identifier">content</span>.<span class="ruby-identifier">to_f</span>
381
+ 34: <span class="ruby-keyword kw">end</span>
382
+ 35: <span class="ruby-keyword kw">end</span>
383
+ 36: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
384
+ 37: <span class="ruby-keyword kw">end</span></pre>
385
+ </div>
386
+
387
+ </div>
388
+
389
+
390
+
391
+
392
+ </div>
393
+
394
+
395
+ <div id="url-method" class="method-detail ">
396
+ <a name="method-i-url"></a>
397
+
398
+ <div class="method-heading">
399
+
400
+ <span class="method-name">url</span><span
401
+ class="method-args">()</span>
402
+ <span class="method-click-advice">click to toggle source</span>
403
+
404
+ </div>
405
+
406
+ <div class="method-description">
407
+
408
+ <p>
409
+ Determines the correct url of the web page to fetch rates from based of the
410
+ instance variable <a href="DnbNord.html#session_no">session_no</a>
411
+ </p>
412
+
413
+
414
+
415
+ <div class="method-source-code"
416
+ id="url-source">
417
+ <pre>
418
+ <span class="ruby-comment cmt"># File lib/currency_spy/dnb_nord.rb, line 21</span>
419
+ 21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">url</span>
420
+ 22: <span class="ruby-identifier">dnb_session_no</span> = <span class="ruby-ivar">@session_no</span> <span class="ruby-operator">||=</span> <span class="ruby-value">1</span>
421
+ 23: <span class="ruby-identifier">session_time</span> = <span class="ruby-identifier">dnb_session_no</span> <span class="ruby-operator">==</span> <span class="ruby-value">2</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;12:15&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;08:15&quot;</span>
422
+ 24: <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;http://www.dnbnord.pl/pl/tabela-kursow-walut-dla-kredytow/go:godzina=#{session_time}&quot;</span>
423
+ 25: <span class="ruby-keyword kw">end</span></pre>
424
+ </div>
425
+
426
+ </div>
427
+
428
+
429
+
430
+
431
+ </div>
432
+
433
+
434
+ </div>
435
+
436
+
437
+ </div>
438
+
439
+
440
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
441
+
442
+ <p>Disabled; run with --debug to generate this.</p>
443
+
444
+ </div>
445
+
446
+ <div id="validator-badges">
447
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
448
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
449
+ Rdoc Generator</a> 1.1.6</small>.</p>
450
+ </div>
451
+
452
+ </body>
453
+ </html>
454
+