serf 0.11.0 → 0.12.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.
- data/Gemfile +1 -0
- data/Guardfile +1 -2
- data/README.md +131 -15
- data/example/components/logger.serf +7 -0
- data/example/serfs/create_widget.serf +24 -0
- data/lib/serf/builder.rb +7 -6
- data/lib/serf/loader.rb +16 -0
- data/lib/serf/loader/loader.rb +103 -0
- data/lib/serf/loader/registry.rb +86 -0
- data/lib/serf/middleware/error_handler.rb +4 -4
- data/lib/serf/middleware/parcel_freezer.rb +3 -6
- data/lib/serf/middleware/parcel_masher.rb +3 -6
- data/lib/serf/middleware/policy_checker.rb +3 -5
- data/lib/serf/middleware/request_timer.rb +47 -0
- data/lib/serf/middleware/uuid_tagger.rb +3 -5
- data/lib/serf/parcel_builder.rb +3 -6
- data/lib/serf/serfer.rb +5 -7
- data/lib/serf/util/uuidable.rb +3 -6
- data/lib/serf/version.rb +1 -1
- data/serf.gemspec +1 -0
- data/spec/serf/builder_spec.rb +4 -5
- data/spec/serf/errors/policy_failure_spec.rb +1 -1
- data/spec/serf/loader/loader_spec.rb +73 -0
- data/spec/serf/loader/registry_spec.rb +62 -0
- data/spec/serf/loader_spec.rb +57 -0
- data/spec/serf/middleware/error_handler_spec.rb +2 -2
- data/spec/serf/middleware/parcel_freezer_spec.rb +2 -2
- data/spec/serf/middleware/parcel_masher_spec.rb +5 -5
- data/spec/serf/middleware/policy_checker_spec.rb +3 -3
- data/spec/serf/middleware/request_timer_spec.rb +43 -0
- data/spec/serf/middleware/uuid_tagger_spec.rb +4 -4
- data/spec/serf/parcel_builder_spec.rb +7 -7
- data/spec/serf/serfer_spec.rb +4 -4
- data/spec/serf/util/error_handling_spec.rb +3 -3
- data/spec/serf/util/null_object_spec.rb +4 -4
- data/spec/serf/util/protected_call_spec.rb +4 -4
- data/spec/serf/util/uuidable_spec.rb +15 -15
- data/spec/support/factories.rb +7 -0
- metadata +34 -9
- data/lib/serf/util/options_extraction.rb +0 -117
- data/spec/serf/util/options_extraction_spec.rb +0 -62
- data/spec/support/options_extraction_wrapper.rb +0 -10
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'serf/loader'
|
4
|
+
|
5
|
+
describe Serf::Loader do
|
6
|
+
let(:root_library_path) {
|
7
|
+
File.join(File.dirname(__FILE__), '../..')
|
8
|
+
}
|
9
|
+
|
10
|
+
context '.serfup' do
|
11
|
+
let(:random_message) {
|
12
|
+
FactoryGirl.create :random_message
|
13
|
+
}
|
14
|
+
subject {
|
15
|
+
Serf::Loader.serfup(
|
16
|
+
globs: [
|
17
|
+
'example/**/*.serf'
|
18
|
+
],
|
19
|
+
serfs: [
|
20
|
+
'subsystem/requests/create_widget'
|
21
|
+
],
|
22
|
+
base_path: root_library_path,
|
23
|
+
env: {
|
24
|
+
success_message: random_message
|
25
|
+
})
|
26
|
+
}
|
27
|
+
|
28
|
+
it 'loads the Serfs into a frozen Serf Map' do
|
29
|
+
expect(subject.frozen?).to be_true
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'loads our only serf into the map' do
|
33
|
+
expect(subject.size).to eq(1)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'gives us a proper callable serf' do
|
37
|
+
serf = subject['subsystem/requests/create_widget']
|
38
|
+
expect(subject).to_not be_nil
|
39
|
+
|
40
|
+
results = serf.call({})
|
41
|
+
expect(results).to_not be_nil
|
42
|
+
expect(results.headers.kind).to_not eq('serf/events/caught_error')
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'returns nil on not found parcel kind' do
|
46
|
+
expect(subject[nil]).to be_nil
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'passes in a good environment' do
|
50
|
+
serf = subject['subsystem/requests/create_widget']
|
51
|
+
results = serf.call({})
|
52
|
+
expect(results.headers.kind).to eq('subsystem/events/mywidget_created')
|
53
|
+
expect(results.message.success_message).to eq(random_message)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -22,7 +22,7 @@ describe Serf::Middleware::ErrorHandler do
|
|
22
22
|
|
23
23
|
it 'has an error parcel kind' do
|
24
24
|
parcel = subject.call({})
|
25
|
-
parcel[:headers][:kind].
|
25
|
+
expect(parcel[:headers][:kind]).to eq('serf/events/caught_error')
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -38,7 +38,7 @@ describe Serf::Middleware::ErrorHandler do
|
|
38
38
|
|
39
39
|
it 'returns a good response parcel' do
|
40
40
|
parcel = subject.call({})
|
41
|
-
parcel.
|
41
|
+
expect(parcel).to eq(response_parcel)
|
42
42
|
end
|
43
43
|
|
44
44
|
end
|
@@ -9,10 +9,10 @@ describe Serf::Middleware::ParcelFreezer do
|
|
9
9
|
it 'freezes the parcel' do
|
10
10
|
parcel = {}
|
11
11
|
app = described_class.new proc { |parcel|
|
12
|
-
parcel.frozen
|
12
|
+
expect(parcel.frozen?).to be_true
|
13
13
|
}
|
14
14
|
app.call parcel
|
15
|
-
parcel.frozen
|
15
|
+
expect(parcel.frozen?).to be_true
|
16
16
|
end
|
17
17
|
|
18
18
|
end
|
@@ -8,19 +8,19 @@ describe Serf::Middleware::ParcelMasher do
|
|
8
8
|
|
9
9
|
describe '#call' do
|
10
10
|
|
11
|
-
it '
|
11
|
+
it 'makes Hashie::Mash of the parcel' do
|
12
12
|
parcel = nil
|
13
13
|
app = described_class.new proc { |parcel|
|
14
|
-
parcel.
|
14
|
+
expect(parcel).to be_a_kind_of(Hashie::Mash)
|
15
15
|
}
|
16
16
|
app.call parcel
|
17
17
|
end
|
18
18
|
|
19
|
-
it '
|
19
|
+
it 'autocreate headers and message' do
|
20
20
|
parcel = nil
|
21
21
|
app = described_class.new proc { |parcel|
|
22
|
-
parcel.headers.
|
23
|
-
parcel.message.
|
22
|
+
expect(parcel.headers).to be_a_kind_of(Hashie::Mash)
|
23
|
+
expect(parcel.message).to be_a_kind_of(Hashie::Mash)
|
24
24
|
}
|
25
25
|
app.call parcel
|
26
26
|
end
|
@@ -9,7 +9,7 @@ describe Serf::Middleware::PolicyChecker do
|
|
9
9
|
|
10
10
|
context 'when policy raises error' do
|
11
11
|
|
12
|
-
it '
|
12
|
+
it 'does not call app' do
|
13
13
|
uncalled_mock = double 'uncalled mock'
|
14
14
|
app = described_class.new(
|
15
15
|
uncalled_mock,
|
@@ -27,7 +27,7 @@ describe Serf::Middleware::PolicyChecker do
|
|
27
27
|
|
28
28
|
context 'when all policies pass' do
|
29
29
|
|
30
|
-
it '
|
30
|
+
it 'calls the app' do
|
31
31
|
parcel = double 'parcel'
|
32
32
|
parcel.should_receive :some_success
|
33
33
|
app = described_class.new(
|
@@ -43,7 +43,7 @@ describe Serf::Middleware::PolicyChecker do
|
|
43
43
|
|
44
44
|
end
|
45
45
|
|
46
|
-
it '
|
46
|
+
it 'iterates the policy chain' do
|
47
47
|
count = 10
|
48
48
|
policy_chain = (1..count).map { |i|
|
49
49
|
policy = double 'policy'
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'serf/middleware/request_timer'
|
4
|
+
|
5
|
+
describe Serf::Middleware::RequestTimer do
|
6
|
+
|
7
|
+
describe '#call' do
|
8
|
+
let(:empty_parcel) {
|
9
|
+
FactoryGirl.create :empty_parcel
|
10
|
+
}
|
11
|
+
let(:elapsed_time) {
|
12
|
+
rand(1000000)
|
13
|
+
}
|
14
|
+
|
15
|
+
it 'annotates the response parcel with the elapsed call time' do
|
16
|
+
# Mock Timer Ojbect
|
17
|
+
mock_timer_obj = double 'TimerObj'
|
18
|
+
mock_timer_obj.
|
19
|
+
should_receive(:mark).
|
20
|
+
and_return(elapsed_time)
|
21
|
+
|
22
|
+
# Mock Timer Class
|
23
|
+
mock_timer_class = double 'TimerClass'
|
24
|
+
mock_timer_class.
|
25
|
+
should_receive(:start).
|
26
|
+
and_return(mock_timer_obj)
|
27
|
+
|
28
|
+
# Mock App
|
29
|
+
mock_app = double 'MyApp'
|
30
|
+
mock_app.
|
31
|
+
should_receive(:call).
|
32
|
+
with({}).
|
33
|
+
and_return(empty_parcel)
|
34
|
+
|
35
|
+
# Execute the Test
|
36
|
+
request_timer = described_class.new mock_app, :timer => mock_timer_class
|
37
|
+
response_parcel = request_timer.call({})
|
38
|
+
expect(response_parcel.headers.elapsed_time).to eq(elapsed_time)
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
@@ -6,15 +6,15 @@ describe Serf::Middleware::UuidTagger do
|
|
6
6
|
|
7
7
|
describe '#call' do
|
8
8
|
|
9
|
-
it '
|
9
|
+
it 'adds uuid the parcel header' do
|
10
10
|
parcel = {}
|
11
11
|
app = described_class.new proc { |parcel|
|
12
|
-
parcel[:headers][:uuid].
|
12
|
+
expect(parcel[:headers][:uuid]).to_not be_nil
|
13
13
|
}
|
14
14
|
app.call parcel
|
15
15
|
end
|
16
16
|
|
17
|
-
it '
|
17
|
+
it 'does not change the existing uuid' do
|
18
18
|
uuid = '0d3eccaabcc46c3bcbe2a53c4505e352'
|
19
19
|
parcel = {
|
20
20
|
headers: {
|
@@ -22,7 +22,7 @@ describe Serf::Middleware::UuidTagger do
|
|
22
22
|
}
|
23
23
|
}
|
24
24
|
app = described_class.new proc { |parcel|
|
25
|
-
parcel[:headers][:uuid].
|
25
|
+
expect(parcel[:headers][:uuid]).to eq(uuid)
|
26
26
|
}
|
27
27
|
app.call parcel
|
28
28
|
end
|
@@ -16,29 +16,29 @@ describe Serf::ParcelBuilder do
|
|
16
16
|
|
17
17
|
it 'returns a Hashie' do
|
18
18
|
parcel = subject.build
|
19
|
-
parcel.
|
19
|
+
expect(parcel).to be_a_kind_of(Hashie::Mash)
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'sets default parcel headers' do
|
23
23
|
parcel = subject.build
|
24
|
-
parcel[:headers].
|
24
|
+
expect(parcel[:headers]).to eq({})
|
25
25
|
end
|
26
26
|
|
27
27
|
it 'sets default parcel message' do
|
28
28
|
parcel = subject.build
|
29
|
-
parcel[:headers].
|
29
|
+
expect(parcel[:headers]).to eq({})
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'sets given headers and message' do
|
33
33
|
parcel = subject.build random_headers, random_message
|
34
|
-
parcel[:headers].
|
35
|
-
parcel[:message].
|
34
|
+
expect(parcel[:headers]).to eq(random_headers)
|
35
|
+
expect(parcel[:message]).to eq(random_message)
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'will coerce headers and message into Hashie::Mash' do
|
39
39
|
parcel = subject.build nil, nil
|
40
|
-
parcel[:headers].
|
41
|
-
parcel[:message].
|
40
|
+
expect(parcel[:headers]).to be_a_kind_of(Hashie::Mash)
|
41
|
+
expect(parcel[:message]).to be_a_kind_of(Hashie::Mash)
|
42
42
|
end
|
43
43
|
|
44
44
|
end
|
data/spec/serf/serfer_spec.rb
CHANGED
@@ -26,12 +26,12 @@ describe Serf::Serfer do
|
|
26
26
|
mock_app.
|
27
27
|
should_receive(:call).
|
28
28
|
with(request_message).
|
29
|
-
and_return(response_message)
|
29
|
+
and_return([nil, response_message])
|
30
30
|
serfer = described_class.new mock_app
|
31
31
|
parcel = serfer.call(
|
32
32
|
headers: nil,
|
33
33
|
message: request_message)
|
34
|
-
parcel.message.
|
34
|
+
expect(parcel.message).to eq(response_message)
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'sets the kind header in response' do
|
@@ -39,12 +39,12 @@ describe Serf::Serfer do
|
|
39
39
|
mock_app.
|
40
40
|
should_receive(:call).
|
41
41
|
with(request_message).
|
42
|
-
and_return([
|
42
|
+
and_return(['KIND', response_message])
|
43
43
|
serfer = described_class.new mock_app
|
44
44
|
parcel = serfer.call(
|
45
45
|
headers: nil,
|
46
46
|
message: request_message)
|
47
|
-
parcel.headers.kind.
|
47
|
+
expect(parcel.headers.kind).to eq('KIND')
|
48
48
|
end
|
49
49
|
|
50
50
|
it 'generate uuids' do
|
@@ -9,7 +9,7 @@ describe Serf::Util::ErrorHandling do
|
|
9
9
|
result, error = subject.with_error_handling do
|
10
10
|
raise 'Some Error Message'
|
11
11
|
end
|
12
|
-
result.
|
12
|
+
expect(result).to be_nil
|
13
13
|
JsonSchemaTester.new.validate_for!(
|
14
14
|
'serf/events/caught_error',
|
15
15
|
error)
|
@@ -26,8 +26,8 @@ describe Serf::Util::ErrorHandling do
|
|
26
26
|
result, error = subject.with_error_handling do
|
27
27
|
response_parcel
|
28
28
|
end
|
29
|
-
result.
|
30
|
-
error.
|
29
|
+
expect(result).to eq(response_parcel)
|
30
|
+
expect(error).to be_nil
|
31
31
|
end
|
32
32
|
|
33
33
|
end
|
@@ -10,17 +10,17 @@ describe Serf::Util::NullObject do
|
|
10
10
|
}
|
11
11
|
|
12
12
|
it 'returns itself on any fuzzy method call' do
|
13
|
-
subject.send(random_method_name).
|
13
|
+
expect(subject.send(random_method_name)).to eq(subject)
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'returns itself on a missing method' do
|
17
|
-
subject.my_missing_method.
|
17
|
+
expect(subject.my_missing_method).to eq(subject)
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'returns itself on a missing method with params' do
|
21
|
-
subject.my_missing_method(1,2,3,4) {
|
21
|
+
expect(subject.my_missing_method(1,2,3,4) {
|
22
22
|
nil
|
23
|
-
}.
|
23
|
+
}).to eq(subject)
|
24
24
|
end
|
25
25
|
|
26
26
|
end
|
@@ -9,8 +9,8 @@ describe Serf::Util::ProtectedCall do
|
|
9
9
|
result, error = subject.pcall do
|
10
10
|
raise 'Some Error Message'
|
11
11
|
end
|
12
|
-
result.
|
13
|
-
error.
|
12
|
+
expect(result).to be_nil
|
13
|
+
expect(error).to be_a_kind_of(RuntimeError)
|
14
14
|
end
|
15
15
|
|
16
16
|
end
|
@@ -24,8 +24,8 @@ describe Serf::Util::ProtectedCall do
|
|
24
24
|
result, error = subject.pcall do
|
25
25
|
response_parcel
|
26
26
|
end
|
27
|
-
result.
|
28
|
-
error.
|
27
|
+
expect(result).to eq(response_parcel)
|
28
|
+
expect(error).to be_nil
|
29
29
|
end
|
30
30
|
|
31
31
|
end
|
@@ -3,14 +3,14 @@ require 'spec_helper'
|
|
3
3
|
require 'serf/util/uuidable'
|
4
4
|
|
5
5
|
##
|
6
|
-
# NOTE: Not really great tests here... I
|
6
|
+
# NOTE: Not really great tests here... I need to mock out
|
7
7
|
# the uuid_tool to really get at the meat of the work.
|
8
8
|
#
|
9
9
|
describe Serf::Util::Uuidable do
|
10
10
|
|
11
11
|
its(:create_coded_uuid) {
|
12
|
-
|
13
|
-
subject.size.
|
12
|
+
expect(subject).to_not be_nil
|
13
|
+
expect(subject.size).to eq(22)
|
14
14
|
}
|
15
15
|
|
16
16
|
describe '#parse_coded_uuid' do
|
@@ -25,30 +25,30 @@ describe Serf::Util::Uuidable do
|
|
25
25
|
|
26
26
|
it 'works with no parent' do
|
27
27
|
uuids = subject.create_uuids
|
28
|
-
uuids[:uuid].
|
29
|
-
uuids[:parent_uuid].
|
30
|
-
uuids[:origin_uuid].
|
28
|
+
expect(uuids[:uuid]).to_not be_nil
|
29
|
+
expect(uuids[:parent_uuid]).to be_nil
|
30
|
+
expect(uuids[:origin_uuid]).to be_nil
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'copies origin from parent' do
|
34
34
|
uuids = subject.create_uuids origin_uuid: 'MY_UUID'
|
35
|
-
uuids[:uuid].
|
36
|
-
uuids[:parent_uuid].
|
37
|
-
uuids[:origin_uuid].
|
35
|
+
expect(uuids[:uuid]).to_not be_nil
|
36
|
+
expect(uuids[:parent_uuid]).to be_nil
|
37
|
+
expect(uuids[:origin_uuid]).to eq('MY_UUID')
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'sets origin from parent[:parent_uuid] if origin is nonexistent ' do
|
41
41
|
uuids = subject.create_uuids parent_uuid: 'MY_UUID'
|
42
|
-
uuids[:uuid].
|
43
|
-
uuids[:parent_uuid].
|
44
|
-
uuids[:origin_uuid].
|
42
|
+
expect(uuids[:uuid]).to_not be_nil
|
43
|
+
expect(uuids[:parent_uuid]).to be_nil
|
44
|
+
expect(uuids[:origin_uuid]).to eq('MY_UUID')
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'sets origin, parent from parent[:uuid] on missing origin and parent' do
|
48
48
|
uuids = subject.create_uuids uuid: 'MY_UUID'
|
49
|
-
uuids[:uuid].
|
50
|
-
uuids[:parent_uuid].
|
51
|
-
uuids[:origin_uuid].
|
49
|
+
expect(uuids[:uuid]).to_not be_nil
|
50
|
+
expect(uuids[:parent_uuid]).to eq('MY_UUID')
|
51
|
+
expect(uuids[:origin_uuid]).to eq('MY_UUID')
|
52
52
|
end
|
53
53
|
|
54
54
|
end
|
data/spec/support/factories.rb
CHANGED
@@ -5,6 +5,13 @@ require 'securerandom'
|
|
5
5
|
FactoryGirl.define do
|
6
6
|
sequence(:random_string) { SecureRandom.hex }
|
7
7
|
|
8
|
+
factory :empty_parcel, class: Hashie::Mash do
|
9
|
+
headers {{
|
10
|
+
}}
|
11
|
+
message {{
|
12
|
+
}}
|
13
|
+
end
|
14
|
+
|
8
15
|
factory :random_parcel, class: Hashie::Mash do
|
9
16
|
headers {{
|
10
17
|
uuid: generate(:random_string),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hashie
|
@@ -43,6 +43,22 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 0.4.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: optser
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.1.0
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.0
|
46
62
|
- !ruby/object:Gem::Dependency
|
47
63
|
name: uuidtools
|
48
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,19 +92,24 @@ files:
|
|
76
92
|
- NOTICE.txt
|
77
93
|
- README.md
|
78
94
|
- Rakefile
|
95
|
+
- example/components/logger.serf
|
96
|
+
- example/serfs/create_widget.serf
|
79
97
|
- lib/serf.rb
|
80
98
|
- lib/serf/builder.rb
|
81
99
|
- lib/serf/errors/policy_failure.rb
|
100
|
+
- lib/serf/loader.rb
|
101
|
+
- lib/serf/loader/loader.rb
|
102
|
+
- lib/serf/loader/registry.rb
|
82
103
|
- lib/serf/middleware/error_handler.rb
|
83
104
|
- lib/serf/middleware/parcel_freezer.rb
|
84
105
|
- lib/serf/middleware/parcel_masher.rb
|
85
106
|
- lib/serf/middleware/policy_checker.rb
|
107
|
+
- lib/serf/middleware/request_timer.rb
|
86
108
|
- lib/serf/middleware/uuid_tagger.rb
|
87
109
|
- lib/serf/parcel_builder.rb
|
88
110
|
- lib/serf/serfer.rb
|
89
111
|
- lib/serf/util/error_handling.rb
|
90
112
|
- lib/serf/util/null_object.rb
|
91
|
-
- lib/serf/util/options_extraction.rb
|
92
113
|
- lib/serf/util/protected_call.rb
|
93
114
|
- lib/serf/util/uuidable.rb
|
94
115
|
- lib/serf/version.rb
|
@@ -96,16 +117,19 @@ files:
|
|
96
117
|
- serf.gemspec
|
97
118
|
- spec/serf/builder_spec.rb
|
98
119
|
- spec/serf/errors/policy_failure_spec.rb
|
120
|
+
- spec/serf/loader/loader_spec.rb
|
121
|
+
- spec/serf/loader/registry_spec.rb
|
122
|
+
- spec/serf/loader_spec.rb
|
99
123
|
- spec/serf/middleware/error_handler_spec.rb
|
100
124
|
- spec/serf/middleware/parcel_freezer_spec.rb
|
101
125
|
- spec/serf/middleware/parcel_masher_spec.rb
|
102
126
|
- spec/serf/middleware/policy_checker_spec.rb
|
127
|
+
- spec/serf/middleware/request_timer_spec.rb
|
103
128
|
- spec/serf/middleware/uuid_tagger_spec.rb
|
104
129
|
- spec/serf/parcel_builder_spec.rb
|
105
130
|
- spec/serf/serfer_spec.rb
|
106
131
|
- spec/serf/util/error_handling_spec.rb
|
107
132
|
- spec/serf/util/null_object_spec.rb
|
108
|
-
- spec/serf/util/options_extraction_spec.rb
|
109
133
|
- spec/serf/util/protected_call_spec.rb
|
110
134
|
- spec/serf/util/uuidable_spec.rb
|
111
135
|
- spec/serf_spec.rb
|
@@ -114,7 +138,6 @@ files:
|
|
114
138
|
- spec/support/factories.rb
|
115
139
|
- spec/support/failing_policy.rb
|
116
140
|
- spec/support/json_schema_tester.rb
|
117
|
-
- spec/support/options_extraction_wrapper.rb
|
118
141
|
- spec/support/passing_policy.rb
|
119
142
|
- spec/support/protected_call_wrapper.rb
|
120
143
|
homepage: http://github.com/byu/serf
|
@@ -132,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
155
|
version: '0'
|
133
156
|
segments:
|
134
157
|
- 0
|
135
|
-
hash:
|
158
|
+
hash: 3194185596279459247
|
136
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
160
|
none: false
|
138
161
|
requirements:
|
@@ -141,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
164
|
version: '0'
|
142
165
|
segments:
|
143
166
|
- 0
|
144
|
-
hash:
|
167
|
+
hash: 3194185596279459247
|
145
168
|
requirements: []
|
146
169
|
rubyforge_project:
|
147
170
|
rubygems_version: 1.8.23
|
@@ -151,16 +174,19 @@ summary: Interactors with policy protection
|
|
151
174
|
test_files:
|
152
175
|
- spec/serf/builder_spec.rb
|
153
176
|
- spec/serf/errors/policy_failure_spec.rb
|
177
|
+
- spec/serf/loader/loader_spec.rb
|
178
|
+
- spec/serf/loader/registry_spec.rb
|
179
|
+
- spec/serf/loader_spec.rb
|
154
180
|
- spec/serf/middleware/error_handler_spec.rb
|
155
181
|
- spec/serf/middleware/parcel_freezer_spec.rb
|
156
182
|
- spec/serf/middleware/parcel_masher_spec.rb
|
157
183
|
- spec/serf/middleware/policy_checker_spec.rb
|
184
|
+
- spec/serf/middleware/request_timer_spec.rb
|
158
185
|
- spec/serf/middleware/uuid_tagger_spec.rb
|
159
186
|
- spec/serf/parcel_builder_spec.rb
|
160
187
|
- spec/serf/serfer_spec.rb
|
161
188
|
- spec/serf/util/error_handling_spec.rb
|
162
189
|
- spec/serf/util/null_object_spec.rb
|
163
|
-
- spec/serf/util/options_extraction_spec.rb
|
164
190
|
- spec/serf/util/protected_call_spec.rb
|
165
191
|
- spec/serf/util/uuidable_spec.rb
|
166
192
|
- spec/serf_spec.rb
|
@@ -169,7 +195,6 @@ test_files:
|
|
169
195
|
- spec/support/factories.rb
|
170
196
|
- spec/support/failing_policy.rb
|
171
197
|
- spec/support/json_schema_tester.rb
|
172
|
-
- spec/support/options_extraction_wrapper.rb
|
173
198
|
- spec/support/passing_policy.rb
|
174
199
|
- spec/support/protected_call_wrapper.rb
|
175
200
|
has_rdoc:
|