payload 0.2.2 → 0.3.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 +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +7 -0
- data/Gemfile.lock +11 -1
- data/README.md +13 -13
- data/bin/rake +16 -0
- data/bin/rspec +16 -0
- data/lib/payload/decorator_chain.rb +2 -2
- data/lib/payload/definition.rb +1 -1
- data/lib/payload/factory.rb +27 -10
- data/lib/payload/partial_instance.rb +57 -0
- data/lib/payload/version.rb +1 -1
- data/payload.gemspec +1 -0
- data/spec/payload/container_spec.rb +8 -8
- data/spec/payload/decorator_chain_spec.rb +28 -14
- data/spec/payload/factory_spec.rb +30 -20
- data/spec/payload/partial_instance_spec.rb +57 -0
- data/spec/spec_helper.rb +8 -0
- metadata +23 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b10fd4f4978e6e012a6a0de2afb3ddd2d0a42213
|
4
|
+
data.tar.gz: 4f8f29b9e509d9187d7069af752af5bbb4ebd3ab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf4b151ea4ce615e0eac8a522768d8e4e4b63b8b47ed9cb392a7b053a9fadecfe5cc2a6b68da3e3375a8ab305e34732f553b85e85ce55c78fa5ddef03add86fc
|
7
|
+
data.tar.gz: 906535970e22a92f507b48e14a37a2b2ec16ce6ba23fa63f9591bda7a909d73c0acb649e21d684891db10ea8eb1e2a562b7f376143e340cdf4b23276ce64db0f
|
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
payload (0.
|
4
|
+
payload (0.3.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
+
codeclimate-test-reporter (0.2.0)
|
10
|
+
simplecov (>= 0.7.1, < 1.0.0)
|
9
11
|
diff-lcs (1.2.5)
|
12
|
+
docile (1.1.5)
|
13
|
+
multi_json (1.10.1)
|
10
14
|
rack (1.5.2)
|
11
15
|
rake (10.3.2)
|
12
16
|
rspec (3.1.0)
|
@@ -21,11 +25,17 @@ GEM
|
|
21
25
|
rspec-mocks (3.1.3)
|
22
26
|
rspec-support (~> 3.1.0)
|
23
27
|
rspec-support (3.1.2)
|
28
|
+
simplecov (0.9.1)
|
29
|
+
docile (~> 1.1.0)
|
30
|
+
multi_json (~> 1.0)
|
31
|
+
simplecov-html (~> 0.8.0)
|
32
|
+
simplecov-html (0.8.0)
|
24
33
|
|
25
34
|
PLATFORMS
|
26
35
|
ruby
|
27
36
|
|
28
37
|
DEPENDENCIES
|
38
|
+
codeclimate-test-reporter
|
29
39
|
payload!
|
30
40
|
rack
|
31
41
|
rake
|
data/README.md
CHANGED
@@ -71,8 +71,8 @@ from controllers entirely.
|
|
71
71
|
In `config/dependencies.rb`:
|
72
72
|
|
73
73
|
```ruby
|
74
|
-
factory :payment do |container|
|
75
|
-
Payment.new(
|
74
|
+
factory :payment do |container, attributes|
|
75
|
+
Payment.new(attributes, container[:payment_client])
|
76
76
|
end
|
77
77
|
```
|
78
78
|
|
@@ -81,7 +81,7 @@ In `app/controllers/payments_controller.rb`:
|
|
81
81
|
```ruby
|
82
82
|
class PaymentsController < ApplicationController
|
83
83
|
def create
|
84
|
-
payment = dependencies[:payment].new(
|
84
|
+
payment = dependencies[:payment].new(params[:payment])
|
85
85
|
payment.process
|
86
86
|
redirect_to payment
|
87
87
|
end
|
@@ -95,7 +95,7 @@ describe PaymentsController do
|
|
95
95
|
describe '#create' do
|
96
96
|
it 'processes a payment' do
|
97
97
|
payment_params = { product_id: '123', amount: '25' }
|
98
|
-
payment = stub_factory_instance(:payment,
|
98
|
+
payment = stub_factory_instance(:payment, payment_params)
|
99
99
|
|
100
100
|
post :create, payment_params
|
101
101
|
|
@@ -151,13 +151,13 @@ Use the `factory` method to define dependencies which require dependencies from
|
|
151
151
|
the container as well as runtime state which varies per-request:
|
152
152
|
|
153
153
|
```ruby
|
154
|
-
factory :payment do |container|
|
155
|
-
Payment.new(
|
154
|
+
factory :payment do |container, attributes|
|
155
|
+
Payment.new(attributes, container[:payment_client])
|
156
156
|
end
|
157
157
|
```
|
158
158
|
|
159
|
-
|
160
|
-
|
159
|
+
Any additional arguments passed to `new` when instantiating the factory will
|
160
|
+
also be passed to the factory definition block.
|
161
161
|
|
162
162
|
Use the `decorate` method to extend or replace a previously defined dependency:
|
163
163
|
|
@@ -193,15 +193,15 @@ Use `new` to instantiate dependencies from factories:
|
|
193
193
|
```ruby
|
194
194
|
class PaymentsController < ApplicationController
|
195
195
|
def create
|
196
|
-
payment = dependencies[:payment].new(
|
196
|
+
payment = dependencies[:payment].new(params[:payment])
|
197
197
|
payment.process
|
198
198
|
redirect_to payment
|
199
199
|
end
|
200
200
|
end
|
201
201
|
```
|
202
202
|
|
203
|
-
|
204
|
-
|
203
|
+
All arguments to the `new` method will be passed to the factory definition
|
204
|
+
block.
|
205
205
|
|
206
206
|
Grouping Dependencies
|
207
207
|
---------------------
|
@@ -222,8 +222,8 @@ service :payment_notifier do |container|
|
|
222
222
|
PaymentNotifier.new(container[:mailer])
|
223
223
|
end
|
224
224
|
|
225
|
-
factory :payment do |container|
|
226
|
-
Payment.new(
|
225
|
+
factory :payment do |container, attributes|
|
226
|
+
Payment.new(attributes, container[:payment_client])
|
227
227
|
end
|
228
228
|
|
229
229
|
decorate :payment do |payment, container|
|
data/bin/rake
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'rake' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('rake', 'rake')
|
data/bin/rspec
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'rspec' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('rspec-core', 'rspec')
|
@@ -16,9 +16,9 @@ module Payload
|
|
16
16
|
self.class.new decorators + [decorator]
|
17
17
|
end
|
18
18
|
|
19
|
-
def decorate(base, container)
|
19
|
+
def decorate(base, container, *extra)
|
20
20
|
decorators.inject(base) do |component, decorator|
|
21
|
-
decorator.call(component, container)
|
21
|
+
decorator.call(component, container, *extra)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
data/lib/payload/definition.rb
CHANGED
data/lib/payload/factory.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require "payload/partial_instance"
|
2
|
+
|
1
3
|
module Payload
|
2
4
|
# Returned by {Container#[]} for {Container#factory} definitions.
|
3
5
|
#
|
@@ -15,19 +17,34 @@ module Payload
|
|
15
17
|
@decorators = decorators
|
16
18
|
end
|
17
19
|
|
18
|
-
# @param [
|
19
|
-
#
|
20
|
+
# @param [Array] arguments additional arguments to pass to the factory
|
21
|
+
# definition block.
|
20
22
|
# @return the instance defined by the factory definition block.
|
21
23
|
# @see Container#factory Container#factory for defining and using factories.
|
22
|
-
def new(arguments
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
base = @block.call(resolved)
|
24
|
+
def new(*arguments)
|
25
|
+
base = @block.call(@container, *arguments)
|
26
|
+
@decorators.decorate(base, @container, *arguments)
|
27
|
+
end
|
29
28
|
|
30
|
-
|
29
|
+
# Return a new factory with some of the arguments provided. Remaining
|
30
|
+
# arguments can be provided by invoking {Factory#new} on the returned
|
31
|
+
# instance. Chaining {Factory#apply} is also possible. This can be useful
|
32
|
+
# for returning a factory where some of the dependencies are provided by the
|
33
|
+
# container, and the remainder are provided at runtime.
|
34
|
+
#
|
35
|
+
# @example
|
36
|
+
# container = Payload::Container.new.
|
37
|
+
# factory(:form) { |container, model, attributes|
|
38
|
+
# Form.new(model, attributes)
|
39
|
+
# }.
|
40
|
+
# service(:user_form) { |container| container[:form].apply(User) }
|
41
|
+
# user_form = container[:user_form].new(username: "smith")
|
42
|
+
# @param [Array] arguments positional arguments to be passed to the factory
|
43
|
+
# @param [Hash] keywords keyword arguments to be passed to the factory
|
44
|
+
# @return [PartialInstance] an instance on which you can invoke
|
45
|
+
# {Factory#new}.
|
46
|
+
def apply(*arguments, **keywords)
|
47
|
+
PartialInstance.new(self).apply(*arguments, **keywords)
|
31
48
|
end
|
32
49
|
end
|
33
50
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Payload
|
2
|
+
# Returned by {Factory#apply}.
|
3
|
+
#
|
4
|
+
# Used to build up arguments for invoking factory definitions.
|
5
|
+
#
|
6
|
+
# @see Factory#apply Factory#apply for usage.
|
7
|
+
class PartialInstance
|
8
|
+
# Used internally by {Factory}.
|
9
|
+
#
|
10
|
+
# @api private
|
11
|
+
def initialize(instance, positional = [], keywords = {})
|
12
|
+
@instance = instance
|
13
|
+
@positional = positional
|
14
|
+
@keywords = keywords
|
15
|
+
end
|
16
|
+
|
17
|
+
# @see Factory#apply Factory#apply for usage.
|
18
|
+
def apply(*positional, **keywords)
|
19
|
+
self.class.new(
|
20
|
+
@instance,
|
21
|
+
@positional + positional,
|
22
|
+
@keywords.merge(keywords)
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Applies final arguments and invokes the missing method on the target.
|
27
|
+
#
|
28
|
+
# @see Factory#new Factory#new for usage.
|
29
|
+
def method_missing(name, *positional, **keywords, &block)
|
30
|
+
apply(*positional, **keywords).evaluate(name, &block)
|
31
|
+
end
|
32
|
+
|
33
|
+
protected
|
34
|
+
|
35
|
+
def evaluate(name, &block)
|
36
|
+
@instance.public_send(name, *arguments, &block)
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def arguments
|
42
|
+
@positional + keyword_arguments
|
43
|
+
end
|
44
|
+
|
45
|
+
def keyword_arguments
|
46
|
+
if @keywords.empty?
|
47
|
+
[]
|
48
|
+
else
|
49
|
+
[@keywords]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def respond_to_missing?(*arguments)
|
54
|
+
@instance.respond_to?(*arguments)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/lib/payload/version.rb
CHANGED
data/payload.gemspec
CHANGED
@@ -5,17 +5,17 @@ require 'payload/testing'
|
|
5
5
|
describe Payload::Container do
|
6
6
|
include Payload::Testing
|
7
7
|
|
8
|
-
describe
|
9
|
-
it
|
10
|
-
container = build_container
|
11
|
-
|
12
|
-
|
13
|
-
"#{
|
8
|
+
describe "#factory" do
|
9
|
+
it "returns an object that responds to new" do
|
10
|
+
container = build_container.
|
11
|
+
service(:from_container) { |config| "From container" }.
|
12
|
+
factory(:example) do |config, from_new|
|
13
|
+
"#{from_new} and #{config[:from_container]}"
|
14
14
|
end
|
15
15
|
|
16
|
-
result = container[:example].new(
|
16
|
+
result = container[:example].new("From new")
|
17
17
|
|
18
|
-
expect(result).to eq(
|
18
|
+
expect(result).to eq("From new and From container")
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -6,28 +6,42 @@ describe Payload::DecoratorChain do
|
|
6
6
|
expect(Payload::DecoratorChain.new).to be_a(Enumerable)
|
7
7
|
end
|
8
8
|
|
9
|
-
describe
|
10
|
-
it
|
11
|
-
chain = Payload::DecoratorChain
|
12
|
-
.
|
13
|
-
|
14
|
-
|
9
|
+
describe "#decorate" do
|
10
|
+
it "applies a series of decorators to a component" do
|
11
|
+
chain = Payload::DecoratorChain.
|
12
|
+
new.
|
13
|
+
add(lambda { |base, config| "Decorated #{base} with #{config[:one]}" }).
|
14
|
+
add(lambda { |base, config| "#{base} and #{config[:two]}" })
|
15
15
|
|
16
|
-
result = chain.decorate(
|
16
|
+
result = chain.decorate("original", one: "one", two: "two")
|
17
17
|
|
18
|
-
expect(result).to eq(
|
18
|
+
expect(result).to eq("Decorated original with one and two")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "applies a decorator with extra arguments" do
|
22
|
+
block = lambda do |base, config, extra|
|
23
|
+
"Decorated #{base} with #{config[:one]} and #{extra}"
|
24
|
+
end
|
25
|
+
|
26
|
+
chain = Payload::DecoratorChain.
|
27
|
+
new.
|
28
|
+
add(block)
|
29
|
+
|
30
|
+
result = chain.decorate("original", { one: "one", two: "two" }, "extra")
|
31
|
+
|
32
|
+
expect(result).to eq("Decorated original with one and extra")
|
19
33
|
end
|
20
34
|
|
21
35
|
it "doesn't mutate" do
|
22
|
-
chain = Payload::DecoratorChain
|
23
|
-
.
|
24
|
-
|
36
|
+
chain = Payload::DecoratorChain.
|
37
|
+
new.
|
38
|
+
add(lambda { |base, config| "Decorated #{base}" })
|
25
39
|
|
26
|
-
chain.add(lambda { |base, config|
|
40
|
+
chain.add(lambda { |base, config| "Unreferenced decorator" })
|
27
41
|
|
28
|
-
result = chain.decorate(
|
42
|
+
result = chain.decorate("original", {})
|
29
43
|
|
30
|
-
expect(result).to eq(
|
44
|
+
expect(result).to eq("Decorated original")
|
31
45
|
end
|
32
46
|
end
|
33
47
|
|
@@ -1,46 +1,56 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require "spec_helper"
|
2
|
+
require "payload/factory"
|
3
|
+
require "payload/decorator_chain"
|
4
|
+
require "payload/testing"
|
5
5
|
|
6
6
|
describe Payload::Factory do
|
7
7
|
include Payload::Testing
|
8
8
|
|
9
|
-
describe
|
10
|
-
it
|
11
|
-
decorator = lambda do |component, config|
|
12
|
-
"Decorated #{component.inspect}
|
13
|
-
"with #{config[:from_container]} "
|
14
|
-
"and #{config[:from_new]}"
|
9
|
+
describe "#new" do
|
10
|
+
it "instantiates the dependency" do
|
11
|
+
decorator = lambda do |component, config, from_new|
|
12
|
+
"Decorated #{component.inspect}" \
|
13
|
+
" with #{config[:from_container]} and #{from_new}"
|
15
14
|
end
|
16
|
-
block = lambda do |config|
|
17
|
-
"Component with #{config[:from_container]} and #{
|
15
|
+
block = lambda do |config, from_new|
|
16
|
+
"Component with #{config[:from_container]} and #{from_new}"
|
18
17
|
end
|
19
18
|
decorators = Payload::DecoratorChain.new.add(decorator)
|
20
|
-
container = build_container
|
21
|
-
.service(:from_container) { 'From container' }
|
19
|
+
container = build_container.service(:from_container) { "From container" }
|
22
20
|
factory = Payload::Factory.new(container, block, decorators)
|
23
21
|
|
24
|
-
result = factory.new(
|
22
|
+
result = factory.new("From new")
|
25
23
|
|
26
24
|
expect(result).to eq(
|
27
25
|
'Decorated "Component with From container and From new" ' \
|
28
|
-
|
26
|
+
"with From container and From new"
|
29
27
|
)
|
30
28
|
end
|
31
29
|
|
32
|
-
it
|
30
|
+
it "instantiates the dependency without arguments" do
|
33
31
|
block = lambda do |config|
|
34
32
|
"Component with #{config[:from_container]}"
|
35
33
|
end
|
36
34
|
decorators = Payload::DecoratorChain.new
|
37
|
-
container = build_container
|
38
|
-
.service(:from_container) { 'From container' }
|
35
|
+
container = build_container.service(:from_container) { "From container" }
|
39
36
|
factory = Payload::Factory.new(container, block, decorators)
|
40
37
|
|
41
38
|
result = factory.new
|
42
39
|
|
43
|
-
expect(result).to eq(
|
40
|
+
expect(result).to eq("Component with From container")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "#apply" do
|
45
|
+
it "applies arguments" do
|
46
|
+
container = build_container
|
47
|
+
block = lambda { |config, applied, local| "Got #{applied} and #{local}" }
|
48
|
+
decorators = Payload::DecoratorChain.new
|
49
|
+
factory = Payload::Factory.new(container, block, decorators)
|
50
|
+
|
51
|
+
result = factory.apply("applied").new("local")
|
52
|
+
|
53
|
+
expect(result).to eq("Got applied and local")
|
44
54
|
end
|
45
55
|
end
|
46
56
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
require "payload/partial_instance"
|
3
|
+
|
4
|
+
describe Payload::PartialInstance do
|
5
|
+
describe "#method_missing" do
|
6
|
+
context "for a method with only positional arguments" do
|
7
|
+
it "applies parameters from #initialize and #apply" do
|
8
|
+
block = lambda do |first, second, third|
|
9
|
+
[first, second, third]
|
10
|
+
end
|
11
|
+
|
12
|
+
result = Payload::PartialInstance.
|
13
|
+
new(block, ["first"], {}).
|
14
|
+
apply("second").
|
15
|
+
call("third")
|
16
|
+
|
17
|
+
expect(result).to eq(%w(first second third))
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "for a method with keyword arguments" do
|
22
|
+
it "combines keyword arguments" do
|
23
|
+
block = lambda do |first, second, third, a: nil, b: nil, c: nil|
|
24
|
+
[first, second, third, a, b, c]
|
25
|
+
end
|
26
|
+
|
27
|
+
result = Payload::PartialInstance.
|
28
|
+
new(block, ["first"], { a: "a" }).
|
29
|
+
apply("second", b: "b").
|
30
|
+
call("third", c: "c")
|
31
|
+
|
32
|
+
expect(result).to eq(%w(first second third a b c))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe "#respond_to_missing?" do
|
38
|
+
context "for a method defined on its instance" do
|
39
|
+
it "returns true" do
|
40
|
+
instance = double("instance")
|
41
|
+
allow(instance).to receive(:example)
|
42
|
+
partial = Payload::PartialInstance.new(instance)
|
43
|
+
|
44
|
+
expect(partial.method(:example)).not_to be_nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context "for an undefined method" do
|
49
|
+
it "returns false" do
|
50
|
+
instance = double("instance")
|
51
|
+
partial = Payload::PartialInstance.new(instance)
|
52
|
+
|
53
|
+
expect { partial.method(:unknown) }.to raise_error(NameError)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: payload
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thoughtbot
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 3.1.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: codeclimate-test-reporter
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
description: Dependency configuration and injection for Ruby and Rails.
|
57
71
|
email: support@thoughtbot.com
|
58
72
|
executables: []
|
@@ -63,12 +77,15 @@ extra_rdoc_files:
|
|
63
77
|
- CONTRIBUTING.md
|
64
78
|
files:
|
65
79
|
- ".gitignore"
|
80
|
+
- ".travis.yml"
|
66
81
|
- CONTRIBUTING.md
|
67
82
|
- Gemfile
|
68
83
|
- Gemfile.lock
|
69
84
|
- LICENSE
|
70
85
|
- README.md
|
71
86
|
- Rakefile
|
87
|
+
- bin/rake
|
88
|
+
- bin/rspec
|
72
89
|
- lib/payload/container.rb
|
73
90
|
- lib/payload/controller.rb
|
74
91
|
- lib/payload/decorator_chain.rb
|
@@ -79,6 +96,7 @@ files:
|
|
79
96
|
- lib/payload/factory.rb
|
80
97
|
- lib/payload/factory_resolver.rb
|
81
98
|
- lib/payload/mutable_container.rb
|
99
|
+
- lib/payload/partial_instance.rb
|
82
100
|
- lib/payload/rack_container.rb
|
83
101
|
- lib/payload/rails_loader.rb
|
84
102
|
- lib/payload/railtie.rb
|
@@ -97,6 +115,7 @@ files:
|
|
97
115
|
- spec/payload/factory_resolver_spec.rb
|
98
116
|
- spec/payload/factory_spec.rb
|
99
117
|
- spec/payload/mutable_container_spec.rb
|
118
|
+
- spec/payload/partial_instance_spec.rb
|
100
119
|
- spec/payload/rack_container_spec.rb
|
101
120
|
- spec/payload/rails_loader_spec.rb
|
102
121
|
- spec/payload/service_resolver_spec.rb
|
@@ -123,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
142
|
version: '0'
|
124
143
|
requirements: []
|
125
144
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.4.
|
145
|
+
rubygems_version: 2.4.2
|
127
146
|
signing_key:
|
128
147
|
specification_version: 4
|
129
148
|
summary: Dependency configuration and injection for Ruby and Rails.
|
@@ -137,6 +156,7 @@ test_files:
|
|
137
156
|
- spec/payload/factory_resolver_spec.rb
|
138
157
|
- spec/payload/factory_spec.rb
|
139
158
|
- spec/payload/mutable_container_spec.rb
|
159
|
+
- spec/payload/partial_instance_spec.rb
|
140
160
|
- spec/payload/rack_container_spec.rb
|
141
161
|
- spec/payload/rails_loader_spec.rb
|
142
162
|
- spec/payload/service_resolver_spec.rb
|