exchange 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
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: []