resol 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f71f97e92852c4b25525cf1388c8cc671bc5587d7535fa844e3a681c686c14d1
4
- data.tar.gz: 996140397a4d0c0bd04a426c30f0da88a423495e9e80715e2722a1089fd3656e
3
+ metadata.gz: 243b5c0d3e3a14a705dd6c8237603d161e55e10120df472d84287f6096e35b0c
4
+ data.tar.gz: 45f4d69cb14396375d667d1ec9842fefe546c0c518c8beb233fb5feeeacd4376
5
5
  SHA512:
6
- metadata.gz: 638959dfb203d736a85c79c3c271b716d08be263e88b8509210ff712715f12fddcfd27d2600dfbee1e0cf39fd84b89def3a0ee1323bb27451d90cbb407cc8edb
7
- data.tar.gz: 1b89eb69a71e3d43da7520e4f90789b7e6b2a33716dabc9b163a8d6fc1ce70a424c40430b5e982ee3adec3e7fd0fed1c17921adf1f1e1706199febaa7f8fbcfd
6
+ metadata.gz: f5901ddb1f9f04dce2129944e1a83fac1477dd883b1ffa56aa1c083afba425e73976439ac5da81e9dc3f323cc3180283b449d94381ea9595cb5e33ab2460bf9c
7
+ data.tar.gz: 423785b253f1d54678aa45cff5b99eb2c627f080f74b437c75468c5914dbe87529af4bd564caeab90b9beea240fb9678c596c8c0716ad6c6bbee969ef54c6f2b
@@ -0,0 +1,60 @@
1
+ name: Test
2
+
3
+ on: [push, pull_request]
4
+
5
+ env:
6
+ COVER: true
7
+
8
+ jobs:
9
+ full-check:
10
+ runs-on: ubuntu-latest
11
+
12
+ # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event
13
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'umbrellio/resol'
14
+
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: 3
20
+ bundler-cache: true
21
+ - name: Run Linter
22
+ run: bundle exec ci-helper RubocopLint
23
+ - name: Check missed spec suffixes
24
+ run: bundle exec ci-helper CheckSpecSuffixes --extra-paths spec/*.rb --ignored-paths spec/*_helper.rb
25
+ - name: Run specs
26
+ run: bundle exec ci-helper RunSpecs
27
+ - name: Audit
28
+ run: bundle exec ci-helper BundlerAudit
29
+ - name: Coveralls
30
+ uses: coverallsapp/github-action@master
31
+ with:
32
+ github-token: ${{ secrets.GITHUB_TOKEN }}
33
+ specs:
34
+ runs-on: ubuntu-latest
35
+ continue-on-error: ${{ matrix.experimental }}
36
+
37
+ env:
38
+ COVER: false
39
+
40
+ # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event
41
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'umbrellio/resol'
42
+
43
+ strategy:
44
+ fail-fast: false
45
+ matrix:
46
+ ruby: [2.7]
47
+ experimental: [false]
48
+ include:
49
+ - ruby: head
50
+ experimental: true
51
+
52
+
53
+ steps:
54
+ - uses: actions/checkout@v2
55
+ - uses: ruby/setup-ruby@v1
56
+ with:
57
+ ruby-version: ${{ matrix.ruby }}
58
+ bundler-cache: true
59
+ - name: Run specs
60
+ run: bundle exec ci-helper RunSpecs
data/.rubocop.yml CHANGED
@@ -1,23 +1,19 @@
1
- AllCops:
2
- TargetRubyVersion: 2.6
3
- NewCops: enable
1
+ inherit_gem:
2
+ rubocop-config-umbrellio: lib/rubocop.yml
4
3
 
5
- Style/StringLiterals:
6
- Enabled: true
7
- EnforcedStyle: double_quotes
4
+ AllCops:
5
+ DisplayCopNames: true
6
+ TargetRubyVersion: 2.7
8
7
 
9
- Style/StringLiteralsInInterpolation:
10
- Enabled: true
11
- EnforcedStyle: double_quotes
8
+ Naming/MethodParameterName:
9
+ AllowedNames: ["x", "y", "z"]
12
10
 
13
- Style/RaiseArgs:
11
+ RSpec/EmptyLineAfterHook:
14
12
  Enabled: false
15
13
 
16
- Style/Documentation:
14
+ Naming/RescuedExceptionsVariableName:
17
15
  Enabled: false
18
16
 
19
- Layout/LineLength:
20
- Max: 100
21
-
22
- Layout/FirstArrayElementIndentation:
23
- EnforcedStyle: consistent
17
+ Style/HashConversion:
18
+ Exclude:
19
+ - spec/**/*_spec.rb
data/Gemfile.lock CHANGED
@@ -1,28 +1,37 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- resol (0.1.0)
5
- smart_initializer
6
- uber
4
+ resol (0.2.0)
5
+ smart_initializer (~> 0.5)
6
+ uber (~> 0.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
+ activesupport (6.1.3.1)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ zeitwerk (~> 2.3)
11
17
  ast (2.4.2)
18
+ bundler-audit (0.8.0)
19
+ bundler (>= 1.2.0, < 3)
20
+ thor (~> 1.0)
21
+ ci-helper (0.4.2)
22
+ colorize (~> 0.8)
23
+ dry-inflector (~> 0.2)
24
+ umbrellio-sequel-plugins (~> 0.4)
12
25
  coderay (1.1.3)
13
- coveralls (0.7.2)
14
- multi_json (~> 1.3)
15
- rest-client (= 1.6.7)
16
- simplecov (>= 0.7)
17
- term-ansicolor (= 1.2.2)
18
- thor (= 0.18.1)
26
+ colorize (0.8.1)
27
+ concurrent-ruby (1.1.8)
19
28
  diff-lcs (1.4.4)
20
29
  docile (1.3.5)
30
+ dry-inflector (0.2.0)
31
+ i18n (1.8.10)
32
+ concurrent-ruby (~> 1.0)
21
33
  method_source (1.0.0)
22
- mime-types (3.3.1)
23
- mime-types-data (~> 3.2015)
24
- mime-types-data (3.2021.0225)
25
- multi_json (1.15.0)
34
+ minitest (5.14.4)
26
35
  parallel (1.20.1)
27
36
  parser (3.0.1.0)
28
37
  ast (~> 2.4.1)
@@ -30,11 +39,10 @@ GEM
30
39
  coderay (~> 1.1)
31
40
  method_source (~> 1.0)
32
41
  qonfig (0.25.0)
42
+ rack (2.2.3)
33
43
  rainbow (3.0.0)
34
44
  rake (13.0.3)
35
45
  regexp_parser (2.1.1)
36
- rest-client (1.6.7)
37
- mime-types (>= 1.16)
38
46
  rexml (3.2.5)
39
47
  rspec (3.10.0)
40
48
  rspec-core (~> 3.10.0)
@@ -49,23 +57,46 @@ GEM
49
57
  diff-lcs (>= 1.2.0, < 2.0)
50
58
  rspec-support (~> 3.10.0)
51
59
  rspec-support (3.10.2)
52
- rubocop (0.93.1)
60
+ rubocop (1.11.0)
53
61
  parallel (~> 1.10)
54
- parser (>= 2.7.1.5)
62
+ parser (>= 3.0.0.0)
55
63
  rainbow (>= 2.2.2, < 4.0)
56
- regexp_parser (>= 1.8)
64
+ regexp_parser (>= 1.8, < 3.0)
57
65
  rexml
58
- rubocop-ast (>= 0.6.0)
66
+ rubocop-ast (>= 1.2.0, < 2.0)
59
67
  ruby-progressbar (~> 1.7)
60
- unicode-display_width (>= 1.4.0, < 2.0)
68
+ unicode-display_width (>= 1.4.0, < 3.0)
61
69
  rubocop-ast (1.4.1)
62
70
  parser (>= 2.7.1.5)
71
+ rubocop-config-umbrellio (1.11.0.40)
72
+ rubocop (= 1.11.0)
73
+ rubocop-performance (= 1.10.0)
74
+ rubocop-rails (= 2.9.1)
75
+ rubocop-rake (= 0.5.1)
76
+ rubocop-rspec (= 2.2.0)
77
+ rubocop-sequel (= 0.2.0)
78
+ rubocop-performance (1.10.0)
79
+ rubocop (>= 0.90.0, < 2.0)
80
+ rubocop-ast (>= 0.4.0)
81
+ rubocop-rails (2.9.1)
82
+ activesupport (>= 4.2.0)
83
+ rack (>= 1.1)
84
+ rubocop (>= 0.90.0, < 2.0)
85
+ rubocop-rake (0.5.1)
86
+ rubocop
87
+ rubocop-rspec (2.2.0)
88
+ rubocop (~> 1.0)
89
+ rubocop-ast (>= 1.1.0)
90
+ rubocop-sequel (0.2.0)
91
+ rubocop (~> 1.0)
63
92
  ruby-progressbar (1.11.0)
93
+ sequel (5.43.0)
64
94
  simplecov (0.21.2)
65
95
  docile (~> 1.1)
66
96
  simplecov-html (~> 0.11)
67
97
  simplecov_json_formatter (~> 0.1)
68
98
  simplecov-html (0.12.3)
99
+ simplecov-lcov (0.8.0)
69
100
  simplecov_json_formatter (0.1.2)
70
101
  smart_engine (0.11.0)
71
102
  smart_initializer (0.5.0)
@@ -74,24 +105,31 @@ GEM
74
105
  smart_types (~> 0.4)
75
106
  smart_types (0.4.0)
76
107
  smart_engine (~> 0.11)
77
- term-ansicolor (1.2.2)
78
- tins (~> 0.8)
79
- thor (0.18.1)
80
- tins (0.13.2)
108
+ symbiont-ruby (0.6.0)
109
+ thor (1.1.0)
110
+ tzinfo (2.0.4)
111
+ concurrent-ruby (~> 1.0)
81
112
  uber (0.1.0)
82
- unicode-display_width (1.7.0)
113
+ umbrellio-sequel-plugins (0.4.0.164)
114
+ sequel
115
+ symbiont-ruby (>= 0.6)
116
+ unicode-display_width (2.0.0)
117
+ zeitwerk (2.4.2)
83
118
 
84
119
  PLATFORMS
85
120
  x86_64-darwin-19
121
+ x86_64-linux
86
122
 
87
123
  DEPENDENCIES
88
- coveralls
124
+ bundler-audit
125
+ ci-helper
89
126
  pry
90
127
  rake
91
128
  resol!
92
129
  rspec
93
- rubocop
130
+ rubocop-config-umbrellio
94
131
  simplecov
132
+ simplecov-lcov
95
133
 
96
134
  BUNDLED WITH
97
- 2.2.3
135
+ 2.2.15
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Resol
2
2
 
3
- ![https://github.com/umbrellio/resol](https://github.com/umbrellio/resol/actions/workflows/main.yml/badge.svg)
3
+ ![https://github.com/umbrellio/resol](https://github.com/umbrellio/resol/actions/workflows/test.yml/badge.svg)
4
+ [![Coverage Status](https://coveralls.io/repos/github/umbrellio/resol/badge.svg?branch=master)](https://coveralls.io/github/umbrellio/resol?branch=master)
5
+ [![Gem Version](https://badge.fury.io/rb/resol.svg)](https://badge.fury.io/rb/resol)
4
6
 
5
7
  Ruby Gem for creating simple service objects and other any object ruby patterns.
6
8
 
@@ -70,9 +72,17 @@ Methods:
70
72
  - `value!` – unwraps a result object, returns the value for success result, and throws an error for failure result
71
73
  - `value_or(other_value, &block)` – returns a value for success result or `other_value` for failure result (either calls `block` in case it given)
72
74
 
75
+
76
+ ### Configuration
77
+
78
+ Configuration constant references to `SmartCore::Initializer::Configuration`. You can read
79
+ about available configuration options [here](https://github.com/smart-rb/smart_initializer#configuration).
80
+
73
81
  ## Development
74
82
 
75
83
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/rspec` to run the tests.
84
+ If you want to check coverage, then set env variable `COVER` to `true` before running `bin/rspec`:
85
+ `COVER=true bin/rspec`.
76
86
  You can also run `bin/console` for an interactive prompt that will allow you to experiment.
77
87
 
78
88
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
data/bin/rubocop CHANGED
@@ -3,4 +3,4 @@ set -euo pipefail
3
3
  IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
- bundle exec rubocop
6
+ bundle exec rubocop $@
data/lib/resol.rb CHANGED
@@ -7,4 +7,5 @@ require_relative "resol/version"
7
7
  require_relative "resol/service"
8
8
 
9
9
  module Resol
10
+ Configuration = SmartCore::Initializer::Configuration
10
11
  end
data/lib/resol/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Resol
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,37 +1,51 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksei Bespalov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-08 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: smart_initializer
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.5'
20
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: '0'
26
+ version: '0.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: uber
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler-audit
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
- type: :runtime
48
+ type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
@@ -39,7 +53,7 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: coveralls
56
+ name: ci-helper
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
@@ -95,7 +109,7 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: rubocop
112
+ name: rubocop-config-umbrellio
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov-lcov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  description: Gem for creating (any) object patterns
126
154
  email:
127
155
  - nulldefiner@gmail.com
@@ -130,7 +158,7 @@ executables: []
130
158
  extensions: []
131
159
  extra_rdoc_files: []
132
160
  files:
133
- - ".github/workflows/main.yml"
161
+ - ".github/workflows/test.yml"
134
162
  - ".gitignore"
135
163
  - ".rubocop.yml"
136
164
  - Gemfile
@@ -158,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
158
186
  requirements:
159
187
  - - ">="
160
188
  - !ruby/object:Gem::Version
161
- version: 2.6.0
189
+ version: 2.7.0
162
190
  required_rubygems_version: !ruby/object:Gem::Requirement
163
191
  requirements:
164
192
  - - ">="
@@ -1,25 +0,0 @@
1
- name: Ruby
2
-
3
- on: [push,pull_request]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v2
10
-
11
- - name: Set up Ruby
12
- uses: ruby/setup-ruby@v1
13
- with:
14
- ruby-version: 2.7.0
15
-
16
- - name: Bundling
17
- run: |
18
- gem install bundler -v 2.2.3
19
- bundle install
20
-
21
- - name: Linting
22
- run: bin/rubocop
23
-
24
- - name: Testing
25
- run: COVER=1 bin/rspec