exchange 0.2.6

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.
Files changed (40) hide show
  1. data/.document +5 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +17 -0
  5. data/Gemfile.lock +41 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.rdoc +262 -0
  8. data/Rakefile +46 -0
  9. data/VERSION +1 -0
  10. data/exchange.gemspec +102 -0
  11. data/lib/core_extensions/conversability.rb +32 -0
  12. data/lib/exchange.rb +11 -0
  13. data/lib/exchange/cache.rb +4 -0
  14. data/lib/exchange/cache/base.rb +51 -0
  15. data/lib/exchange/cache/memcached.rb +52 -0
  16. data/lib/exchange/cache/rails.rb +45 -0
  17. data/lib/exchange/cache/redis.rb +54 -0
  18. data/lib/exchange/configuration.rb +72 -0
  19. data/lib/exchange/currency.rb +237 -0
  20. data/lib/exchange/external_api.rb +4 -0
  21. data/lib/exchange/external_api/base.rb +114 -0
  22. data/lib/exchange/external_api/call.rb +76 -0
  23. data/lib/exchange/external_api/currency_bot.rb +47 -0
  24. data/lib/exchange/external_api/xavier_media.rb +47 -0
  25. data/spec/core_extensions/conversability_spec.rb +64 -0
  26. data/spec/exchange/cache/base_spec.rb +29 -0
  27. data/spec/exchange/cache/memcached_spec.rb +72 -0
  28. data/spec/exchange/cache/rails_spec.rb +67 -0
  29. data/spec/exchange/cache/redis_spec.rb +76 -0
  30. data/spec/exchange/configuration_spec.rb +47 -0
  31. data/spec/exchange/currency_spec.rb +219 -0
  32. data/spec/exchange/external_api/base_spec.rb +31 -0
  33. data/spec/exchange/external_api/call_spec.rb +68 -0
  34. data/spec/exchange/external_api/currency_bot_spec.rb +61 -0
  35. data/spec/exchange/external_api/xavier_media_spec.rb +59 -0
  36. data/spec/spec_helper.rb +28 -0
  37. data/spec/support/api_responses/example_historic_json.json +167 -0
  38. data/spec/support/api_responses/example_json_api.json +167 -0
  39. data/spec/support/api_responses/example_xml_api.xml +156 -0
  40. metadata +191 -0
