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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2a2ead51dc9f98f9b676a62b94377c2d0395b008afa88f702fefeebfb2e44f4
4
- data.tar.gz: 0c9a28ca3cd84a084c836beb8466e708d17ac112a0506db01d58b7c2af243546
3
+ metadata.gz: 1e9dfb5cf61024afa28719b84e160c9580fa39c99eda19b73cdb0cced9017da2
4
+ data.tar.gz: 7f389c208b3b06000c84859d595d9b49acf8dfe8d370736ee564a1ae8ef8b5d1
5
5
  SHA512:
6
- metadata.gz: 938421a4c805d816d0592871427c39b58f1b01f5fd106e81f2f6d885c158eafeefb83c7230df001655ff635cb83d8a68b01f78d9cfb0ddf2bad9ced7c4a6290b
7
- data.tar.gz: 9f2c68f84c666f0d1d1604e0d0a46ff03d0a7c1bd3109f9098a84d14e3a721c7cb14730c6045b91cc3ed314ff2e25119726e638e9443d4797eb9c47ee97b49c2
6
+ metadata.gz: b1b7792d344efe1aab4297f8774649590b8e0336a44082da31a167a62b75a039b7f89759923beb9a463f6c017b0387297efc815f357deae31270b54e2c1c1bcc
7
+ data.tar.gz: 0d1d339a23d2d7b39bd5403d81fe1e1519a89eec22fd64f00931d9dc49a81c5476f67e6dd28591e0e88c55b1378d1155ed0d1700100569aa9b43a1922c860f3e
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ test/version_tmp
17
17
  tmp
18
18
  vendor/bundle
19
19
  bin
20
+ .idea
@@ -4,16 +4,15 @@ env:
4
4
  - RUN_COVERAGE_REPORT=true
5
5
 
6
6
  rvm:
7
- - 2.3.3
8
- - 2.4.1
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 update simplecov
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.1.8
31
- gemfile: gemfiles/activesupport_5.gemfile
32
- - rvm: 2.2.2
33
- gemfile: gemfiles/activesupport_5.gemfile
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
@@ -9,3 +9,7 @@ end
9
9
  appraise "activesupport-5" do
10
10
  gem "activesupport", "~> 5.0"
11
11
  end
12
+
13
+ appraise "activesupport-6" do
14
+ gem "activesupport", "~> 6.0"
15
+ end
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.png)](http://travis-ci.org/adomokos/light-service)
5
- [![Code Climate](https://codeclimate.com/github/adomokos/light-service.png)](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
- ChecksFreeShipping
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 5 different orchestrator constructs an organizer can have:
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.
@@ -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)
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activesupport", "~> 6.0"
6
+ gem "appraisal", "~> 2.0"
7
+
8
+ gemspec :path => "../"
@@ -34,7 +34,7 @@ module LightService
34
34
  scope = i18n_scope_from_class(action_class, type)
35
35
  options[:scope] = scope
36
36
 
37
- I18n.t(key, options)
37
+ I18n.t(key, **options)
38
38
  end
39
39
 
40
40
  def i18n_scope_from_class(action_class, type)
@@ -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
@@ -1,3 +1,3 @@
1
1
  module LightService
2
- VERSION = "0.12.0".freeze
2
+ VERSION = "0.13.0".freeze
3
3
  end
@@ -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.add_development_dependency("activesupport", ">= 5.2.2")
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.16.1")
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
@@ -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 gets free shipping" do
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
 
@@ -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.12.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: 2019-05-11 00:00:00.000000000 Z
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: 5.2.2
20
- type: :development
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: 5.2.2
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.16.1
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.16.1
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/activesupport_5.gemfile.lock
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
- rubyforge_project:
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