momm 0.0.1

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 (71) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +22 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +118 -0
  6. data/Rakefile +16 -0
  7. data/bin/momm +72 -0
  8. data/lib/momm/calculator.rb +129 -0
  9. data/lib/momm/feeds/ecb.rb +67 -0
  10. data/lib/momm/memcached.rb +22 -0
  11. data/lib/momm/redis_store.rb +24 -0
  12. data/lib/momm/storage.rb +68 -0
  13. data/lib/momm/version.rb +3 -0
  14. data/lib/momm/web.rb +28 -0
  15. data/lib/momm.rb +92 -0
  16. data/momm.gemspec +30 -0
  17. data/myapp/.gitignore +16 -0
  18. data/myapp/Gemfile +10 -0
  19. data/myapp/README.rdoc +28 -0
  20. data/myapp/Rakefile +6 -0
  21. data/myapp/app/assets/images/.keep +0 -0
  22. data/myapp/app/assets/javascripts/application.js +15 -0
  23. data/myapp/app/assets/stylesheets/application.css +13 -0
  24. data/myapp/app/controllers/application_controller.rb +5 -0
  25. data/myapp/app/controllers/concerns/.keep +0 -0
  26. data/myapp/app/helpers/application_helper.rb +2 -0
  27. data/myapp/app/mailers/.keep +0 -0
  28. data/myapp/app/models/.keep +0 -0
  29. data/myapp/app/models/concerns/.keep +0 -0
  30. data/myapp/app/views/layouts/application.html.erb +14 -0
  31. data/myapp/bin/bundle +3 -0
  32. data/myapp/bin/rails +4 -0
  33. data/myapp/bin/rake +4 -0
  34. data/myapp/config/application.rb +28 -0
  35. data/myapp/config/boot.rb +4 -0
  36. data/myapp/config/environment.rb +5 -0
  37. data/myapp/config/environments/development.rb +26 -0
  38. data/myapp/config/environments/production.rb +80 -0
  39. data/myapp/config/environments/test.rb +36 -0
  40. data/myapp/config/initializers/backtrace_silencers.rb +7 -0
  41. data/myapp/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/myapp/config/initializers/inflections.rb +16 -0
  43. data/myapp/config/initializers/mime_types.rb +5 -0
  44. data/myapp/config/initializers/momm.rb +2 -0
  45. data/myapp/config/initializers/secret_token.rb +12 -0
  46. data/myapp/config/initializers/session_store.rb +3 -0
  47. data/myapp/config/initializers/wrap_parameters.rb +9 -0
  48. data/myapp/config/locales/en.yml +23 -0
  49. data/myapp/config/routes.rb +5 -0
  50. data/myapp/config.ru +4 -0
  51. data/myapp/db/seeds.rb +7 -0
  52. data/myapp/lib/assets/.keep +0 -0
  53. data/myapp/lib/tasks/.keep +0 -0
  54. data/myapp/log/.keep +0 -0
  55. data/myapp/public/404.html +58 -0
  56. data/myapp/public/422.html +58 -0
  57. data/myapp/public/500.html +57 -0
  58. data/myapp/public/favicon.ico +0 -0
  59. data/myapp/public/robots.txt +5 -0
  60. data/myapp/vendor/assets/javascripts/.keep +0 -0
  61. data/myapp/vendor/assets/stylesheets/.keep +0 -0
  62. data/spec/momm/calculator_spec.rb +79 -0
  63. data/spec/momm/feeds/ecb_spec.rb +48 -0
  64. data/spec/momm/memcached_spec.rb +32 -0
  65. data/spec/momm/momm_spec.rb +21 -0
  66. data/spec/momm/redis_store_spec.rb +35 -0
  67. data/spec/momm/storage_spec.rb +37 -0
  68. data/spec/momm/version_spec.rb +7 -0
  69. data/spec/momm/web_spec.rb +31 -0
  70. data/spec/spec_helper.rb +11 -0
  71. metadata +235 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-agent: *
