functional-light-service 0.2.5 → 0.4.4
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/.github/workflows/project-build.yml +39 -0
- data/.rubocop.yml +103 -15
- data/.solargraph.yml +11 -0
- data/.travis.yml +7 -5
- data/Appraisals +2 -2
- data/CHANGELOG.md +108 -0
- data/Gemfile +2 -2
- data/README.md +3 -1
- data/VERSION +1 -1
- data/functional-light-service.gemspec +14 -6
- data/gemfiles/dry_inflector_0_2_1.gemfile +5 -0
- data/gemfiles/i18n_1_8_11.gemfile +5 -0
- data/lib/functional-light-service/action.rb +3 -4
- data/lib/functional-light-service/configuration.rb +1 -1
- data/lib/functional-light-service/context/key_verifier.rb +2 -2
- data/lib/functional-light-service/context.rb +152 -165
- data/lib/functional-light-service/functional/enum.rb +3 -7
- data/lib/functional-light-service/functional/maybe.rb +1 -0
- data/lib/functional-light-service/functional/null.rb +1 -1
- data/lib/functional-light-service/functional/option.rb +0 -2
- data/lib/functional-light-service/functional/result.rb +4 -10
- data/lib/functional-light-service/localization_adapter.rb +5 -2
- data/lib/functional-light-service/organizer/iterate.rb +4 -1
- data/lib/functional-light-service/organizer/verify_call_method_exists.rb +3 -2
- data/lib/functional-light-service/organizer/with_reducer_log_decorator.rb +2 -2
- data/lib/functional-light-service/organizer.rb +4 -5
- data/lib/functional-light-service/testing/context_factory.rb +2 -0
- data/lib/functional-light-service/version.rb +1 -1
- data/lib/functional-light-service.rb +0 -1
- data/spec/acceptance/fail_spec.rb +42 -16
- data/spec/acceptance/include_warning_spec.rb +14 -14
- data/spec/acceptance/not_having_call_method_warning_spec.rb +4 -11
- data/spec/acceptance/organizer/reduce_if_spec.rb +32 -0
- data/spec/context/inspect_spec.rb +6 -21
- data/spec/context_spec.rb +1 -1
- data/spec/lib/deterministic/monad_axioms.rb +2 -0
- data/spec/lib/deterministic/monad_spec.rb +2 -0
- data/spec/lib/deterministic/null_spec.rb +2 -0
- data/spec/lib/enum_spec.rb +3 -1
- data/spec/sample/looks_up_tax_percentage_action_spec.rb +3 -1
- data/spec/spec_helper.rb +9 -12
- data/spec/test_doubles.rb +21 -9
- metadata +144 -22
- data/gemfiles/activesupport_5.gemfile +0 -8
- data/gemfiles/activesupport_5.gemfile.lock +0 -82
- data/spec/acceptance/skip_all_warning_spec.rb +0 -20
@@ -4,10 +4,6 @@ require 'test_doubles'
|
|
4
4
|
describe "Organizer should invoke with/reduce from a call method" do
|
5
5
|
context "when the organizer does not have a `call` method" do
|
6
6
|
it "gives warning" do
|
7
|
-
expect(ActiveSupport::Deprecation)
|
8
|
-
.to receive(:warn)
|
9
|
-
.with(/^The <OrganizerWithoutCallMethod> class is an organizer/)
|
10
|
-
|
11
7
|
class OrganizerWithoutCallMethod
|
12
8
|
extend FunctionalLightService::Organizer
|
13
9
|
|
@@ -15,16 +11,14 @@ describe "Organizer should invoke with/reduce from a call method" do
|
|
15
11
|
reduce([])
|
16
12
|
end
|
17
13
|
end
|
18
|
-
|
19
|
-
|
14
|
+
expect do
|
15
|
+
OrganizerWithoutCallMethod.do_something
|
16
|
+
end.to output(/The <OrganizerWithoutCallMethod> class is an organizer/).to_stdout
|
20
17
|
end
|
21
18
|
end
|
22
19
|
|
23
20
|
context "when the organizer has the `call` method" do
|
24
21
|
it "does not issue a warning" do
|
25
|
-
expect(ActiveSupport::Deprecation)
|
26
|
-
.not_to receive(:warn)
|
27
|
-
|
28
22
|
class OrganizerWithCallMethod
|
29
23
|
extend FunctionalLightService::Organizer
|
30
24
|
|
@@ -32,8 +26,7 @@ describe "Organizer should invoke with/reduce from a call method" do
|
|
32
26
|
reduce([])
|
33
27
|
end
|
34
28
|
end
|
35
|
-
|
36
|
-
OrganizerWithCallMethod.call
|
29
|
+
expect(OrganizerWithCallMethod.call).to be_a_kind_of(FunctionalLightService::Context)
|
37
30
|
end
|
38
31
|
end
|
39
32
|
end
|
@@ -48,4 +48,36 @@ RSpec.describe FunctionalLightService::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 FunctionalLightService::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
|
@@ -13,13 +13,8 @@ RSpec.describe FunctionalLightService::Context do
|
|
13
13
|
describe '#inspect' do
|
14
14
|
it 'inspects the hash with all the fields' do
|
15
15
|
inspected_context =
|
16
|
-
|
17
|
-
|
18
|
-
+ 'message: \'\', ' \
|
19
|
-
+ 'error_code: nil, ' \
|
20
|
-
+ 'skip_remaining: false, ' \
|
21
|
-
+ 'aliases: {}' \
|
22
|
-
+ ')'
|
16
|
+
"FunctionalLightService::Context({}, success: true, message: '', error_code: nil, " \
|
17
|
+
"skip_remaining: false, aliases: {})"
|
23
18
|
|
24
19
|
expect(context.inspect).to eq(inspected_context)
|
25
20
|
end
|
@@ -28,13 +23,8 @@ RSpec.describe FunctionalLightService::Context do
|
|
28
23
|
context.fail!('There was an error')
|
29
24
|
|
30
25
|
inspected_context =
|
31
|
-
|
32
|
-
|
33
|
-
+ 'message: \'There was an error\', ' \
|
34
|
-
+ 'error_code: nil, ' \
|
35
|
-
+ 'skip_remaining: false, ' \
|
36
|
-
+ 'aliases: {}' \
|
37
|
-
+ ')'
|
26
|
+
"FunctionalLightService::Context({}, success: false, message: 'There was an error', " \
|
27
|
+
"error_code: nil, skip_remaining: false, aliases: {})"
|
38
28
|
|
39
29
|
expect(context.inspect).to eq(inspected_context)
|
40
30
|
end
|
@@ -43,13 +33,8 @@ RSpec.describe FunctionalLightService::Context do
|
|
43
33
|
context.skip_remaining!('No need to process')
|
44
34
|
|
45
35
|
inspected_context =
|
46
|
-
|
47
|
-
|
48
|
-
+ 'message: \'No need to process\', ' \
|
49
|
-
+ 'error_code: nil, ' \
|
50
|
-
+ 'skip_remaining: true, ' \
|
51
|
-
+ 'aliases: {}' \
|
52
|
-
+ ')'
|
36
|
+
"FunctionalLightService::Context({}, success: true, message: 'No need to process', " \
|
37
|
+
"error_code: nil, skip_remaining: true, aliases: {})"
|
53
38
|
|
54
39
|
expect(context.inspect).to eq(inspected_context)
|
55
40
|
end
|
data/spec/context_spec.rb
CHANGED
@@ -167,7 +167,7 @@ RSpec.describe FunctionalLightService::Context do
|
|
167
167
|
end
|
168
168
|
|
169
169
|
it "allows a default block value for #fetch" do
|
170
|
-
expect(context.fetch(:madeup
|
170
|
+
expect(context.fetch(:madeup, :default)).to eq(:default)
|
171
171
|
end
|
172
172
|
|
173
173
|
context "when aliases are included via .make" do
|
@@ -34,7 +34,9 @@ shared_examples 'a Monad' do
|
|
34
34
|
|
35
35
|
it '#bind must return a monad' do
|
36
36
|
expect(monad.new(1).bind { |v| monad.new(v) }).to eq monad.new(1)
|
37
|
+
# rubocop:disable Lint/EmptyBlock
|
37
38
|
expect { monad.new(1).bind {} }.to raise_error(FunctionalLightService::Monad::NotMonadError)
|
39
|
+
# rubocop:enable Lint/EmptyBlock
|
38
40
|
end
|
39
41
|
|
40
42
|
it '#new must return a monad' do
|
@@ -21,8 +21,10 @@ describe FunctionalLightService::Monad do
|
|
21
21
|
|
22
22
|
context '#bind' do
|
23
23
|
it "raises an error if the passed function does not return a monad of the same class" do
|
24
|
+
# rubocop:disable Lint/EmptyBlock
|
24
25
|
expect { Identity.new(1).bind {} }.to \
|
25
26
|
raise_error(FunctionalLightService::Monad::NotMonadError)
|
27
|
+
# rubocop:enable Lint/EmptyBlock
|
26
28
|
end
|
27
29
|
specify { expect(Identity.new(1).bind { |value| Identity.new(value) }).to eq Identity.new(1) }
|
28
30
|
|
@@ -38,7 +38,9 @@ describe Null do
|
|
38
38
|
null = Null.instance
|
39
39
|
expect(null.to_str).to eq ""
|
40
40
|
expect(null.to_ary).to eq []
|
41
|
+
# rubocop:disable Style/StringConcatenation
|
41
42
|
expect("" + null).to eq ""
|
43
|
+
# rubocop:enable Style/StringConcatenation
|
42
44
|
|
43
45
|
a, b, c = null
|
44
46
|
expect(a).to be_nil
|
data/spec/lib/enum_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe FunctionalLightService::Enum do
|
|
8
8
|
InvalidEnum = FunctionalLightService.enum do
|
9
9
|
Unary(:value)
|
10
10
|
end
|
11
|
-
end
|
11
|
+
end.to raise_error ArgumentError
|
12
12
|
end
|
13
13
|
|
14
14
|
context "Nullary, Unary, Binary" do
|
@@ -32,7 +32,9 @@ describe FunctionalLightService::Enum do
|
|
32
32
|
expect { n.value }.to raise_error NoMethodError
|
33
33
|
expect(n.inspect).to eq "Nullary"
|
34
34
|
expect(n.to_s).to eq ""
|
35
|
+
# rubocop:disable Lint/EmptyBlock
|
35
36
|
expect(n.fmap {}).to eq n
|
37
|
+
# rubocop:enable Lint/EmptyBlock
|
36
38
|
end
|
37
39
|
|
38
40
|
it "Unary" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,24 +1,21 @@
|
|
1
1
|
$LOAD_PATH << File.join(File.dirname(__FILE__), '..', 'lib')
|
2
2
|
$LOAD_PATH << File.join(File.dirname(__FILE__))
|
3
3
|
|
4
|
-
|
5
|
-
require 'simplecov'
|
4
|
+
require 'simplecov'
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
end
|
11
|
-
|
12
|
-
SimpleCov.minimum_coverage_by_file 90
|
6
|
+
SimpleCov.start do
|
7
|
+
add_filter 'vendor/'
|
8
|
+
add_filter %r{^/spec/}
|
13
9
|
end
|
14
10
|
|
11
|
+
SimpleCov.minimum_coverage_by_file 90
|
12
|
+
|
13
|
+
require 'simplecov-cobertura'
|
14
|
+
SimpleCov.formatter = SimpleCov::Formatter::CoberturaFormatter
|
15
|
+
|
15
16
|
require 'functional-light-service'
|
16
17
|
require 'functional-light-service/testing'
|
17
18
|
require "functional-light-service/functional/null"
|
18
|
-
require 'ostruct'
|
19
|
-
require 'pry'
|
20
19
|
require 'support'
|
21
20
|
require 'test_doubles'
|
22
21
|
require 'stringio'
|
23
|
-
|
24
|
-
I18n.enforce_available_locales = true
|
data/spec/test_doubles.rb
CHANGED
@@ -45,6 +45,7 @@ module TestDoubles
|
|
45
45
|
|
46
46
|
class TestLogger
|
47
47
|
attr_accessor :logs
|
48
|
+
|
48
49
|
def initialize
|
49
50
|
@logs = []
|
50
51
|
end
|
@@ -83,8 +84,13 @@ module TestDoubles
|
|
83
84
|
end
|
84
85
|
end
|
85
86
|
|
86
|
-
class AnAction
|
87
|
-
|
87
|
+
class AnAction
|
88
|
+
extend FunctionalLightService::Action
|
89
|
+
end
|
90
|
+
|
91
|
+
class AnotherAction
|
92
|
+
extend FunctionalLightService::Action
|
93
|
+
end
|
88
94
|
|
89
95
|
class AnOrganizer
|
90
96
|
extend FunctionalLightService::Organizer
|
@@ -166,14 +172,18 @@ module TestDoubles
|
|
166
172
|
promises :latte
|
167
173
|
|
168
174
|
executed do |context|
|
175
|
+
context.fail!("Can't make a latte from a milk that's very hot!") if context.milk == :very_hot
|
176
|
+
|
177
|
+
if context.milk == :super_hot
|
178
|
+
error_message = "Can't make a latte from a milk that's super hot!"
|
179
|
+
context.fail_with_rollback!(error_message)
|
180
|
+
end
|
181
|
+
|
169
182
|
context[:latte] = "#{context.coffee} - with lots of #{context.milk}"
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
context.fail_with_rollback!("Can't make a latte from a milk that's super hot!")
|
175
|
-
when "5%" then
|
176
|
-
context.skip_remaining!("Can't make a latte with a fatty milk like that!")
|
183
|
+
|
184
|
+
if context.milk == "5%"
|
185
|
+
msg = "Can't make a latte with a fatty milk like that!"
|
186
|
+
context.skip_remaining!(msg)
|
177
187
|
next context
|
178
188
|
end
|
179
189
|
end
|
@@ -472,7 +482,9 @@ module TestDoubles
|
|
472
482
|
class NullAction
|
473
483
|
extend FunctionalLightService::Action
|
474
484
|
|
485
|
+
# rubocop:disable Lint/EmptyBlock
|
475
486
|
executed { |_ctx| }
|
487
|
+
# rubocop:enable Lint/EmptyBlock
|
476
488
|
end
|
477
489
|
|
478
490
|
class TestIterate
|
metadata
CHANGED
@@ -1,85 +1,207 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: functional-light-service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Boscolo Michele
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: dry-inflector
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0.2'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.2.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.2'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.2.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: i18n
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.8'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.8.11
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.8'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.8.11
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: i18n
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.8'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.8.11
|
20
63
|
type: :development
|
21
64
|
prerelease: false
|
22
65
|
version_requirements: !ruby/object:Gem::Requirement
|
23
66
|
requirements:
|
24
67
|
- - "~>"
|
25
68
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
69
|
+
version: '1.8'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.8.11
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: dry-inflector
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0.2'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.2.1
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.2'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.2.1
|
27
93
|
- !ruby/object:Gem::Dependency
|
28
94
|
name: rspec
|
29
95
|
requirement: !ruby/object:Gem::Requirement
|
30
96
|
requirements:
|
31
97
|
- - "~>"
|
32
98
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
99
|
+
version: 3.10.0
|
34
100
|
type: :development
|
35
101
|
prerelease: false
|
36
102
|
version_requirements: !ruby/object:Gem::Requirement
|
37
103
|
requirements:
|
38
104
|
- - "~>"
|
39
105
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
106
|
+
version: 3.10.0
|
41
107
|
- !ruby/object:Gem::Dependency
|
42
108
|
name: simplecov
|
43
109
|
requirement: !ruby/object:Gem::Requirement
|
44
110
|
requirements:
|
45
111
|
- - "~>"
|
46
112
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
113
|
+
version: 0.21.2
|
114
|
+
type: :development
|
115
|
+
prerelease: false
|
116
|
+
version_requirements: !ruby/object:Gem::Requirement
|
117
|
+
requirements:
|
118
|
+
- - "~>"
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: 0.21.2
|
121
|
+
- !ruby/object:Gem::Dependency
|
122
|
+
name: simplecov-cobertura
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 2.1.0
|
48
128
|
type: :development
|
49
129
|
prerelease: false
|
50
130
|
version_requirements: !ruby/object:Gem::Requirement
|
51
131
|
requirements:
|
52
132
|
- - "~>"
|
53
133
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
134
|
+
version: 2.1.0
|
55
135
|
- !ruby/object:Gem::Dependency
|
56
136
|
name: rubocop
|
57
137
|
requirement: !ruby/object:Gem::Requirement
|
58
138
|
requirements:
|
59
139
|
- - "~>"
|
60
140
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
141
|
+
version: 1.25.0
|
62
142
|
type: :development
|
63
143
|
prerelease: false
|
64
144
|
version_requirements: !ruby/object:Gem::Requirement
|
65
145
|
requirements:
|
66
146
|
- - "~>"
|
67
147
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
148
|
+
version: 1.25.0
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: rubocop-performance
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - "~>"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: 1.13.2
|
156
|
+
type: :development
|
157
|
+
prerelease: false
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - "~>"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 1.13.2
|
69
163
|
- !ruby/object:Gem::Dependency
|
70
164
|
name: pry
|
71
165
|
requirement: !ruby/object:Gem::Requirement
|
72
166
|
requirements:
|
73
167
|
- - "~>"
|
74
168
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
169
|
+
version: 0.14.1
|
170
|
+
type: :development
|
171
|
+
prerelease: false
|
172
|
+
version_requirements: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - "~>"
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: 0.14.1
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: solargraph
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - "~>"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: 0.44.2
|
76
184
|
type: :development
|
77
185
|
prerelease: false
|
78
186
|
version_requirements: !ruby/object:Gem::Requirement
|
79
187
|
requirements:
|
80
188
|
- - "~>"
|
81
189
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
190
|
+
version: 0.44.2
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: nokogiri
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - "~>"
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: 1.12.5
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - "~>"
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: 1.12.5
|
83
205
|
description: A service skeleton with an emphasis on simplicity with a pinch a functional
|
84
206
|
programming
|
85
207
|
email:
|
@@ -88,9 +210,11 @@ executables: []
|
|
88
210
|
extensions: []
|
89
211
|
extra_rdoc_files: []
|
90
212
|
files:
|
213
|
+
- ".github/workflows/project-build.yml"
|
91
214
|
- ".gitignore"
|
92
215
|
- ".rspec"
|
93
216
|
- ".rubocop.yml"
|
217
|
+
- ".solargraph.yml"
|
94
218
|
- ".travis.yml"
|
95
219
|
- Appraisals
|
96
220
|
- CHANGELOG.md
|
@@ -101,8 +225,8 @@ files:
|
|
101
225
|
- Rakefile
|
102
226
|
- VERSION
|
103
227
|
- functional-light-service.gemspec
|
104
|
-
- gemfiles/
|
105
|
-
- gemfiles/
|
228
|
+
- gemfiles/dry_inflector_0_2_1.gemfile
|
229
|
+
- gemfiles/i18n_1_8_11.gemfile
|
106
230
|
- lib/functional-light-service.rb
|
107
231
|
- lib/functional-light-service/action.rb
|
108
232
|
- lib/functional-light-service/configuration.rb
|
@@ -152,7 +276,6 @@ files:
|
|
152
276
|
- spec/acceptance/organizer/reduce_until_spec.rb
|
153
277
|
- spec/acceptance/organizer/with_callback_spec.rb
|
154
278
|
- spec/acceptance/rollback_spec.rb
|
155
|
-
- spec/acceptance/skip_all_warning_spec.rb
|
156
279
|
- spec/acceptance/testing/context_factory_spec.rb
|
157
280
|
- spec/action_expected_keys_spec.rb
|
158
281
|
- spec/action_expects_and_promises_spec.rb
|
@@ -200,7 +323,7 @@ homepage: https://github.com/sphynx79/functional-light-service
|
|
200
323
|
licenses:
|
201
324
|
- MIT
|
202
325
|
metadata: {}
|
203
|
-
post_install_message:
|
326
|
+
post_install_message:
|
204
327
|
rdoc_options: []
|
205
328
|
require_paths:
|
206
329
|
- lib
|
@@ -208,15 +331,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
208
331
|
requirements:
|
209
332
|
- - ">="
|
210
333
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
334
|
+
version: 2.6.0
|
212
335
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
336
|
requirements:
|
214
337
|
- - ">="
|
215
338
|
- !ruby/object:Gem::Version
|
216
339
|
version: '0'
|
217
340
|
requirements: []
|
218
|
-
rubygems_version: 3.
|
219
|
-
signing_key:
|
341
|
+
rubygems_version: 3.2.28
|
342
|
+
signing_key:
|
220
343
|
specification_version: 4
|
221
344
|
summary: A service skeleton with an emphasis on simplicity with a pinch a functional
|
222
345
|
programming
|
@@ -239,7 +362,6 @@ test_files:
|
|
239
362
|
- spec/acceptance/organizer/reduce_until_spec.rb
|
240
363
|
- spec/acceptance/organizer/with_callback_spec.rb
|
241
364
|
- spec/acceptance/rollback_spec.rb
|
242
|
-
- spec/acceptance/skip_all_warning_spec.rb
|
243
365
|
- spec/acceptance/testing/context_factory_spec.rb
|
244
366
|
- spec/action_expected_keys_spec.rb
|
245
367
|
- spec/action_expects_and_promises_spec.rb
|
@@ -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
|