momm 0.0.7 → 1.0.0
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.
- checksums.yaml +7 -0
- data/.rspec +1 -0
- data/README.md +11 -8
- data/bin/momm +3 -1
- data/examples/rack_app/Gemfile +1 -0
- data/examples/rack_app/config.ru +3 -1
- data/lib/momm/memcached.rb +12 -4
- data/lib/momm/redis_store.rb +12 -4
- data/lib/momm/storage.rb +3 -7
- data/lib/momm/version.rb +1 -1
- data/lib/momm/web.rb +1 -1
- data/momm.gemspec +4 -4
- data/spec/momm/bridge_spec.rb +5 -5
- data/spec/momm/calculator_spec.rb +16 -16
- data/spec/momm/feeds/ecb_spec.rb +9 -9
- data/spec/momm/memcached_spec.rb +9 -5
- data/spec/momm/momm_spec.rb +10 -10
- data/spec/momm/redis_store_spec.rb +9 -7
- data/spec/momm/storage_spec.rb +8 -8
- data/spec/momm/version_spec.rb +2 -2
- data/spec/momm/web_spec.rb +4 -2
- data/spec/spec_helper.rb +5 -4
- metadata +46 -115
- data/examples/rails_app/.gitignore +0 -16
- data/examples/rails_app/Gemfile +0 -12
- data/examples/rails_app/README.rdoc +0 -28
- data/examples/rails_app/Rakefile +0 -6
- data/examples/rails_app/app/assets/images/.keep +0 -0
- data/examples/rails_app/app/assets/javascripts/application.js +0 -16
- data/examples/rails_app/app/assets/javascripts/pages.js +0 -2
- data/examples/rails_app/app/assets/stylesheets/application.css +0 -13
- data/examples/rails_app/app/assets/stylesheets/pages.css +0 -4
- data/examples/rails_app/app/controllers/application_controller.rb +0 -5
- data/examples/rails_app/app/controllers/concerns/.keep +0 -0
- data/examples/rails_app/app/controllers/pages_controller.rb +0 -4
- data/examples/rails_app/app/helpers/application_helper.rb +0 -2
- data/examples/rails_app/app/helpers/pages_helper.rb +0 -2
- data/examples/rails_app/app/mailers/.keep +0 -0
- data/examples/rails_app/app/models/.keep +0 -0
- data/examples/rails_app/app/models/concerns/.keep +0 -0
- data/examples/rails_app/app/views/layouts/application.html.erb +0 -14
- data/examples/rails_app/app/views/pages/say_hello.html.slim +0 -20
- data/examples/rails_app/bin/bundle +0 -3
- data/examples/rails_app/bin/rails +0 -4
- data/examples/rails_app/bin/rake +0 -4
- data/examples/rails_app/config.ru +0 -4
- data/examples/rails_app/config/application.rb +0 -28
- data/examples/rails_app/config/boot.rb +0 -4
- data/examples/rails_app/config/environment.rb +0 -5
- data/examples/rails_app/config/environments/development.rb +0 -26
- data/examples/rails_app/config/environments/production.rb +0 -80
- data/examples/rails_app/config/environments/test.rb +0 -36
- data/examples/rails_app/config/initializers/backtrace_silencers.rb +0 -7
- data/examples/rails_app/config/initializers/filter_parameter_logging.rb +0 -4
- data/examples/rails_app/config/initializers/inflections.rb +0 -16
- data/examples/rails_app/config/initializers/mime_types.rb +0 -5
- data/examples/rails_app/config/initializers/momm_initializer.rb +0 -3
- data/examples/rails_app/config/initializers/secret_token.rb +0 -12
- data/examples/rails_app/config/initializers/session_store.rb +0 -3
- data/examples/rails_app/config/initializers/wrap_parameters.rb +0 -9
- data/examples/rails_app/config/locales/en.yml +0 -23
- data/examples/rails_app/config/routes.rb +0 -7
- data/examples/rails_app/db/seeds.rb +0 -7
- data/examples/rails_app/lib/assets/.keep +0 -0
- data/examples/rails_app/lib/tasks/.keep +0 -0
- data/examples/rails_app/log/.keep +0 -0
- data/examples/rails_app/public/404.html +0 -58
- data/examples/rails_app/public/422.html +0 -58
- data/examples/rails_app/public/500.html +0 -57
- data/examples/rails_app/public/favicon.ico +0 -0
- data/examples/rails_app/public/robots.txt +0 -5
- data/examples/rails_app/vendor/assets/javascripts/.keep +0 -0
- data/examples/rails_app/vendor/assets/stylesheets/.keep +0 -0
@@ -3,22 +3,24 @@ require 'spec_helper'
|
|
3
3
|
describe Momm::RedisStore do
|
4
4
|
context 'default configurations' do
|
5
5
|
it 'default options should be correct' do
|
6
|
-
Momm::RedisStore::DEFAULT_OPTIONS.
|
7
|
-
host: "localhost",
|
8
|
-
|
6
|
+
expect(Momm::RedisStore::DEFAULT_OPTIONS).to eq({
|
7
|
+
host: "localhost",
|
8
|
+
port: 6379,
|
9
|
+
namespace: "momm"
|
10
|
+
})
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
12
14
|
context '#initialize' do
|
13
15
|
it 'can be initialized without params passed in' do
|
14
16
|
momm = Momm::RedisStore.new
|
15
|
-
momm.client.
|
17
|
+
expect(momm.client).to be_a(Redis::Namespace)
|
16
18
|
end
|
17
19
|
|
18
20
|
it 'can be initialized' do
|
19
21
|
momm = Momm::RedisStore.new host: "localhost",
|
20
22
|
port: 6379, namespace: "momm"
|
21
|
-
momm.client.
|
23
|
+
expect(momm.client).to be_a(Redis::Namespace)
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
@@ -29,9 +31,9 @@ describe Momm::RedisStore do
|
|
29
31
|
money = rand(20)
|
30
32
|
|
31
33
|
calc.set_rate :USD, money
|
32
|
-
calc.get_rate(:USD).
|
34
|
+
expect(calc.get_rate(:USD)).to eq money
|
33
35
|
|
34
36
|
Momm.update!
|
35
37
|
end
|
36
38
|
end
|
37
|
-
end
|
39
|
+
end
|
data/spec/momm/storage_spec.rb
CHANGED
@@ -7,31 +7,31 @@ describe Momm::Storage do
|
|
7
7
|
it "should apply to #client" do
|
8
8
|
expect{
|
9
9
|
storage.client
|
10
|
-
}.to raise_error
|
10
|
+
}.to raise_error NotImplementedError
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should apply to #set_rate" do
|
14
14
|
expect{
|
15
|
-
storage.set_rate
|
16
|
-
}.to raise_error
|
15
|
+
storage.set_rate("GBP", "USD", 0.8)
|
16
|
+
}.to raise_error NotImplementedError
|
17
17
|
end
|
18
18
|
|
19
19
|
it "should apply to #get_rate" do
|
20
20
|
expect{
|
21
|
-
storage.get_rate
|
22
|
-
}.to raise_error
|
21
|
+
storage.get_rate("GBP", "USD")
|
22
|
+
}.to raise_error NotImplementedError
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should apply to #exchange_rate" do
|
26
26
|
expect{
|
27
27
|
storage.client
|
28
|
-
}.to raise_error
|
28
|
+
}.to raise_error NotImplementedError
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should apply to #exchange_rate" do
|
32
32
|
expect{
|
33
33
|
storage.client
|
34
|
-
}.to raise_error
|
34
|
+
}.to raise_error NotImplementedError
|
35
35
|
end
|
36
36
|
end
|
37
|
-
end
|
37
|
+
end
|
data/spec/momm/version_spec.rb
CHANGED
data/spec/momm/web_spec.rb
CHANGED
@@ -19,10 +19,12 @@ describe Momm::Web do
|
|
19
19
|
|
20
20
|
describe 'GET /query' do
|
21
21
|
it 'should response' do
|
22
|
-
get '/query', money: 12, from: "GBP", to: "USD", date:
|
22
|
+
get '/query', money: 12, from: "GBP", to: "USD", date: Date.today
|
23
23
|
|
24
24
|
expect(last_response).to be_ok
|
25
|
-
expect
|
25
|
+
expect{
|
26
|
+
last_response.body.to_i
|
27
|
+
}.not_to raise_error
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
+
# Require store engine dependencies before running test
|
2
|
+
require "redis"
|
3
|
+
require "dalli"
|
4
|
+
|
1
5
|
require "momm"
|
2
6
|
|
3
7
|
RSpec.configure do |config|
|
4
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
5
8
|
config.run_all_when_everything_filtered = true
|
6
9
|
config.filter_run :focus
|
7
10
|
|
8
11
|
config.order = 'random'
|
9
|
-
|
10
|
-
config.color_enabled = true
|
11
|
-
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,160 +1,141 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: momm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jingkai He
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2016-03-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 0.12.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 0.12.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
28
|
+
name: json
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
33
|
+
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
40
|
+
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
42
|
+
name: redis
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
54
|
-
type: :
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
56
|
+
name: dalli
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0
|
70
|
-
type: :
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0
|
68
|
+
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
70
|
+
name: redis-namespace
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
|
-
type: :
|
76
|
+
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: rack-test
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rake
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: sinatra
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: '0'
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: '0'
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: rspec
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- -
|
129
|
+
- - '='
|
148
130
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
131
|
+
version: 3.4.0
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- -
|
136
|
+
- - '='
|
156
137
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
138
|
+
version: 3.4.0
|
158
139
|
description: A Currency Exchange Calculator
|
159
140
|
email:
|
160
141
|
- jaxihe@gmail.com
|
@@ -163,8 +144,9 @@ executables:
|
|
163
144
|
extensions: []
|
164
145
|
extra_rdoc_files: []
|
165
146
|
files:
|
166
|
-
- .gitignore
|
167
|
-
- .
|
147
|
+
- ".gitignore"
|
148
|
+
- ".rspec"
|
149
|
+
- ".travis.yml"
|
168
150
|
- Gemfile
|
169
151
|
- LICENSE.txt
|
170
152
|
- README.md
|
@@ -173,56 +155,6 @@ files:
|
|
173
155
|
- change_log.md
|
174
156
|
- examples/rack_app/Gemfile
|
175
157
|
- examples/rack_app/config.ru
|
176
|
-
- examples/rails_app/.gitignore
|
177
|
-
- examples/rails_app/Gemfile
|
178
|
-
- examples/rails_app/README.rdoc
|
179
|
-
- examples/rails_app/Rakefile
|
180
|
-
- examples/rails_app/app/assets/images/.keep
|
181
|
-
- examples/rails_app/app/assets/javascripts/application.js
|
182
|
-
- examples/rails_app/app/assets/javascripts/pages.js
|
183
|
-
- examples/rails_app/app/assets/stylesheets/application.css
|
184
|
-
- examples/rails_app/app/assets/stylesheets/pages.css
|
185
|
-
- examples/rails_app/app/controllers/application_controller.rb
|
186
|
-
- examples/rails_app/app/controllers/concerns/.keep
|
187
|
-
- examples/rails_app/app/controllers/pages_controller.rb
|
188
|
-
- examples/rails_app/app/helpers/application_helper.rb
|
189
|
-
- examples/rails_app/app/helpers/pages_helper.rb
|
190
|
-
- examples/rails_app/app/mailers/.keep
|
191
|
-
- examples/rails_app/app/models/.keep
|
192
|
-
- examples/rails_app/app/models/concerns/.keep
|
193
|
-
- examples/rails_app/app/views/layouts/application.html.erb
|
194
|
-
- examples/rails_app/app/views/pages/say_hello.html.slim
|
195
|
-
- examples/rails_app/bin/bundle
|
196
|
-
- examples/rails_app/bin/rails
|
197
|
-
- examples/rails_app/bin/rake
|
198
|
-
- examples/rails_app/config.ru
|
199
|
-
- examples/rails_app/config/application.rb
|
200
|
-
- examples/rails_app/config/boot.rb
|
201
|
-
- examples/rails_app/config/environment.rb
|
202
|
-
- examples/rails_app/config/environments/development.rb
|
203
|
-
- examples/rails_app/config/environments/production.rb
|
204
|
-
- examples/rails_app/config/environments/test.rb
|
205
|
-
- examples/rails_app/config/initializers/backtrace_silencers.rb
|
206
|
-
- examples/rails_app/config/initializers/filter_parameter_logging.rb
|
207
|
-
- examples/rails_app/config/initializers/inflections.rb
|
208
|
-
- examples/rails_app/config/initializers/mime_types.rb
|
209
|
-
- examples/rails_app/config/initializers/momm_initializer.rb
|
210
|
-
- examples/rails_app/config/initializers/secret_token.rb
|
211
|
-
- examples/rails_app/config/initializers/session_store.rb
|
212
|
-
- examples/rails_app/config/initializers/wrap_parameters.rb
|
213
|
-
- examples/rails_app/config/locales/en.yml
|
214
|
-
- examples/rails_app/config/routes.rb
|
215
|
-
- examples/rails_app/db/seeds.rb
|
216
|
-
- examples/rails_app/lib/assets/.keep
|
217
|
-
- examples/rails_app/lib/tasks/.keep
|
218
|
-
- examples/rails_app/log/.keep
|
219
|
-
- examples/rails_app/public/404.html
|
220
|
-
- examples/rails_app/public/422.html
|
221
|
-
- examples/rails_app/public/500.html
|
222
|
-
- examples/rails_app/public/favicon.ico
|
223
|
-
- examples/rails_app/public/robots.txt
|
224
|
-
- examples/rails_app/vendor/assets/javascripts/.keep
|
225
|
-
- examples/rails_app/vendor/assets/stylesheets/.keep
|
226
158
|
- lib/momm.rb
|
227
159
|
- lib/momm/bridge.rb
|
228
160
|
- lib/momm/calculator.rb
|
@@ -250,27 +182,26 @@ files:
|
|
250
182
|
homepage: https://github.com/jaxi/momm
|
251
183
|
licenses:
|
252
184
|
- MIT
|
185
|
+
metadata: {}
|
253
186
|
post_install_message:
|
254
187
|
rdoc_options: []
|
255
188
|
require_paths:
|
256
189
|
- lib
|
257
190
|
required_ruby_version: !ruby/object:Gem::Requirement
|
258
|
-
none: false
|
259
191
|
requirements:
|
260
|
-
- -
|
192
|
+
- - ">="
|
261
193
|
- !ruby/object:Gem::Version
|
262
194
|
version: '0'
|
263
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
|
-
none: false
|
265
196
|
requirements:
|
266
|
-
- -
|
197
|
+
- - ">="
|
267
198
|
- !ruby/object:Gem::Version
|
268
199
|
version: '0'
|
269
200
|
requirements: []
|
270
201
|
rubyforge_project:
|
271
|
-
rubygems_version:
|
202
|
+
rubygems_version: 2.2.3
|
272
203
|
signing_key:
|
273
|
-
specification_version:
|
204
|
+
specification_version: 4
|
274
205
|
summary: A Currency Exchange Calculator
|
275
206
|
test_files:
|
276
207
|
- spec/momm/bridge_spec.rb
|
@@ -1,16 +0,0 @@
|
|
1
|
-
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
2
|
-
#
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
-
|
7
|
-
# Ignore bundler config.
|
8
|
-
/.bundle
|
9
|
-
|
10
|
-
# Ignore the default SQLite database.
|
11
|
-
/db/*.sqlite3
|
12
|
-
/db/*.sqlite3-journal
|
13
|
-
|
14
|
-
# Ignore all logfiles and tempfiles.
|
15
|
-
/log/*.log
|
16
|
-
/tmp
|