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
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b393642dc01d810177a7c39e8bc94c27afaf6434
|
4
|
+
data.tar.gz: b52ae25cd3c12b17bb8698d2495d2f9460af49a4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3e3b3d1d6aed617daee7e5da579cc96fcd490266dabe84ae83def102668a85580bc10dcc8af400b5f44a684d889168a15812a3a5e4949d06cf3aef1e574d6fcb
|
7
|
+
data.tar.gz: de240f07aae21d6dce48949dd79f16bd520a7561ff4428f7197daeebec0fcb00caad16ddf866722c20d7d847465214a7ffafafed75d6ff8398021e74554418d7
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color
|
data/README.md
CHANGED
@@ -28,9 +28,7 @@ Money on My Mind - An awesome gem for currency exchange.
|
|
28
28
|
## Requirement
|
29
29
|
|
30
30
|
|
31
|
-
Ensure that [Memcached](http://memcached.org/) or [Redis](http://redis.io/) is installed on
|
32
|
-
|
33
|
-
Local storage is not provided, because it might not safe for work on Cloud Platforms such as Heroku.
|
31
|
+
Ensure that either [Memcached](http://memcached.org/) or [Redis](http://redis.io/) is installed on the machines/servers for exchange rate store
|
34
32
|
|
35
33
|
## Installation
|
36
34
|
|
@@ -56,7 +54,7 @@ Or install it yourself as:
|
|
56
54
|
#### Command Line Tool
|
57
55
|
|
58
56
|
|
59
|
-
After the gem is installed, momm provide you a command line tool. The storage engine by default is Memcached
|
57
|
+
After the gem is installed, momm provide you a command line tool. The storage engine by default is Memcached. Make sure that its running in the background. Also make sure that you got the `dalli` gem installed
|
60
58
|
|
61
59
|
```
|
62
60
|
$ momm rate GBP CNY # Exchange rate by default is today.
|
@@ -68,6 +66,7 @@ After the gem is installed, momm provide you a command line tool. The storage en
|
|
68
66
|
|
69
67
|
|
70
68
|
``` ruby
|
69
|
+
require 'dalli' # Make sure that dalli is required before momm
|
71
70
|
require 'momm'
|
72
71
|
|
73
72
|
Momm.exchange_rate 'GBP', 'USD' # By default Today
|
@@ -86,7 +85,7 @@ After the gem is installed, momm provide you a command line tool. The storage en
|
|
86
85
|
|
87
86
|
|
88
87
|
``` ruby
|
89
|
-
Momm.store :redis_store # Use redis as the default storage
|
88
|
+
Momm.store :redis_store # Use redis as the default storage. Ensure 'redis' & 'redis-namespace is installed'
|
90
89
|
|
91
90
|
Momm.fed :ECB # Use ECB as the default currency exchange feeds
|
92
91
|
|
@@ -104,7 +103,7 @@ Web service is provided by Momm on Rails, however you need to install sinatra si
|
|
104
103
|
|
105
104
|
``` ruby
|
106
105
|
# routes.rb
|
107
|
-
|
106
|
+
require 'dalli'
|
108
107
|
require 'momm/web'
|
109
108
|
|
110
109
|
Myapp::Application.routes.draw do
|
@@ -112,11 +111,15 @@ Web service is provided by Momm on Rails, however you need to install sinatra si
|
|
112
111
|
end
|
113
112
|
```
|
114
113
|
|
115
|
-
|
114
|
+
If you want to switch to Redis, you can create an initialzer like:
|
116
115
|
|
117
116
|
``` ruby
|
117
|
+
# Gemfile
|
118
|
+
gem 'redis'
|
119
|
+
gem 'redis-namespace'
|
118
120
|
|
119
121
|
# momm_initialzer.rb
|
122
|
+
|
120
123
|
Momm.setup do
|
121
124
|
store :redis_store, host: "127.0.0.1", namespace: "green_tea"
|
122
125
|
end
|
@@ -161,7 +164,7 @@ Widget of [SLIM](http://slim-lang.com/) template looks like below. Currenly only
|
|
161
164
|
|
162
165
|
``` ruby
|
163
166
|
# config.ru
|
164
|
-
|
167
|
+
require 'dalli' # again make sure that dalli is required beforehand!!!
|
165
168
|
require 'momm/web'
|
166
169
|
run Momm::Web
|
167
170
|
```
|
data/bin/momm
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
$LOAD_PATH << File.dirname(__FILE__) + "/../lib" if $0 == __FILE__
|
3
3
|
|
4
4
|
require 'optparse'
|
5
|
+
|
6
|
+
require 'dalli'
|
5
7
|
require 'momm'
|
6
8
|
|
7
9
|
OPERATIONS = %w{rate exchange update}
|
@@ -71,4 +73,4 @@ if OPERATIONS.include?(op)
|
|
71
73
|
end
|
72
74
|
else
|
73
75
|
puts option_parser.help
|
74
|
-
end
|
76
|
+
end
|
data/examples/rack_app/Gemfile
CHANGED
data/examples/rack_app/config.ru
CHANGED
data/lib/momm/memcached.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'dalli'
|
2
|
-
|
3
1
|
module Momm
|
4
2
|
class Memcached < Storage
|
5
3
|
|
@@ -18,5 +16,15 @@ module Momm
|
|
18
16
|
def client
|
19
17
|
@client ||= Dalli::Client.new connection, options
|
20
18
|
end
|
21
|
-
|
22
|
-
|
19
|
+
|
20
|
+
def set_rate(currency, rate, date = Date.today)
|
21
|
+
date = Date.parse(date) if date.is_a? String
|
22
|
+
client.set "#{date}#{currency}", rate
|
23
|
+
end
|
24
|
+
|
25
|
+
def get_rate(currency, date = Date.today)
|
26
|
+
date = Date.parse(date) if date.is_a? String
|
27
|
+
client.get("#{date}#{currency}").to_f
|
28
|
+
end
|
29
|
+
end if defined?(::Dalli)
|
30
|
+
end
|
data/lib/momm/redis_store.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'redis'
|
2
|
-
|
3
1
|
module Momm
|
4
2
|
class RedisStore < Storage
|
5
3
|
DEFAULT_OPTIONS = { host: "localhost", port: 6379, namespace: "momm"}
|
@@ -20,5 +18,15 @@ module Momm
|
|
20
18
|
Redis::Namespace.new(ns, :redis => native_client)
|
21
19
|
end
|
22
20
|
end
|
23
|
-
|
24
|
-
|
21
|
+
|
22
|
+
def set_rate(currency, rate, date = Date.today)
|
23
|
+
date = Date.parse(date) if date.is_a? String
|
24
|
+
client.set "#{date}#{currency}", rate
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_rate(currency, date = Date.today)
|
28
|
+
date = Date.parse(date) if date.is_a? String
|
29
|
+
client.get("#{date}#{currency}").to_f
|
30
|
+
end
|
31
|
+
end if defined?(::Redis)
|
32
|
+
end
|
data/lib/momm/storage.rb
CHANGED
@@ -27,8 +27,7 @@ module Momm
|
|
27
27
|
# nil
|
28
28
|
#
|
29
29
|
def set_rate(currency, rate, date = Date.today)
|
30
|
-
|
31
|
-
client.set "#{date}#{currency}", rate
|
30
|
+
raise NotImplementedError
|
32
31
|
end
|
33
32
|
|
34
33
|
# Fetch the currency rate from client
|
@@ -43,8 +42,7 @@ module Momm
|
|
43
42
|
# the currency rate
|
44
43
|
#
|
45
44
|
def get_rate(currency, date = Date.today)
|
46
|
-
|
47
|
-
client.get("#{date}#{currency}").to_f
|
45
|
+
raise NotImplementedError
|
48
46
|
end
|
49
47
|
|
50
48
|
# update the data to storage
|
@@ -62,7 +60,5 @@ module Momm
|
|
62
60
|
end
|
63
61
|
"OK"
|
64
62
|
end
|
65
|
-
|
66
|
-
NotImplementedError = Class.new(StandardError)
|
67
63
|
end
|
68
|
-
end
|
64
|
+
end
|
data/lib/momm/version.rb
CHANGED
data/lib/momm/web.rb
CHANGED
data/momm.gemspec
CHANGED
@@ -18,14 +18,14 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "redis", ">= 3.0.6"
|
22
|
-
spec.add_dependency "redis-namespace", ">= 1.3.2"
|
23
|
-
spec.add_dependency "dalli", ">= 2.7.0"
|
24
21
|
spec.add_dependency "httparty", ">= 0.12.0"
|
25
22
|
spec.add_dependency "json"
|
26
23
|
|
24
|
+
spec.add_development_dependency "redis"
|
25
|
+
spec.add_development_dependency "dalli"
|
26
|
+
spec.add_development_dependency "redis-namespace"
|
27
27
|
spec.add_development_dependency "rack-test"
|
28
28
|
spec.add_development_dependency "rake"
|
29
29
|
spec.add_development_dependency "sinatra"
|
30
|
-
spec.add_development_dependency "rspec"
|
30
|
+
spec.add_development_dependency "rspec", "3.4.0"
|
31
31
|
end
|
data/spec/momm/bridge_spec.rb
CHANGED
@@ -5,8 +5,8 @@ describe Momm::Bridge do
|
|
5
5
|
it 'should have default' do
|
6
6
|
bridge = Momm::Bridge.new
|
7
7
|
|
8
|
-
bridge.storage.
|
9
|
-
bridge.feed.
|
8
|
+
expect(bridge.storage).to be_a(Momm::Memcached)
|
9
|
+
expect(bridge.feed).to be_a(Momm::Feeds::ECB)
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -15,12 +15,12 @@ describe Momm::Bridge do
|
|
15
15
|
|
16
16
|
it 'should change the storage' do
|
17
17
|
bridge.store :redis_store
|
18
|
-
bridge.storage.
|
18
|
+
expect(bridge.storage).to be_a(Momm::RedisStore)
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should change the ECB' do
|
22
22
|
bridge.source :ECB
|
23
|
-
bridge.feed.
|
23
|
+
expect(bridge.feed).to be_a(Momm::Feeds::ECB)
|
24
24
|
end
|
25
25
|
end
|
26
|
-
end
|
26
|
+
end
|
@@ -6,27 +6,27 @@ describe Momm::Calculator do
|
|
6
6
|
let(:calc) { calc = Momm::Calculator.new Momm::RedisStore.new }
|
7
7
|
|
8
8
|
it 'should response to client' do
|
9
|
-
calc.
|
9
|
+
expect(calc).to respond_to :client
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'should response to set_rate' do
|
13
|
-
calc.
|
13
|
+
expect(calc).to respond_to :set_rate
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'should response to get_rate_origin' do
|
17
|
-
calc.
|
17
|
+
expect(calc).to respond_to :get_rate_origin
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'should response to get_rate' do
|
21
|
-
calc.
|
21
|
+
expect(calc).to respond_to :get_rate
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should response to exchange_rate' do
|
25
|
-
calc.
|
25
|
+
expect(calc).to respond_to :exchange_rate
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'should response to exchange' do
|
29
|
-
calc.
|
29
|
+
expect(calc).to respond_to :exchange
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
@@ -34,42 +34,42 @@ describe Momm::Calculator do
|
|
34
34
|
let(:calc) { Momm::Calculator.new }
|
35
35
|
|
36
36
|
it 'should response to client' do
|
37
|
-
calc.
|
37
|
+
expect(calc).to respond_to :client
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'should response to update!' do
|
41
|
-
calc.
|
41
|
+
expect(calc).to respond_to :update!
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'should response to set_rate' do
|
45
|
-
calc.
|
45
|
+
expect(calc).to respond_to :set_rate
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'should response to get_rate_origin' do
|
49
|
-
calc.
|
49
|
+
expect(calc).to respond_to :get_rate_origin
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'should response to get_rate' do
|
53
|
-
calc.
|
53
|
+
expect(calc).to respond_to :get_rate
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'should response to exchange_rate' do
|
57
|
-
calc.
|
57
|
+
expect(calc).to respond_to :exchange_rate
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'should response to exchange' do
|
61
|
-
calc.
|
61
|
+
expect(calc).to respond_to :exchange
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'should response to currencies' do
|
65
|
-
calc.
|
65
|
+
expect(calc).to respond_to :currencies
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
69
69
|
context 'feeds' do
|
70
70
|
it 'should not be nil' do
|
71
71
|
calc = Momm::Calculator.new
|
72
|
-
calc.feed.
|
72
|
+
expect(calc.feed).not_to be_nil
|
73
73
|
end
|
74
74
|
end
|
75
|
-
end
|
75
|
+
end
|
data/spec/momm/feeds/ecb_spec.rb
CHANGED
@@ -5,44 +5,44 @@ describe Momm::Feeds::ECB do
|
|
5
5
|
it "cannot call new method do" do
|
6
6
|
expect{
|
7
7
|
Momm::Feeds::ECB.new
|
8
|
-
}.to raise_error
|
8
|
+
}.to raise_error NoMethodError
|
9
9
|
end
|
10
10
|
|
11
11
|
it "should eager loading the ECB instance" do
|
12
12
|
instance1 = Momm::Feeds::ECB.instance
|
13
13
|
instance2 = Momm::Feeds::ECB.instance
|
14
|
-
instance1.object_id.
|
14
|
+
expect(instance1.object_id).to eq instance2.object_id
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
describe ".currencies" do
|
19
19
|
it 'should not be nil' do
|
20
|
-
Momm::Feeds::ECB.instance.currencies.
|
20
|
+
expect(Momm::Feeds::ECB.instance.currencies).to be_a(Array)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
describe "#fetching_url" do
|
25
25
|
it 'should not be nil' do
|
26
|
-
Momm::Feeds::ECB.instance.fetching_url.
|
26
|
+
expect(Momm::Feeds::ECB.instance.fetching_url).to be_a String
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
describe "#currency_rates" do
|
31
31
|
let(:rates) { Momm::Feeds::ECB.instance.currency_rates }
|
32
32
|
it 'should be an array' do
|
33
|
-
rates.
|
33
|
+
expect(rates).to be_a Array
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'should contain several elements' do
|
37
|
-
rates.length
|
37
|
+
expect(rates.length > 0).to eq true
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'should contain :date, :currency and :rates' do
|
41
|
-
rates.all?{
|
41
|
+
expect(rates.all?{
|
42
42
|
|rate| rate.has_key?(:date) &&
|
43
43
|
rate.has_key?(:currency) &&
|
44
44
|
rate.has_key?(:rate)
|
45
|
-
}.
|
45
|
+
}).to eq true
|
46
46
|
end
|
47
47
|
end
|
48
|
-
end
|
48
|
+
end
|
data/spec/momm/memcached_spec.rb
CHANGED
@@ -4,19 +4,23 @@ describe Momm::Memcached do
|
|
4
4
|
context 'default configurations' do
|
5
5
|
|
6
6
|
it 'default options should be correct' do
|
7
|
-
Momm::Memcached::DEFAULT_OPTIONS.
|
7
|
+
expect(Momm::Memcached::DEFAULT_OPTIONS).to eq({
|
8
|
+
connection: "localhost:11211",
|
9
|
+
namespace: "momm",
|
10
|
+
compress: true
|
11
|
+
})
|
8
12
|
end
|
9
13
|
end
|
10
14
|
|
11
15
|
context '#initialize' do
|
12
16
|
it 'can be initialized without params passed in' do
|
13
17
|
momm = Momm::Memcached.new
|
14
|
-
momm.client.
|
18
|
+
expect(momm.client).to be_a(Dalli::Client)
|
15
19
|
end
|
16
20
|
|
17
21
|
it 'can be initialized' do
|
18
22
|
momm = Momm::Memcached.new connection: '127.0.0.1:12345'
|
19
|
-
momm.client.
|
23
|
+
expect(momm.client).to be_a(Dalli::Client)
|
20
24
|
end
|
21
25
|
end
|
22
26
|
|
@@ -26,9 +30,9 @@ describe Momm::Memcached do
|
|
26
30
|
|
27
31
|
money = rand(20)
|
28
32
|
momm.set_rate :USD, money
|
29
|
-
momm.get_rate(:USD).
|
33
|
+
expect(momm.get_rate(:USD)).to eq money
|
30
34
|
|
31
35
|
Momm.update!
|
32
36
|
end
|
33
37
|
end
|
34
|
-
end
|
38
|
+
end
|
data/spec/momm/momm_spec.rb
CHANGED
@@ -3,36 +3,36 @@ require 'spec_helper'
|
|
3
3
|
describe Momm do
|
4
4
|
context "Calculator delegation" do
|
5
5
|
it "should respond to exchange_rate" do
|
6
|
-
Momm.
|
6
|
+
expect(Momm).to respond_to :exchange_rate
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should respond to exchange" do
|
10
|
-
Momm.
|
10
|
+
expect(Momm).to respond_to :exchange
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should respond to exchange_from_gbp_to_usd" do
|
14
|
-
Momm.
|
14
|
+
expect(Momm).to respond_to :exchange_from_gbp_to_usd
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should respond to exchange_rate_from_gbp_to_usd" do
|
18
|
-
Momm.
|
18
|
+
expect(Momm).to respond_to :exchange_rate_from_gbp_to_usd
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should respond to update!" do
|
22
|
-
Momm.
|
22
|
+
expect(Momm).to respond_to :update!
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
describe "bridge delegation" do
|
27
27
|
it "should be successfully switch to redis store halfway" do
|
28
28
|
Momm.store :redis_store
|
29
|
-
Momm.send(:calculator).storage.client.
|
29
|
+
expect(Momm.send(:calculator).storage.client).to be_a(Redis::Namespace)
|
30
30
|
Momm.store :memcached
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should be successfully switch to ECB halfway" do
|
34
34
|
Momm.source :ECB
|
35
|
-
Momm.send(:calculator).feed.
|
35
|
+
expect(Momm.send(:calculator).feed).to be_a(Momm::Feeds::ECB)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -42,10 +42,10 @@ describe Momm do
|
|
42
42
|
store :redis_store
|
43
43
|
end
|
44
44
|
|
45
|
-
Momm.send(:calculator).storage.
|
46
|
-
Momm.send(:calculator).feed.
|
45
|
+
expect(Momm.send(:calculator).storage).to be_a(Momm::RedisStore)
|
46
|
+
expect(Momm.send(:calculator).feed).to be_a(Momm::Feeds::ECB)
|
47
47
|
|
48
48
|
Momm.store :memcached
|
49
49
|
end
|
50
50
|
end
|
51
|
-
end
|
51
|
+
end
|