5
+ # Disallow: /
File without changes
File without changes
@@ -0,0 +1,79 @@
1
+ require 'spec_helper'
2
+
3
+ describe Momm::Calculator do
4
+
5
+ context 'redis store' do
6
+ let(:calc) { calc = Momm::Calculator.new Momm::RedisStore.new }
7
+
8
+ it 'should response to client' do
9
+ calc.should respond_to :client
10
+ end
11
+
12
+ it 'should response to update' do
13
+ calc.should respond_to :update
14
+ end
15
+
16
+ it 'should response to set_rate' do
17
+ calc.should respond_to :set_rate
18
+ end
19
+
20
+ it 'should response to get_rate_origin' do
21
+ calc.should respond_to :get_rate_origin
22
+ end
23
+
24
+ it 'should response to get_rate' do
25
+ calc.should respond_to :get_rate
26
+ end
27
+
28
+ it 'should response to exchange_rate' do
29
+ calc.should respond_to :exchange_rate
30
+ end
31
+
32
+ it 'should response to exchange' do
33
+ calc.should respond_to :exchange
34
+ end
35
+ end
36
+
37
+ context 'memcached store' do
38
+ let(:calc) { Momm::Calculator.new }
39
+
40
+ it 'should response to client' do
41
+ calc.should respond_to :client
42
+ end
43
+
44
+ it 'should response to update' do
45
+ calc.should respond_to :update
46
+ end
47
+
48
+ it 'should response to set_rate' do
49
+ calc.should respond_to :set_rate
50
+ end
51
+
52
+ it 'should response to get_rate_origin' do
53
+ calc.should respond_to :get_rate_origin
54
+ end
55
+
56
+ it 'should response to get_rate' do
57
+ calc.should respond_to :get_rate
58
+ end
59
+
60
+ it 'should response to exchange_rate' do
61
+ calc.should respond_to :exchange_rate
62
+ end
63
+
64
+ it 'should response to exchange' do
65
+ calc.should respond_to :exchange
66
+ end
67
+
68
+ it 'should response to currencies' do
69
+ calc.should respond_to :currencies
70
+ end
71
+ end
72
+
73
+ context 'feeds' do
74
+ it 'should not be nil' do
75
+ calc = Momm::Calculator.new
76
+ calc.feed.should_not be_nil
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ describe Momm::Feeds::ECB do
4
+ context '#initialize' do
5
+ it "cannot call new method do" do
6
+ expect{
7
+ Momm::Feeds::ECB.new
8
+ }.to raise_error
9
+ end
10
+
11
+ it "should eager loading the ECB instance" do
12
+ instance1 = Momm::Feeds::ECB.instance
13
+ instance2 = Momm::Feeds::ECB.instance
14
+ instance1.object_id.should == instance2.object_id
15
+ end
16
+ end
17
+
18
+ describe ".currencies" do
19
+ it 'should not be nil' do
20
+ Momm::Feeds::ECB.instance.currencies.should be_a(Array)
21
+ end
22
+ end
23
+
24
+ describe "#fetching_url" do
25
+ it 'should not be nil' do
26
+ Momm::Feeds::ECB.instance.fetching_url.should be_a String
27
+ end
28
+ end
29
+
30
+ describe "#currency_rates" do
31
+ let(:rates) { Momm::Feeds::ECB.instance.currency_rates }
32
+ it 'should be an array' do
33
+ rates.should be_a Array
34
+ end
35
+
36
+ it 'should contain several elements' do
37
+ rates.length.should > 0
38
+ end
39
+
40
+ it 'should contain :date, :currency and :rates' do
41
+ rates.all?{
42
+ |rate| rate.has_key?(:date) &&
43
+ rate.has_key?(:currency) &&
44
+ rate.has_key?(:rate)
45
+ }.should be_true
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe Momm::Memcached do
4
+ context 'default configurations' do
5
+
6
+ it 'default options should be correct' do
7
+ Momm::Memcached::DEFAULT_OPTIONS.should == { connection: "localhost:11211", namespace: "momm", compress: true }
8
+ end
9
+ end
10
+
11
+ context '#initialize' do
12
+ it 'can be initialized without params passed in' do
13
+ momm = Momm::Memcached.new
14
+ momm.client.should be_a(Dalli::Client)
15
+ end
16
+
17
+ it 'can be initialized' do
18
+ momm = Momm::Memcached.new connection: '127.0.0.1:12345'
19
+ momm.client.should be_a(Dalli::Client)
20
+ end
21
+ end
22
+
23
+ context '#set & #get' do
24
+ it 'can set and get' do
25
+ momm = Momm::Memcached.new
26
+
27
+ money = rand(20)
28
+ momm.set_rate :USD, money
29
+ momm.get_rate(:USD).should == money
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Momm do
4
+ context "Calculator delegation" do
5
+ it "should respond to exchange_rate" do
6
+ Momm.should respond_to :exchange_rate
7
+ end
8
+
9
+ it "should respond to exchange" do
10
+ Momm.should respond_to :exchange
11
+ end
12
+
13
+ it "should respond to exchange_from_gbp_to_usd" do
14
+ Momm.should respond_to :exchange_from_gbp_to_usd
15
+ end
16
+
17
+ it "should respond to exchange_rate_from_gbp_to_usd" do
18
+ Momm.should respond_to :exchange_rate_from_gbp_to_usd
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe Momm::RedisStore do
4
+ context 'default configurations' do
5
+ it 'default options should be correct' do
6
+ Momm::RedisStore::DEFAULT_OPTIONS.should == {
7
+ host: "localhost", port: 6379, namespace: "momm"
8
+ }
9
+ end
10
+ end
11
+
12
+ context '#initialize' do
13
+ it 'can be initialized without params passed in' do
14
+ momm = Momm::RedisStore.new
15
+ momm.client.should be_a(Redis::Namespace)
16
+ end
17
+
18
+ it 'can be initialized' do
19
+ momm = Momm::RedisStore.new host: "localhost",
20
+ port: 6379, namespace: "momm"
21
+ momm.client.should be_a(Redis::Namespace)
22
+ end
23
+ end
24
+
25
+ describe '#set & #get' do
26
+ it 'can set and get' do
27
+ calc = Momm::Calculator.new Momm::RedisStore.new
28
+
29
+ money = rand(20)
30
+
31
+ calc.set_rate :USD, money
32
+ calc.get_rate(:USD).should == money
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,37 @@
1
+ require "spec_helper"
2
+
3
+ describe Momm::Storage do
4
+ let(:storage) { Momm::Storage.new }
5
+
6
+ context "NotImplementedError" do
7
+ it "should apply to #client" do
8
+ expect{
9
+ storage.client
10
+ }.to raise_error
11
+ end
12
+
13
+ it "should apply to #set_rate" do
14
+ expect{
15
+ storage.set_rate
16
+ }.to raise_error
17
+ end
18
+
19
+ it "should apply to #get_rate" do
20
+ expect{
21
+ storage.get_rate
22
+ }.to raise_error
23
+ end
24
+
25
+ it "should apply to #exchange_rate" do
26
+ expect{
27
+ storage.client
28
+ }.to raise_error
29
+ end
30
+
31
+ it "should apply to #exchange_rate" do
32
+ expect{
33
+ storage.client
34
+ }.to raise_error
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'momm version' do
4
+ it 'should be correct' do
5
+ Momm::VERSION.should == '0.0.1'
6
+ end
7
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ require 'momm/web'
4
+ require 'rack/test'
5
+
6
+ describe Momm::Web do
7
+ include Rack::Test::Methods
8
+
9
+ def app
10
+ Momm::Web
11
+ end
12
+
13
+ describe '/query' do
14
+ it 'should response' do
15
+ get '/query', money: 12, from: "GBP", to: "USD", date: "2014-3-10"
16
+
17
+ expect(last_response).to be_ok
18
+ expect(last_response.body).to eq("19.92")
19
+ end
20
+ end
21
+
22
+ describe '/currencies' do
23
+ it 'should response' do
24
+ get '/currencies'
25
+
26
+ expect(last_response).to be_ok
27
+
28
+ expect(JSON.parse(last_response.body)).to be_a Array
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ require "momm"
2
+
3
+ RSpec.configure do |config|
4
+ config.treat_symbols_as_metadata_keys_with_true_values = true
5
+ config.run_all_when_everything_filtered = true
6
+ config.filter_run :focus
7
+
8
+ config.order = 'random'
9
+
10
+ config.color_enabled = true
11
+ end
metadata ADDED
@@ -0,0 +1,235 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: momm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jingkai He
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-03-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: redis
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.0.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.0.6
27
+ - !ruby/object:Gem::Dependency
28
+ name: redis-namespace
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.3.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: dalli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 2.7.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.7.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.12.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.12.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sinatra
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: A Currency Exchange Calculator
126
+ email:
127
+ - jaxihe@gmail.com
128
+ executables:
129
+ - momm
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - ".gitignore"
134
+ - Gemfile
135
+ - LICENSE.txt
136
+ - README.md
137
+ - Rakefile
138
+ - bin/momm
139
+ - lib/momm.rb
140
+ - lib/momm/calculator.rb
141
+ - lib/momm/feeds/ecb.rb
142
+ - lib/momm/memcached.rb
143
+ - lib/momm/redis_store.rb
144
+ - lib/momm/storage.rb
145
+ - lib/momm/version.rb
146
+ - lib/momm/web.rb
147
+ - momm.gemspec
148
+ - myapp/.gitignore
149
+ - myapp/Gemfile
150
+ - myapp/README.rdoc
151
+ - myapp/Rakefile
152
+ - myapp/app/assets/images/.keep
153
+ - myapp/app/assets/javascripts/application.js
154
+ - myapp/app/assets/stylesheets/application.css
155
+ - myapp/app/controllers/application_controller.rb
156
+ - myapp/app/controllers/concerns/.keep
157
+ - myapp/app/helpers/application_helper.rb
158
+ - myapp/app/mailers/.keep
159
+ - myapp/app/models/.keep
160
+ - myapp/app/models/concerns/.keep
161
+ - myapp/app/views/layouts/application.html.erb
162
+ - myapp/bin/bundle
163
+ - myapp/bin/rails
164
+ - myapp/bin/rake
165
+ - myapp/config.ru
166
+ - myapp/config/application.rb
167
+ - myapp/config/boot.rb
168
+ - myapp/config/environment.rb
169
+ - myapp/config/environments/development.rb
170
+ - myapp/config/environments/production.rb
171
+ - myapp/config/environments/test.rb
172
+ - myapp/config/initializers/backtrace_silencers.rb
173
+ - myapp/config/initializers/filter_parameter_logging.rb
174
+ - myapp/config/initializers/inflections.rb
175
+ - myapp/config/initializers/mime_types.rb
176
+ - myapp/config/initializers/momm.rb
177
+ - myapp/config/initializers/secret_token.rb
178
+ - myapp/config/initializers/session_store.rb
179
+ - myapp/config/initializers/wrap_parameters.rb
180
+ - myapp/config/locales/en.yml
181
+ - myapp/config/routes.rb
182
+ - myapp/db/seeds.rb
183
+ - myapp/lib/assets/.keep
184
+ - myapp/lib/tasks/.keep
185
+ - myapp/log/.keep
186
+ - myapp/public/404.html
187
+ - myapp/public/422.html
188
+ - myapp/public/500.html
189
+ - myapp/public/favicon.ico
190
+ - myapp/public/robots.txt
191
+ - myapp/vendor/assets/javascripts/.keep
192
+ - myapp/vendor/assets/stylesheets/.keep
193
+ - spec/momm/calculator_spec.rb
194
+ - spec/momm/feeds/ecb_spec.rb
195
+ - spec/momm/memcached_spec.rb
196
+ - spec/momm/momm_spec.rb
197
+ - spec/momm/redis_store_spec.rb
198
+ - spec/momm/storage_spec.rb
199
+ - spec/momm/version_spec.rb
200
+ - spec/momm/web_spec.rb
201
+ - spec/spec_helper.rb
202
+ homepage: https://github.com/jaxi/momm
203
+ licenses:
204
+ - MIT
205
+ metadata: {}
206
+ post_install_message:
207
+ rdoc_options: []
208
+ require_paths:
209
+ - lib
210
+ required_ruby_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ required_rubygems_version: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ requirements: []
221
+ rubyforge_project:
222
+ rubygems_version: 2.2.2
223
+ signing_key:
224
+ specification_version: 4
225
+ summary: A Currency Exchange Calculator
226
+ test_files:
227
+ - spec/momm/calculator_spec.rb
228
+ - spec/momm/feeds/ecb_spec.rb
229
+ - spec/momm/memcached_spec.rb
230
+ - spec/momm/momm_spec.rb
231
+ - spec/momm/redis_store_spec.rb
232
+ - spec/momm/storage_spec.rb
233
+ - spec/momm/version_spec.rb
234
+ - spec/momm/web_spec.rb
235
+ - spec/spec_helper.rb