@@ -0,0 +1,156 @@
1
+
2
+ <?xml version="1.0" encoding="UTF-8" ?>
3
+ <?xml-stylesheet href="http://api.finance.xaviermedia.com/style/daily_rates.xsl" type="text/xsl"?>
4
+ <xavierresponse responsecode="200">
5
+ <fx_date>2011-12-01</fx_date>
6
+ <title>Xavier Finance - Exchange rates for 2011-12-01</title>
7
+ <link>http://finance.xaviermedia.com/</link>
8
+ <exchange_rates>
9
+ <basecurrency>EUR</basecurrency>
10
+ <fx_date>2011-12-01</fx_date>
11
+ <fx basecurrency="EUR">
12
+ <currency_code>EUR</currency_code>
13
+ <rate>1.0</rate>
14
+ </fx>
15
+ <fx basecurrency="EUR">
16
+ <currency_code>USD</currency_code>
17
+ <rate>1.349200</rate>
18
+ </fx>
19
+ <fx basecurrency="EUR">
20
+ <currency_code>JPY</currency_code>
21
+ <rate>104.839996</rate>
22
+ </fx>
23
+ <fx basecurrency="EUR">
24
+ <currency_code>GBP</currency_code>
25
+ <rate>0.859100</rate>
26
+ </fx>
27
+ <fx basecurrency="EUR">
28
+ <currency_code>CYP</currency_code>
29
+ <rate>0.000000</rate>
30
+ </fx>
31
+ <fx basecurrency="EUR">
32
+ <currency_code>CZK</currency_code>
33
+ <rate>25.278999</rate>
34
+ </fx>
35
+ <fx basecurrency="EUR">
36
+ <currency_code>DKK</currency_code>
37
+ <rate>7.433000</rate>
38
+ </fx>
39
+ <fx basecurrency="EUR">
40
+ <currency_code>EEK</currency_code>
41
+ <rate>0.000000</rate>
42
+ </fx>
43
+ <fx basecurrency="EUR">
44
+ <currency_code>HUF</currency_code>
45
+ <rate>302.500000</rate>
46
+ </fx>
47
+ <fx basecurrency="EUR">
48
+ <currency_code>LTL</currency_code>
49
+ <rate>3.452800</rate>
50
+ </fx>
51
+ <fx basecurrency="EUR">
52
+ <currency_code>MTL</currency_code>
53
+ <rate>0.000000</rate>
54
+ </fx>
55
+ <fx basecurrency="EUR">
56
+ <currency_code>PLN</currency_code>
57
+ <rate>4.505000</rate>
58
+ </fx>
59
+ <fx basecurrency="EUR">
60
+ <currency_code>SEK</currency_code>
61
+ <rate>9.125800</rate>
62
+ </fx>
63
+ <fx basecurrency="EUR">
64
+ <currency_code>SIT</currency_code>
65
+ <rate>0.000000</rate>
66
+ </fx>
67
+ <fx basecurrency="EUR">
68
+ <currency_code>SKK</currency_code>
69
+ <rate>0.000000</rate>
70
+ </fx>
71
+ <fx basecurrency="EUR">
72
+ <currency_code>CHF</currency_code>
73
+ <rate>1.226400</rate>
74
+ </fx>
75
+ <fx basecurrency="EUR">
76
+ <currency_code>ISK</currency_code>
77
+ <rate>0.000000</rate>
78
+ </fx>
79
+ <fx basecurrency="EUR">
80
+ <currency_code>NOK</currency_code>
81
+ <rate>7.783000</rate>
82
+ </fx>
83
+ <fx basecurrency="EUR">
84
+ <currency_code>BGN</currency_code>
85
+ <rate>1.955800</rate>
86
+ </fx>
87
+ <fx basecurrency="EUR">
88
+ <currency_code>HRK</currency_code>
89
+ <rate>7.508500</rate>
90
+ </fx>
91
+ <fx basecurrency="EUR">
92
+ <currency_code>ROL</currency_code>
93
+ <rate>0.000000</rate>
94
+ </fx>
95
+ <fx basecurrency="EUR">
96
+ <currency_code>RON</currency_code>
97
+ <rate>4.355000</rate>
98
+ </fx>
99
+ <fx basecurrency="EUR">
100
+ <currency_code>RUB</currency_code>
101
+ <rate>41.465000</rate>
102
+ </fx>
103
+ <fx basecurrency="EUR">
104
+ <currency_code>TRL</currency_code>
105
+ <rate>0.000000</rate>
106
+ </fx>
107
+ <fx basecurrency="EUR">
108
+ <currency_code>AUD</currency_code>
109
+ <rate>1.318200</rate>
110
+ </fx>
111
+ <fx basecurrency="EUR">
112
+ <currency_code>CAD</currency_code>
113
+ <rate>1.373600</rate>
114
+ </fx>
115
+ <fx basecurrency="EUR">
116
+ <currency_code>CNY</currency_code>
117
+ <rate>8.589000</rate>
118
+ </fx>
119
+ <fx basecurrency="EUR">
120
+ <currency_code>HKD</currency_code>
121
+ <rate>10.486800</rate>
122
+ </fx>
123
+ <fx basecurrency="EUR">
124
+ <currency_code>IDR</currency_code>
125
+ <rate>12136.500</rate>
126
+ </fx>
127
+ <fx basecurrency="EUR">
128
+ <currency_code>KRW</currency_code>
129
+ <rate>1518.010010</rate>
130
+ </fx>
131
+ <fx basecurrency="EUR">
132
+ <currency_code>MYR</currency_code>
133
+ <rate>4.208700</rate>
134
+ </fx>
135
+ <fx basecurrency="EUR">
136
+ <currency_code>NZD</currency_code>
137
+ <rate>1.734700</rate>
138
+ </fx>
139
+ <fx basecurrency="EUR">
140
+ <currency_code>PHP</currency_code>
141
+ <rate>58.390999</rate>
142
+ </fx>
143
+ <fx basecurrency="EUR">
144
+ <currency_code>SGD</currency_code>
145
+ <rate>1.731200</rate>
146
+ </fx>
147
+ <fx basecurrency="EUR">
148
+ <currency_code>THB</currency_code>
149
+ <rate>41.636002</rate>
150
+ </fx>
151
+ <fx basecurrency="EUR">
152
+ <currency_code>ZAR</currency_code>
153
+ <rate>10.935000</rate>
154
+ </fx>
155
+ </exchange_rates>
156
+ </xavierresponse>
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: exchange
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.6
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Beat Richartz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-02-03 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: &70171817966300 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70171817966300
25
+ - !ruby/object:Gem::Dependency
26
+ name: json
27
+ requirement: &70171817965540 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.6.5
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70171817965540
36
+ - !ruby/object:Gem::Dependency
37
+ name: memcached
38
+ requirement: &70171817963680 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 1.3.0
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *70171817963680
47
+ - !ruby/object:Gem::Dependency
48
+ name: redis
49
+ requirement: &70171817962180 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.2.0
55
+ type: :runtime
56
+ prerelease: false
57
+ version_requirements: *70171817962180
58
+ - !ruby/object:Gem::Dependency
59
+ name: shoulda
60
+ requirement: &70171817960860 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70171817960860
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: &70171817960060 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.7.4
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *70171817960060
80
+ - !ruby/object:Gem::Dependency
81
+ name: bundler
82
+ requirement: &70171817959380 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 1.0.0
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *70171817959380
91
+ - !ruby/object:Gem::Dependency
92
+ name: jeweler
93
+ requirement: &70171817958500 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ~>
97
+ - !ruby/object:Gem::Version
98
+ version: 1.8.3
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *70171817958500
102
+ - !ruby/object:Gem::Dependency
103
+ name: rspec
104
+ requirement: &70171817957920 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: *70171817957920
113
+ description: ! "The Exchange Gem gives you easy access to currency functions directly
114
+ on your Numbers. Imagine a conversion as easy as \n 1.eur.to_usd\n or even better
115
+ \n 1.eur.to_usd(:at => Time.now - 84600)\n which gets you an exchange at the
116
+ rates of yesterday."
117
+ email: exchange_gem@gmail.com
118
+ executables: []
119
+ extensions: []
120
+ extra_rdoc_files:
121
+ - LICENSE.txt
122
+ - README.rdoc
123
+ files:
124
+ - .document
125
+ - .rspec
126
+ - .travis.yml
127
+ - Gemfile
128
+ - Gemfile.lock
129
+ - LICENSE.txt
130
+ - README.rdoc
131
+ - Rakefile
132
+ - VERSION
133
+ - exchange.gemspec
134
+ - lib/core_extensions/conversability.rb
135
+ - lib/exchange.rb
136
+ - lib/exchange/cache.rb
137
+ - lib/exchange/cache/base.rb
138
+ - lib/exchange/cache/memcached.rb
139
+ - lib/exchange/cache/rails.rb
140
+ - lib/exchange/cache/redis.rb
141
+ - lib/exchange/configuration.rb
142
+ - lib/exchange/currency.rb
143
+ - lib/exchange/external_api.rb
144
+ - lib/exchange/external_api/base.rb
145
+ - lib/exchange/external_api/call.rb
146
+ - lib/exchange/external_api/currency_bot.rb
147
+ - lib/exchange/external_api/xavier_media.rb
148
+ - spec/core_extensions/conversability_spec.rb
149
+ - spec/exchange/cache/base_spec.rb
150
+ - spec/exchange/cache/memcached_spec.rb
151
+ - spec/exchange/cache/rails_spec.rb
152
+ - spec/exchange/cache/redis_spec.rb
153
+ - spec/exchange/configuration_spec.rb
154
+ - spec/exchange/currency_spec.rb
155
+ - spec/exchange/external_api/base_spec.rb
156
+ - spec/exchange/external_api/call_spec.rb
157
+ - spec/exchange/external_api/currency_bot_spec.rb
158
+ - spec/exchange/external_api/xavier_media_spec.rb
159
+ - spec/spec_helper.rb
160
+ - spec/support/api_responses/example_historic_json.json
161
+ - spec/support/api_responses/example_json_api.json
162
+ - spec/support/api_responses/example_xml_api.xml
163
+ homepage: http://github.com/beatrichartz/exchange
164
+ licenses:
165
+ - MIT
166
+ post_install_message:
167
+ rdoc_options: []
168
+ require_paths:
169
+ - lib
170
+ required_ruby_version: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ segments:
177
+ - 0
178
+ hash: -156042316779008779
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ none: false
181
+ requirements:
182
+ - - ! '>='
183
+ - !ruby/object:Gem::Version
184
+ version: '0'
185
+ requirements: []
186
+ rubyforge_project:
187
+ rubygems_version: 1.8.11
188
+ signing_key:
189
+ specification_version: 3
190
+ summary: Simple Exchange Rate operations for your ruby app
191
+ test_files: []