magellan-rails 0.1.4 → 0.1.5
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 +4 -4
- data/lib/magellan/rails/version.rb +1 -1
- data/lib/magellan/subscriber/mapper.rb +10 -1
- data/spec/magellan/subscriber/mapper_spec.rb +45 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aff59ea017fc9a24aed8995129eda046534287d6
|
4
|
+
data.tar.gz: 2f581b6c7f596a8ed0a62127258e84891f849c5f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e837a14ddebe97bc16d438dd825ca1a07619d676fa91a95f119002f35176d6e0ceab67301fd7ea492d4beca5b46c52fd5918039bc05ce65d232df5fb8ecf4652
|
7
|
+
data.tar.gz: 49323c5a936fbbced6916b148cf958d109935e5fd10933369ae4dd48286b8ae87e9708f848ee81eb4923652a29f72d942939b81c82308c700c1f89d403c97f11
|
@@ -1,11 +1,20 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
require 'magellan/rails'
|
3
|
+
require "yaml"
|
3
4
|
|
4
5
|
class Magellan::Subscriber::RoutingError < StandardError
|
5
6
|
end
|
6
7
|
|
7
8
|
class Magellan::Subscriber::Mapper
|
8
|
-
def
|
9
|
+
def self.default_mapper_file
|
10
|
+
map_file_path = ::Rails.root.join("config/subscriptions.yml")
|
11
|
+
unless map_file_path.readable?
|
12
|
+
map_file_path = ::Rails.root.join("config/subscribes.yml")
|
13
|
+
end
|
14
|
+
map_file_path.to_path
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize(map_file_path=self.class.default_mapper_file)
|
9
18
|
# テストのため nil で初期化できるようにしています
|
10
19
|
if map_file_path
|
11
20
|
@config_file = map_file_path.to_s
|
@@ -4,6 +4,7 @@ require "spec_helper"
|
|
4
4
|
|
5
5
|
require "magellan/subscriber"
|
6
6
|
require "magellan/subscriber/mapper"
|
7
|
+
require "rails"
|
7
8
|
|
8
9
|
describe Magellan::Subscriber::Mapper do
|
9
10
|
|
@@ -259,6 +260,50 @@ describe Magellan::Subscriber::Mapper do
|
|
259
260
|
end
|
260
261
|
end
|
261
262
|
end
|
263
|
+
end
|
262
264
|
|
265
|
+
describe "#initialize" do
|
266
|
+
before do
|
267
|
+
@tmpdir = Dir.mktmpdir
|
268
|
+
@subscribes_file = File.join(@tmpdir, "subscribes.yml")
|
269
|
+
@subscriptions_file = File.join(@tmpdir, "subscriptions.yml")
|
270
|
+
@root = double "Rails.root"
|
271
|
+
allow(::Rails).to receive(:root).and_return(@root)
|
272
|
+
allow(@root).to receive(:join).with("config/subscribes.yml").and_return(Pathname(@subscribes_file))
|
273
|
+
allow(@root).to receive(:join).with("config/subscriptions.yml").and_return(Pathname(@subscriptions_file))
|
274
|
+
@prepare_subscribes_file = ->() { open(@subscribes_file, "w") { |f| f.puts "t: verbs#action" } }
|
275
|
+
@prepare_subscriptions_file = ->() { open(@subscriptions_file, "w") { |f| f.puts "t: nouns#action" } }
|
276
|
+
end
|
277
|
+
after do
|
278
|
+
FileUtils.rm_rf(@tmpdir)
|
279
|
+
end
|
280
|
+
context "subscribes.yml exists" do
|
281
|
+
before do
|
282
|
+
@prepare_subscribes_file.call
|
283
|
+
end
|
284
|
+
it "use subscribes.yml" do
|
285
|
+
mapper = Magellan::Subscriber::Mapper.new
|
286
|
+
expect(mapper.map_action("t")).to eql([["VerbsSubscriber", "action"]])
|
287
|
+
end
|
288
|
+
end
|
289
|
+
context "subscriptions.yml exists" do
|
290
|
+
before do
|
291
|
+
@prepare_subscriptions_file.call
|
292
|
+
end
|
293
|
+
it "use subscriptions.yml" do
|
294
|
+
mapper = Magellan::Subscriber::Mapper.new
|
295
|
+
expect(mapper.map_action("t")).to eql([["NounsSubscriber", "action"]])
|
296
|
+
end
|
297
|
+
end
|
298
|
+
context "both subscribes.yml and subscriptions.yml exists" do
|
299
|
+
before do
|
300
|
+
@prepare_subscribes_file.call
|
301
|
+
@prepare_subscriptions_file.call
|
302
|
+
end
|
303
|
+
it "use subscriptions.yml" do
|
304
|
+
mapper = Magellan::Subscriber::Mapper.new
|
305
|
+
expect(mapper.map_action("t")).to eql([["NounsSubscriber", "action"]])
|
306
|
+
end
|
307
|
+
end
|
263
308
|
end
|
264
309
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magellan-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yuuki Noguchi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|