light-service 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +11 -9
- data/Appraisals +4 -0
- data/README.md +11 -4
- data/RELEASES.md +4 -0
- data/gemfiles/activesupport_6.gemfile +8 -0
- data/lib/light-service/localization_adapter.rb +1 -1
- data/lib/light-service/organizer.rb +10 -0
- data/lib/light-service/version.rb +1 -1
- data/light-service.gemspec +3 -2
- data/spec/acceptance/organizer/add_aliases_spec.rb +28 -0
- data/spec/acceptance/organizer/add_to_context_spec.rb +30 -0
- data/spec/acceptance/organizer/reduce_if_spec.rb +32 -0
- data/spec/organizer_spec.rb +16 -0
- data/spec/sample/provides_free_shipping_action_spec.rb +1 -1
- data/spec/test_doubles.rb +35 -0
- metadata +13 -12
- data/gemfiles/activesupport_3.gemfile.lock +0 -76
- data/gemfiles/activesupport_4.gemfile.lock +0 -82
- data/gemfiles/activesupport_5.gemfile.lock +0 -82
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e9dfb5cf61024afa28719b84e160c9580fa39c99eda19b73cdb0cced9017da2
|
4
|
+
data.tar.gz: 7f389c208b3b06000c84859d595d9b49acf8dfe8d370736ee564a1ae8ef8b5d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1b7792d344efe1aab4297f8774649590b8e0336a44082da31a167a62b75a039b7f89759923beb9a463f6c017b0387297efc815f357deae31270b54e2c1c1bcc
|
7
|
+
data.tar.gz: 0d1d339a23d2d7b39bd5403d81fe1e1519a89eec22fd64f00931d9dc49a81c5476f67e6dd28591e0e88c55b1378d1155ed0d1700100569aa9b43a1922c860f3e
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -4,16 +4,15 @@ env:
|
|
4
4
|
- RUN_COVERAGE_REPORT=true
|
5
5
|
|
6
6
|
rvm:
|
7
|
-
- 2.
|
8
|
-
- 2.
|
9
|
-
- 2.5.0
|
7
|
+
- 2.4.2
|
8
|
+
- 2.5.3
|
10
9
|
- 2.6.0
|
10
|
+
- 2.7.0
|
11
11
|
|
12
12
|
before_install:
|
13
13
|
- 'echo ''gem: --no-ri --no-rdoc'' > ~/.gemrc'
|
14
14
|
- gem install bundler
|
15
|
-
- bundle
|
16
|
-
- bundle install --path vendor/bundle
|
15
|
+
- bundle install --clean --path vendor/bundle
|
17
16
|
|
18
17
|
# uncomment this line if your project needs to run something other than `rake`:
|
19
18
|
script:
|
@@ -24,10 +23,13 @@ gemfile:
|
|
24
23
|
- gemfiles/activesupport_3.gemfile
|
25
24
|
- gemfiles/activesupport_4.gemfile
|
26
25
|
- gemfiles/activesupport_5.gemfile
|
26
|
+
- gemfiles/activesupport_6.gemfile
|
27
27
|
|
28
28
|
matrix:
|
29
29
|
exclude:
|
30
|
-
- rvm: 2.
|
31
|
-
gemfile: gemfiles/
|
32
|
-
- rvm: 2.
|
33
|
-
gemfile: gemfiles/
|
30
|
+
- rvm: 2.4.2
|
31
|
+
gemfile: gemfiles/activesupport_6.gemfile
|
32
|
+
- rvm: 2.7.0
|
33
|
+
gemfile: gemfiles/activesupport_3.gemfile
|
34
|
+
- rvm: 2.7.0
|
35
|
+
gemfile: gemfiles/activesupport_4.gemfile
|
data/Appraisals
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
![LightService](https://raw.githubusercontent.com/adomokos/light-service/master/resources/light-service.png)
|
2
2
|
|
3
3
|
[![Gem Version](https://img.shields.io/gem/v/light-service.svg)](https://rubygems.org/gems/light-service)
|
4
|
-
[![Build Status](https://secure.travis-ci.org/adomokos/light-service.
|
5
|
-
[![Code Climate](https://codeclimate.com/github/adomokos/light-service.
|
4
|
+
[![Build Status](https://secure.travis-ci.org/adomokos/light-service.svg)](http://travis-ci.org/adomokos/light-service)
|
5
|
+
[![Code Climate](https://codeclimate.com/github/adomokos/light-service.svg)](https://codeclimate.com/github/adomokos/light-service)
|
6
6
|
[![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
|
7
|
+
[![Download Count](https://ruby-gem-downloads-badge.herokuapp.com/light-service?type=total)](https://rubygems.org/gems/light-service)
|
7
8
|
|
8
9
|
<br><br>
|
9
10
|
|
@@ -78,7 +79,7 @@ Wouldn't it be nice to see this instead?
|
|
78
79
|
(
|
79
80
|
LooksUpTaxPercentage,
|
80
81
|
CalculatesOrderTax,
|
81
|
-
|
82
|
+
ProvidesFreeShipping
|
82
83
|
)
|
83
84
|
```
|
84
85
|
|
@@ -758,13 +759,15 @@ end
|
|
758
759
|
|
759
760
|
This code is much easier to reason about, it's less noisy and it captures the goal of LightService well: simple, declarative code that's easy to understand.
|
760
761
|
|
761
|
-
The
|
762
|
+
The 7 different orchestrator constructs an organizer can have:
|
762
763
|
|
763
764
|
1. `reduce_until`
|
764
765
|
2. `reduce_if`
|
765
766
|
3. `iterate`
|
766
767
|
4. `execute`
|
767
768
|
5. `with_callback`
|
769
|
+
6. `add_to_context`
|
770
|
+
7. `add_aliases`
|
768
771
|
|
769
772
|
`reduce_until` behaves like a while loop in imperative languages, it iterates until the provided predicate in the lambda evaluates to true. Take a look at [this acceptance test](spec/acceptance/organizer/reduce_until_spec.rb) to see how it's used.
|
770
773
|
|
@@ -776,6 +779,10 @@ To take advantage of another organizer or action, you might need to tweak the co
|
|
776
779
|
|
777
780
|
Use `with_callback` when you want to execute actions with a deferred and controlled callback. It works similar to a Sax parser, I've used it for processing large files. The advantage of it is not having to keep large amount of data in memory. See [this acceptance test](spec/acceptance/organizer/with_callback_spec.rb) as a working example.
|
778
781
|
|
782
|
+
`add_to_context` can add key-value pairs on the fly to the context. This functionality is useful when you need a value injected into the context under a specific key right before the subsequent actions are executed. [This test](spec/acceptance/organizer/add_to_context_spec.rb) describes its functionality.
|
783
|
+
|
784
|
+
Your action needs a certain key in the context but it's under a different one? Use the function `add_aliases` to alias an existing key in the context under the desired key. Take a look at [this test](spec/acceptance/organizer/add_aliases_spec.rb) to see an example.
|
785
|
+
|
779
786
|
## ContextFactory for Faster Action Testing
|
780
787
|
|
781
788
|
As the complexity of your workflow increases, you will find yourself spending more and more time creating a context (LightService::Context it is) for your action tests. Some of this code can be reused by clever factories, but still, you are using a context that is artificial, and can be different from what the previous actions produced. This is especially true, when you use LightService in ETLs, where you start out with initial data and your actions are mutating its state.
|
data/RELEASES.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
A brief list of new features and changes introduced with the specified version.
|
2
2
|
|
3
|
+
### 0.13.0
|
4
|
+
* [Add 'add_to_context' and 'add_aliases'](https://github.com/adomokos/light-service/pull/172)
|
5
|
+
* Updating Ruby compatibility, minor fixes
|
6
|
+
|
3
7
|
### 0.12.0
|
4
8
|
* [Per organizer logger](https://github.com/adomokos/light-service/pull/162)
|
5
9
|
* [Fix 'fail_and_return!' not accepting 'error_code' option](https://github.com/adomokos/light-service/pull/168)
|
@@ -64,6 +64,16 @@ module LightService
|
|
64
64
|
def logger
|
65
65
|
@logger
|
66
66
|
end
|
67
|
+
|
68
|
+
def add_to_context(**args)
|
69
|
+
args.map do |key, value|
|
70
|
+
execute(->(ctx) { ctx[key.to_sym] = value })
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
def add_aliases(args)
|
75
|
+
execute(->(ctx) { ctx.assign_aliases(ctx.aliases.merge(args)) })
|
76
|
+
end
|
67
77
|
end
|
68
78
|
|
69
79
|
module Macros
|
data/light-service.gemspec
CHANGED
@@ -16,9 +16,10 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.require_paths = ["lib"]
|
17
17
|
gem.version = LightService::VERSION
|
18
18
|
|
19
|
-
gem.
|
19
|
+
gem.add_runtime_dependency("activesupport", ">= 3.0.0")
|
20
|
+
|
20
21
|
gem.add_development_dependency("rspec", "~> 3.0")
|
21
|
-
gem.add_development_dependency("simplecov", "~> 0.
|
22
|
+
gem.add_development_dependency("simplecov", "~> 0.17")
|
22
23
|
gem.add_development_dependency("rubocop", "~> 0.68.0")
|
23
24
|
gem.add_development_dependency("rubocop-performance", "~> 1.2.0")
|
24
25
|
gem.add_development_dependency("pry", "~> 0.12.2")
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe LightService::Organizer do
|
4
|
+
class TestAddAliases
|
5
|
+
extend LightService::Organizer
|
6
|
+
|
7
|
+
def self.call(context = LightService::Context.make)
|
8
|
+
with(context).reduce(steps)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.steps
|
12
|
+
[
|
13
|
+
add_to_context(:my_message => 'Hello There'),
|
14
|
+
# This will add the alias `:a_message` which points
|
15
|
+
# to the :my_message key's value
|
16
|
+
add_aliases(:my_message => :a_message),
|
17
|
+
TestDoubles::CapitalizeMessage
|
18
|
+
]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'adds aliases to the context embedded in the series of actions' do
|
23
|
+
result = TestAddAliases.call
|
24
|
+
|
25
|
+
expect(result).to be_success
|
26
|
+
expect(result.final_message).to eq('HELLO THERE')
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe LightService::Organizer do
|
4
|
+
class TestAddToContext
|
5
|
+
extend LightService::Organizer
|
6
|
+
|
7
|
+
def self.call(context = LightService::Context.make)
|
8
|
+
with(context).reduce(steps)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.steps
|
12
|
+
[
|
13
|
+
# This will add the `:number` key to the context
|
14
|
+
# with the value of 0, so it's available for
|
15
|
+
# AddsOneAction
|
16
|
+
add_to_context(:number => 0),
|
17
|
+
TestDoubles::AddsOneAction,
|
18
|
+
add_to_context(:something => 'hello')
|
19
|
+
]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'adds items to the context on the fly' do
|
24
|
+
result = TestAddToContext.call
|
25
|
+
|
26
|
+
expect(result).to be_success
|
27
|
+
expect(result.number).to eq(1)
|
28
|
+
expect(result[:something]).to eq('hello')
|
29
|
+
end
|
30
|
+
end
|
@@ -48,4 +48,36 @@ RSpec.describe LightService::Organizer do
|
|
48
48
|
result = TestReduceIf.call(empty_context)
|
49
49
|
expect(result).to be_success
|
50
50
|
end
|
51
|
+
|
52
|
+
it 'skips actions within in its own scope' do
|
53
|
+
org = Class.new do
|
54
|
+
extend LightService::Organizer
|
55
|
+
|
56
|
+
def self.call
|
57
|
+
reduce(actions)
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.actions
|
61
|
+
[
|
62
|
+
reduce_if(
|
63
|
+
->(c) { !c.nil? },
|
64
|
+
[
|
65
|
+
execute(->(c) { c[:first_reduce_if] = true }),
|
66
|
+
execute(->(c) { c.skip_remaining! }),
|
67
|
+
execute(->(c) { c[:second_reduce_if] = true })
|
68
|
+
]
|
69
|
+
),
|
70
|
+
execute(->(c) { c[:last_outside] = true })
|
71
|
+
]
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
result = org.call
|
76
|
+
|
77
|
+
aggregate_failures do
|
78
|
+
expect(result[:first_reduce_if]).to be true
|
79
|
+
expect(result[:second_reduce_if]).to be_nil
|
80
|
+
expect(result[:last_outside]).to be true
|
81
|
+
end
|
82
|
+
end
|
51
83
|
end
|
data/spec/organizer_spec.rb
CHANGED
@@ -90,4 +90,20 @@ describe LightService::Organizer do
|
|
90
90
|
expect(reduced).to eq(ctx)
|
91
91
|
end
|
92
92
|
end
|
93
|
+
|
94
|
+
context 'can add items to the context' do
|
95
|
+
specify 'with #add_to_context' do
|
96
|
+
result = TestDoubles::AnOrganizerThatAddsToContext.call
|
97
|
+
expect(result[:strongest_avenger]).to eq 'The Thor'
|
98
|
+
expect(result[:last_jedi]).to eq 'Rey'
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
context 'can assign key aliaeses' do
|
103
|
+
it 'with #add_aliases' do
|
104
|
+
result = TestDoubles::AnOrganizerThatAddsAliases.call
|
105
|
+
expect(result[:foo]).to eq :bar
|
106
|
+
expect(result[:baz]).to eq :bar
|
107
|
+
end
|
108
|
+
end
|
93
109
|
end
|
@@ -15,7 +15,7 @@ describe ProvidesFreeShippingAction do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
context "when the order total with tax is <= 200" do
|
18
|
-
specify "order
|
18
|
+
specify "order does not get free shipping" do
|
19
19
|
allow(order).to receive_messages(:total_with_tax => 200)
|
20
20
|
expect(order).not_to receive(:provide_free_shipping!)
|
21
21
|
|
data/spec/test_doubles.rb
CHANGED
@@ -555,4 +555,39 @@ module TestDoubles
|
|
555
555
|
ctx.total += ctx.number
|
556
556
|
end
|
557
557
|
end
|
558
|
+
|
559
|
+
class CapitalizeMessage
|
560
|
+
extend LightService::Action
|
561
|
+
expects :a_message
|
562
|
+
promises :final_message
|
563
|
+
|
564
|
+
executed do |ctx|
|
565
|
+
ctx.final_message = ctx.a_message.upcase
|
566
|
+
end
|
567
|
+
end
|
568
|
+
|
569
|
+
class AnOrganizerThatAddsToContext
|
570
|
+
extend LightService::Organizer
|
571
|
+
def self.call
|
572
|
+
with.reduce(actions)
|
573
|
+
end
|
574
|
+
|
575
|
+
def self.actions
|
576
|
+
[add_to_context(
|
577
|
+
:strongest_avenger => 'The Thor',
|
578
|
+
:last_jedi => 'Rey'
|
579
|
+
)]
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
class AnOrganizerThatAddsAliases
|
584
|
+
extend LightService::Organizer
|
585
|
+
def self.call
|
586
|
+
with(:foo => :bar).reduce(actions)
|
587
|
+
end
|
588
|
+
|
589
|
+
def self.actions
|
590
|
+
[add_aliases(:foo => :baz)]
|
591
|
+
end
|
592
|
+
end
|
558
593
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: light-service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Attila Domokos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
type: :
|
19
|
+
version: 3.0.0
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 3.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: '0.17'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: '0.17'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,11 +113,9 @@ files:
|
|
113
113
|
- RELEASES.md
|
114
114
|
- Rakefile
|
115
115
|
- gemfiles/activesupport_3.gemfile
|
116
|
-
- gemfiles/activesupport_3.gemfile.lock
|
117
116
|
- gemfiles/activesupport_4.gemfile
|
118
|
-
- gemfiles/activesupport_4.gemfile.lock
|
119
117
|
- gemfiles/activesupport_5.gemfile
|
120
|
-
- gemfiles/
|
118
|
+
- gemfiles/activesupport_6.gemfile
|
121
119
|
- lib/light-service.rb
|
122
120
|
- lib/light-service/action.rb
|
123
121
|
- lib/light-service/configuration.rb
|
@@ -163,6 +161,8 @@ files:
|
|
163
161
|
- spec/acceptance/orchestrator/reduce_if_spec.rb
|
164
162
|
- spec/acceptance/orchestrator/reduce_until_spec.rb
|
165
163
|
- spec/acceptance/orchestrator/with_callback_spec.rb
|
164
|
+
- spec/acceptance/organizer/add_aliases_spec.rb
|
165
|
+
- spec/acceptance/organizer/add_to_context_spec.rb
|
166
166
|
- spec/acceptance/organizer/around_each_with_reduce_if_spec.rb
|
167
167
|
- spec/acceptance/organizer/context_failure_and_skipping_spec.rb
|
168
168
|
- spec/acceptance/organizer/execute_spec.rb
|
@@ -218,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
218
|
- !ruby/object:Gem::Version
|
219
219
|
version: '0'
|
220
220
|
requirements: []
|
221
|
-
|
222
|
-
rubygems_version: 2.7.6
|
221
|
+
rubygems_version: 3.1.2
|
223
222
|
signing_key:
|
224
223
|
specification_version: 4
|
225
224
|
summary: A service skeleton with an emphasis on simplicity
|
@@ -241,6 +240,8 @@ test_files:
|
|
241
240
|
- spec/acceptance/orchestrator/reduce_if_spec.rb
|
242
241
|
- spec/acceptance/orchestrator/reduce_until_spec.rb
|
243
242
|
- spec/acceptance/orchestrator/with_callback_spec.rb
|
243
|
+
- spec/acceptance/organizer/add_aliases_spec.rb
|
244
|
+
- spec/acceptance/organizer/add_to_context_spec.rb
|
244
245
|
- spec/acceptance/organizer/around_each_with_reduce_if_spec.rb
|
245
246
|
- spec/acceptance/organizer/context_failure_and_skipping_spec.rb
|
246
247
|
- spec/acceptance/organizer/execute_spec.rb
|
@@ -1,76 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../
|
3
|
-
specs:
|
4
|
-
light-service (0.6.1)
|
5
|
-
activesupport (>= 3.0)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
activesupport (3.2.22)
|
11
|
-
i18n (~> 0.6, >= 0.6.4)
|
12
|
-
multi_json (~> 1.0)
|
13
|
-
appraisal (2.0.2)
|
14
|
-
bundler
|
15
|
-
rake
|
16
|
-
thor (>= 0.14.0)
|
17
|
-
ast (2.3.0)
|
18
|
-
coderay (1.1.1)
|
19
|
-
diff-lcs (1.2.5)
|
20
|
-
docile (1.1.5)
|
21
|
-
i18n (0.7.0)
|
22
|
-
json (2.0.2)
|
23
|
-
method_source (0.8.2)
|
24
|
-
multi_json (1.11.2)
|
25
|
-
parser (2.3.1.2)
|
26
|
-
ast (~> 2.2)
|
27
|
-
powerpack (0.1.1)
|
28
|
-
pry (0.10.4)
|
29
|
-
coderay (~> 1.1.0)
|
30
|
-
method_source (~> 0.8.1)
|
31
|
-
slop (~> 3.4)
|
32
|
-
rainbow (2.1.0)
|
33
|
-
rake (10.4.2)
|
34
|
-
rspec (3.3.0)
|
35
|
-
rspec-core (~> 3.3.0)
|
36
|
-
rspec-expectations (~> 3.3.0)
|
37
|
-
rspec-mocks (~> 3.3.0)
|
38
|
-
rspec-core (3.3.2)
|
39
|
-
rspec-support (~> 3.3.0)
|
40
|
-
rspec-expectations (3.3.1)
|
41
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
42
|
-
rspec-support (~> 3.3.0)
|
43
|
-
rspec-mocks (3.3.2)
|
44
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
45
|
-
rspec-support (~> 3.3.0)
|
46
|
-
rspec-support (3.3.0)
|
47
|
-
rubocop (0.42.0)
|
48
|
-
parser (>= 2.3.1.1, < 3.0)
|
49
|
-
powerpack (~> 0.1)
|
50
|
-
rainbow (>= 1.99.1, < 3.0)
|
51
|
-
ruby-progressbar (~> 1.7)
|
52
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
53
|
-
ruby-progressbar (1.8.1)
|
54
|
-
simplecov (0.12.0)
|
55
|
-
docile (~> 1.1.0)
|
56
|
-
json (>= 1.8, < 3)
|
57
|
-
simplecov-html (~> 0.10.0)
|
58
|
-
simplecov-html (0.10.0)
|
59
|
-
slop (3.6.0)
|
60
|
-
thor (0.19.1)
|
61
|
-
unicode-display_width (1.1.1)
|
62
|
-
|
63
|
-
PLATFORMS
|
64
|
-
ruby
|
65
|
-
|
66
|
-
DEPENDENCIES
|
67
|
-
activesupport (~> 3.0)
|
68
|
-
appraisal (~> 2.0)
|
69
|
-
light-service!
|
70
|
-
pry (~> 0.10)
|
71
|
-
rspec (~> 3.0)
|
72
|
-
rubocop (~> 0.36)
|
73
|
-
simplecov (~> 0.11)
|
74
|
-
|
75
|
-
BUNDLED WITH
|
76
|
-
1.12.5
|
@@ -1,82 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../
|
3
|
-
specs:
|
4
|
-
light-service (0.6.1)
|
5
|
-
activesupport (>= 3.0)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
activesupport (4.2.3)
|
11
|
-
i18n (~> 0.7)
|
12
|
-
json (~> 1.7, >= 1.7.7)
|
13
|
-
minitest (~> 5.1)
|
14
|
-
thread_safe (~> 0.3, >= 0.3.4)
|
15
|
-
tzinfo (~> 1.1)
|
16
|
-
appraisal (2.0.2)
|
17
|
-
bundler
|
18
|
-
rake
|
19
|
-
thor (>= 0.14.0)
|
20
|
-
ast (2.3.0)
|
21
|
-
coderay (1.1.1)
|
22
|
-
diff-lcs (1.2.5)
|
23
|
-
docile (1.1.5)
|
24
|
-
i18n (0.7.0)
|
25
|
-
json (1.8.3)
|
26
|
-
method_source (0.8.2)
|
27
|
-
minitest (5.7.0)
|
28
|
-
parser (2.3.1.2)
|
29
|
-
ast (~> 2.2)
|
30
|
-
powerpack (0.1.1)
|
31
|
-
pry (0.10.4)
|
32
|
-
coderay (~> 1.1.0)
|
33
|
-
method_source (~> 0.8.1)
|
34
|
-
slop (~> 3.4)
|
35
|
-
rainbow (2.1.0)
|
36
|
-
rake (10.4.2)
|
37
|
-
rspec (3.3.0)
|
38
|
-
rspec-core (~> 3.3.0)
|
39
|
-
rspec-expectations (~> 3.3.0)
|
40
|
-
rspec-mocks (~> 3.3.0)
|
41
|
-
rspec-core (3.3.2)
|
42
|
-
rspec-support (~> 3.3.0)
|
43
|
-
rspec-expectations (3.3.1)
|
44
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
45
|
-
rspec-support (~> 3.3.0)
|
46
|
-
rspec-mocks (3.3.2)
|
47
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
48
|
-
rspec-support (~> 3.3.0)
|
49
|
-
rspec-support (3.3.0)
|
50
|
-
rubocop (0.42.0)
|
51
|
-
parser (>= 2.3.1.1, < 3.0)
|
52
|
-
powerpack (~> 0.1)
|
53
|
-
rainbow (>= 1.99.1, < 3.0)
|
54
|
-
ruby-progressbar (~> 1.7)
|
55
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
56
|
-
ruby-progressbar (1.8.1)
|
57
|
-
simplecov (0.12.0)
|
58
|
-
docile (~> 1.1.0)
|
59
|
-
json (>= 1.8, < 3)
|
60
|
-
simplecov-html (~> 0.10.0)
|
61
|
-
simplecov-html (0.10.0)
|
62
|
-
slop (3.6.0)
|
63
|
-
thor (0.19.1)
|
64
|
-
thread_safe (0.3.5)
|
65
|
-
tzinfo (1.2.2)
|
66
|
-
thread_safe (~> 0.1)
|
67
|
-
unicode-display_width (1.1.1)
|
68
|
-
|
69
|
-
PLATFORMS
|
70
|
-
ruby
|
71
|
-
|
72
|
-
DEPENDENCIES
|
73
|
-
activesupport (~> 4.0)
|
74
|
-
appraisal (~> 2.0)
|
75
|
-
light-service!
|
76
|
-
pry (~> 0.10)
|
77
|
-
rspec (~> 3.0)
|
78
|
-
rubocop (~> 0.36)
|
79
|
-
simplecov (~> 0.11)
|
80
|
-
|
81
|
-
BUNDLED WITH
|
82
|
-
1.12.5
|
@@ -1,82 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ../
|
3
|
-
specs:
|
4
|
-
light-service (0.6.1)
|
5
|
-
activesupport (>= 3.0)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
activesupport (5.0.0.1)
|
11
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
12
|
-
i18n (~> 0.7)
|
13
|
-
minitest (~> 5.1)
|
14
|
-
tzinfo (~> 1.1)
|
15
|
-
appraisal (2.1.0)
|
16
|
-
bundler
|
17
|
-
rake
|
18
|
-
thor (>= 0.14.0)
|
19
|
-
ast (2.3.0)
|
20
|
-
coderay (1.1.1)
|
21
|
-
concurrent-ruby (1.0.2)
|
22
|
-
diff-lcs (1.2.5)
|
23
|
-
docile (1.1.5)
|
24
|
-
i18n (0.7.0)
|
25
|
-
json (2.0.2)
|
26
|
-
method_source (0.8.2)
|
27
|
-
minitest (5.9.0)
|
28
|
-
parser (2.3.1.2)
|
29
|
-
ast (~> 2.2)
|
30
|
-
powerpack (0.1.1)
|
31
|
-
pry (0.10.4)
|
32
|
-
coderay (~> 1.1.0)
|
33
|
-
method_source (~> 0.8.1)
|
34
|
-
slop (~> 3.4)
|
35
|
-
rainbow (2.1.0)
|
36
|
-
rake (11.2.2)
|
37
|
-
rspec (3.5.0)
|
38
|
-
rspec-core (~> 3.5.0)
|
39
|
-
rspec-expectations (~> 3.5.0)
|
40
|
-
rspec-mocks (~> 3.5.0)
|
41
|
-
rspec-core (3.5.2)
|
42
|
-
rspec-support (~> 3.5.0)
|
43
|
-
rspec-expectations (3.5.0)
|
44
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
45
|
-
rspec-support (~> 3.5.0)
|
46
|
-
rspec-mocks (3.5.0)
|
47
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
48
|
-
rspec-support (~> 3.5.0)
|
49
|
-
rspec-support (3.5.0)
|
50
|
-
rubocop (0.42.0)
|
51
|
-
parser (>= 2.3.1.1, < 3.0)
|
52
|
-
powerpack (~> 0.1)
|
53
|
-
rainbow (>= 1.99.1, < 3.0)
|
54
|
-
ruby-progressbar (~> 1.7)
|
55
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
56
|
-
ruby-progressbar (1.8.1)
|
57
|
-
simplecov (0.12.0)
|
58
|
-
docile (~> 1.1.0)
|
59
|
-
json (>= 1.8, < 3)
|
60
|
-
simplecov-html (~> 0.10.0)
|
61
|
-
simplecov-html (0.10.0)
|
62
|
-
slop (3.6.0)
|
63
|
-
thor (0.19.1)
|
64
|
-
thread_safe (0.3.5)
|
65
|
-
tzinfo (1.2.2)
|
66
|
-
thread_safe (~> 0.1)
|
67
|
-
unicode-display_width (1.1.1)
|
68
|
-
|
69
|
-
PLATFORMS
|
70
|
-
ruby
|
71
|
-
|
72
|
-
DEPENDENCIES
|
73
|
-
activesupport (~> 5.0)
|
74
|
-
appraisal (~> 2.0)
|
75
|
-
light-service!
|
76
|
-
pry (~> 0.10)
|
77
|
-
rspec (~> 3.0)
|
78
|
-
rubocop (~> 0.36)
|
79
|
-
simplecov (~> 0.11)
|
80
|
-
|
81
|
-
BUNDLED WITH
|
82
|
-
1.12.5
|