smart_initializer 0.3.2 → 0.4.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: b5f516b06f95abb4c257cf0507897bd8d9ee65a27db12f117c3f54fd8cbefab7
4
- data.tar.gz: be6bf05b4dbdbca0cafde4ac3097926e4d5b45ea5f3a0c21f4e0679bf0a4e590
3
+ metadata.gz: a8963960f317fc7217bedf7a6974970a4380043edbee19061f08ff6d51505147
4
+ data.tar.gz: 9bb224a8135f877c610e9a9941e9f0101c2dd8752d34e2834a60abbe59a6ca3f
5
5
  SHA512:
6
- metadata.gz: b00d4d9be6148a7b24c6fe9b178b99d7934bb05fa6751d857a2d2c62abc1d3b5640ae6099b264f0c27c570e9e62632ae9f3f870e1a0ddb91bf51c6c3e9f23577
7
- data.tar.gz: 28aad37b3850085764aed335bd93da10295f6f4e3cb32f76bf5a3dcac55fac2f1cd60de3f73fb4778f8e661662291c2c2deff3efbfd69dc8edce75c04cadd2ec
6
+ metadata.gz: 2113967924a39041db63a8686ecbeb47c322f39a751bb7f8ceb563f34342c6db02a65db666b65962720ff93e22e34872d1df43b38ca19daa738a98d340d9efe6
7
+ data.tar.gz: a6df46968cd156ebf62bd410fedba372fab4f5319cdc7df0224343729e44ef477bf0eff2ec4bbc2d1aa3c5a39cfd532ea759ef2a71d4f41eecd95e1fae7ebbd3
@@ -5,15 +5,22 @@ inherit_gem:
5
5
  - lib/rubocop.rspec.yml
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 2.7.1
8
+ TargetRubyVersion: 3.0.0
9
+ NewCops: enable
9
10
  Include:
10
11
  - lib/**/*.rb
11
12
  - spec/**/*.rb
12
13
  - Gemfile
13
14
  - Rakefile
14
15
  - smart_initializer.gemspec
16
+ - gemfiles/*.gemfile
15
17
  - bin/console
16
18
 
17
19
  # NOTE: It is not suitable for infrastracture-level frameworks
18
20
  Metrics/ParameterLists:
19
21
  Enabled: false
22
+
23
+ # NOTE: It is ok to use empty blocks in specs (inside simple test cases)
24
+ Lint/EmptyBlock:
25
+ Exclude:
26
+ - spec/**/*.rb
@@ -1,6 +1,18 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [0.4.0] - 2020-01-18
5
+ ### Added
6
+ - Attribue Definition DSL
7
+ - Support for specifying the attribute accessor type (`read_only` parameter);
8
+ - Support for attribute aliasing (`as` parameter);
9
+ - Support for **Ruby 3**;
10
+
11
+ ### Changed
12
+ - Moved from `TravisCI` to nothing (todo: migrate to `GitHub Actions`).
13
+ Temporary: we must run test cases locally.
14
+ - Updated development dependencies;
15
+
4
16
  ## [0.3.2] - 2020-07-12
5
17
  ### Fixed
6
18
  - Deeply inherited entities lose their `__initializer_settings__` entitiy;
@@ -1,100 +1,109 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smart_initializer (0.3.1)
4
+ smart_initializer (0.4.0)
5
5
  qonfig (~> 0.24)
6
- smart_engine (~> 0.7)
7
- smart_types (~> 0.1.0)
6
+ smart_engine (~> 0.11)
7
+ smart_types (~> 0.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.0.3.2)
12
+ activesupport (6.1.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.2, >= 2.2.2)
18
- armitage-rubocop (0.87.1.2)
19
- rubocop (= 0.87.1)
20
- rubocop-performance (= 1.7.0)
21
- rubocop-rails (= 2.6.0)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
18
+ armitage-rubocop (1.7.0.1)
19
+ rubocop (= 1.7.0)
20
+ rubocop-performance (= 1.9.1)
21
+ rubocop-rails (= 2.9.1)
22
22
  rubocop-rake (= 0.5.1)
23
- rubocop-rspec (= 1.42.0)
23
+ rubocop-rspec (= 2.1.0)
24
24
  ast (2.4.1)
25
- concurrent-ruby (1.1.6)
25
+ coderay (1.1.3)
26
+ concurrent-ruby (1.1.7)
26
27
  diff-lcs (1.4.4)
27
- docile (1.3.2)
28
- i18n (1.8.3)
28
+ docile (1.3.5)
29
+ i18n (1.8.7)
29
30
  concurrent-ruby (~> 1.0)
30
- minitest (5.14.1)
31
- parallel (1.19.2)
32
- parser (2.7.1.4)
31
+ method_source (1.0.0)
32
+ minitest (5.14.3)
33
+ parallel (1.20.1)
34
+ parser (3.0.0.0)
33
35
  ast (~> 2.4.1)
34
- qonfig (0.24.1)
36
+ pry (0.13.1)
37
+ coderay (~> 1.1)
38
+ method_source (~> 1.0)
39
+ qonfig (0.25.0)
35
40
  rack (2.2.3)
36
41
  rainbow (3.0.0)
37
- rake (13.0.1)
38
- regexp_parser (1.7.1)
42
+ rake (13.0.3)
43
+ regexp_parser (2.0.3)
39
44
  rexml (3.2.4)
40
- rspec (3.9.0)
41
- rspec-core (~> 3.9.0)
42
- rspec-expectations (~> 3.9.0)
43
- rspec-mocks (~> 3.9.0)
44
- rspec-core (3.9.2)
45
- rspec-support (~> 3.9.3)
46
- rspec-expectations (3.9.2)
45
+ rspec (3.10.0)
46
+ rspec-core (~> 3.10.0)
47
+ rspec-expectations (~> 3.10.0)
48
+ rspec-mocks (~> 3.10.0)
49
+ rspec-core (3.10.1)
50
+ rspec-support (~> 3.10.0)
51
+ rspec-expectations (3.10.1)
47
52
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.9.0)
49
- rspec-mocks (3.9.1)
53
+ rspec-support (~> 3.10.0)
54
+ rspec-mocks (3.10.1)
50
55
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.9.0)
52
- rspec-support (3.9.3)
53
- rubocop (0.87.1)
56
+ rspec-support (~> 3.10.0)
57
+ rspec-support (3.10.1)
58
+ rubocop (1.7.0)
54
59
  parallel (~> 1.10)
55
- parser (>= 2.7.1.1)
60
+ parser (>= 2.7.1.5)
56
61
  rainbow (>= 2.2.2, < 4.0)
57
- regexp_parser (>= 1.7)
62
+ regexp_parser (>= 1.8, < 3.0)
58
63
  rexml
59
- rubocop-ast (>= 0.1.0, < 1.0)
64
+ rubocop-ast (>= 1.2.0, < 2.0)
60
65
  ruby-progressbar (~> 1.7)
61
66
  unicode-display_width (>= 1.4.0, < 2.0)
62
- rubocop-ast (0.1.0)
63
- parser (>= 2.7.0.1)
64
- rubocop-performance (1.7.0)
65
- rubocop (>= 0.82.0)
66
- rubocop-rails (2.6.0)
67
+ rubocop-ast (1.4.0)
68
+ parser (>= 2.7.1.5)
69
+ rubocop-performance (1.9.1)
70
+ rubocop (>= 0.90.0, < 2.0)
71
+ rubocop-ast (>= 0.4.0)
72
+ rubocop-rails (2.9.1)
67
73
  activesupport (>= 4.2.0)
68
74
  rack (>= 1.1)
69
- rubocop (>= 0.82.0)
75
+ rubocop (>= 0.90.0, < 2.0)
70
76
  rubocop-rake (0.5.1)
71
77
  rubocop
72
- rubocop-rspec (1.42.0)
73
- rubocop (>= 0.87.0)
74
- ruby-progressbar (1.10.1)
75
- simplecov (0.18.5)
78
+ rubocop-rspec (2.1.0)
79
+ rubocop (~> 1.0)
80
+ rubocop-ast (>= 1.1.0)
81
+ ruby-progressbar (1.11.0)
82
+ simplecov (0.21.2)
76
83
  docile (~> 1.1)
77
84
  simplecov-html (~> 0.11)
78
- simplecov-html (0.12.2)
79
- smart_engine (0.7.0)
80
- smart_types (0.1.0)
81
- smart_engine (~> 0.6)
82
- thread_safe (0.3.6)
83
- tzinfo (1.2.7)
84
- thread_safe (~> 0.1)
85
+ simplecov_json_formatter (~> 0.1)
86
+ simplecov-html (0.12.3)
87
+ simplecov_json_formatter (0.1.2)
88
+ smart_engine (0.11.0)
89
+ smart_types (0.3.0)
90
+ smart_engine (~> 0.10)
91
+ tzinfo (2.0.4)
92
+ concurrent-ruby (~> 1.0)
85
93
  unicode-display_width (1.7.0)
86
- zeitwerk (2.3.1)
94
+ zeitwerk (2.4.2)
87
95
 
88
96
  PLATFORMS
89
- ruby
97
+ x86_64-darwin-20
90
98
 
91
99
  DEPENDENCIES
92
- armitage-rubocop (~> 0.87)
93
- bundler (~> 2.1)
100
+ armitage-rubocop (~> 1.7)
101
+ bundler (~> 2.2)
102
+ pry (~> 0.13)
94
103
  rake (~> 13.0)
95
- rspec (~> 3.9)
96
- simplecov (~> 0.18)
104
+ rspec (~> 3.10)
105
+ simplecov (~> 0.21)
97
106
  smart_initializer!
98
107
 
99
108
  BUNDLED WITH
100
- 2.1.4
109
+ 2.2.3
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # SmartCore::Initializer &middot; [![Gem Version](https://badge.fury.io/rb/smart_initializer.svg)](https://badge.fury.io/rb/smart_initializer) [![Build Status](https://travis-ci.org/smart-rb/smart_initializer.svg?branch=master)](https://travis-ci.org/smart-rb/smart_initializer)
1
+ # SmartCore::Initializer &middot; [![Gem Version](https://badge.fury.io/rb/smart_initializer.svg)](https://badge.fury.io/rb/smart_initializer)
2
2
 
3
3
  A simple and convenient way to declare complex constructors with a support for various commonly used type systems.
4
4
  (**in active development**).
@@ -30,7 +30,8 @@ require 'smart_core/initializer'
30
30
  - [Initialization extension](#initialization-extension)
31
31
  - [Plugins](#plugins)
32
32
  - [thy-types](#plugin-thy-types)
33
- - [How to run tests](#how-to-run-tests)
33
+ - [Roadmap](#roadmap)
34
+ - [Build](#build)
34
35
 
35
36
  ---
36
37
 
@@ -286,7 +287,18 @@ User.new(123, 'test', { admin: true, age: 22 })
286
287
 
287
288
  ---
288
289
 
289
- ## How to run tests
290
+ ## Roadmap
291
+
292
+ - Attribue Definition DSL
293
+ - Support for specifying the attribute accessor type (`read_only` parameter);
294
+ - Support for attribute aliasing (`as` parameter);
295
+ - Migrate from `TravisCI` to `GitHub Actions`;
296
+
297
+ ---
298
+
299
+ ## Build
300
+
301
+ ### Tests Running
290
302
 
291
303
  - with plugin tests:
292
304
 
@@ -306,6 +318,20 @@ bin/rspec -n
306
318
  bin/rspec -h
307
319
  ```
308
320
 
321
+ ### Code Style Checking
322
+
323
+ - without auto-correction:
324
+
325
+ ```shell
326
+ bundle exec rake rubocop
327
+ ```
328
+
329
+ - with auto-correction:
330
+
331
+ ```shell
332
+ bundle exec rake rubocop -A
333
+ ```
334
+
309
335
  ---
310
336
 
311
337
  ## Contributing
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'bundler/setup'
5
- require 'smart_core/initializer'
5
+ require 'smart_core'
6
6
 
7
- require 'irb'
8
- IRB.start(__FILE__)
7
+ require 'pry'
8
+ Pry.start
@@ -1,102 +1,111 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- smart_initializer (0.3.0)
4
+ smart_initializer (0.4.0)
5
5
  qonfig (~> 0.24)
6
- smart_engine (~> 0.7)
7
- smart_types (~> 0.1.0)
6
+ smart_engine (~> 0.11)
7
+ smart_types (~> 0.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.0.3.2)
12
+ activesupport (6.1.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.2, >= 2.2.2)
18
- armitage-rubocop (0.87.1.2)
19
- rubocop (= 0.87.1)
20
- rubocop-performance (= 1.7.0)
21
- rubocop-rails (= 2.6.0)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
18
+ armitage-rubocop (1.7.0.1)
19
+ rubocop (= 1.7.0)
20
+ rubocop-performance (= 1.9.1)
21
+ rubocop-rails (= 2.9.1)
22
22
  rubocop-rake (= 0.5.1)
23
- rubocop-rspec (= 1.42.0)
23
+ rubocop-rspec (= 2.1.0)
24
24
  ast (2.4.1)
25
- concurrent-ruby (1.1.6)
26
- diff-lcs (1.3)
27
- docile (1.3.2)
28
- i18n (1.8.3)
25
+ coderay (1.1.3)
26
+ concurrent-ruby (1.1.7)
27
+ diff-lcs (1.4.4)
28
+ docile (1.3.5)
29
+ i18n (1.8.7)
29
30
  concurrent-ruby (~> 1.0)
30
- minitest (5.14.1)
31
- parallel (1.19.2)
32
- parser (2.7.1.4)
31
+ method_source (1.0.0)
32
+ minitest (5.14.3)
33
+ parallel (1.20.1)
34
+ parser (3.0.0.0)
33
35
  ast (~> 2.4.1)
34
- qonfig (0.24.1)
36
+ pry (0.13.1)
37
+ coderay (~> 1.1)
38
+ method_source (~> 1.0)
39
+ qonfig (0.25.0)
35
40
  rack (2.2.3)
36
41
  rainbow (3.0.0)
37
- rake (13.0.1)
38
- regexp_parser (1.7.1)
42
+ rake (13.0.3)
43
+ regexp_parser (2.0.3)
39
44
  rexml (3.2.4)
40
- rspec (3.9.0)
41
- rspec-core (~> 3.9.0)
42
- rspec-expectations (~> 3.9.0)
43
- rspec-mocks (~> 3.9.0)
44
- rspec-core (3.9.2)
45
- rspec-support (~> 3.9.3)
46
- rspec-expectations (3.9.2)
45
+ rspec (3.10.0)
46
+ rspec-core (~> 3.10.0)
47
+ rspec-expectations (~> 3.10.0)
48
+ rspec-mocks (~> 3.10.0)
49
+ rspec-core (3.10.1)
50
+ rspec-support (~> 3.10.0)
51
+ rspec-expectations (3.10.1)
47
52
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.9.0)
49
- rspec-mocks (3.9.1)
53
+ rspec-support (~> 3.10.0)
54
+ rspec-mocks (3.10.1)
50
55
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.9.0)
52
- rspec-support (3.9.3)
53
- rubocop (0.87.1)
56
+ rspec-support (~> 3.10.0)
57
+ rspec-support (3.10.1)
58
+ rubocop (1.7.0)
54
59
  parallel (~> 1.10)
55
- parser (>= 2.7.1.1)
60
+ parser (>= 2.7.1.5)
56
61
  rainbow (>= 2.2.2, < 4.0)
57
- regexp_parser (>= 1.7)
62
+ regexp_parser (>= 1.8, < 3.0)
58
63
  rexml
59
- rubocop-ast (>= 0.1.0, < 1.0)
64
+ rubocop-ast (>= 1.2.0, < 2.0)
60
65
  ruby-progressbar (~> 1.7)
61
66
  unicode-display_width (>= 1.4.0, < 2.0)
62
- rubocop-ast (0.1.0)
63
- parser (>= 2.7.0.1)
64
- rubocop-performance (1.7.0)
65
- rubocop (>= 0.82.0)
66
- rubocop-rails (2.6.0)
67
+ rubocop-ast (1.4.0)
68
+ parser (>= 2.7.1.5)
69
+ rubocop-performance (1.9.1)
70
+ rubocop (>= 0.90.0, < 2.0)
71
+ rubocop-ast (>= 0.4.0)
72
+ rubocop-rails (2.9.1)
67
73
  activesupport (>= 4.2.0)
68
74
  rack (>= 1.1)
69
- rubocop (>= 0.82.0)
75
+ rubocop (>= 0.90.0, < 2.0)
70
76
  rubocop-rake (0.5.1)
71
77
  rubocop
72
- rubocop-rspec (1.42.0)
73
- rubocop (>= 0.87.0)
74
- ruby-progressbar (1.10.1)
75
- simplecov (0.18.5)
78
+ rubocop-rspec (2.1.0)
79
+ rubocop (~> 1.0)
80
+ rubocop-ast (>= 1.1.0)
81
+ ruby-progressbar (1.11.0)
82
+ simplecov (0.21.2)
76
83
  docile (~> 1.1)
77
84
  simplecov-html (~> 0.11)
78
- simplecov-html (0.12.2)
79
- smart_engine (0.7.0)
85
+ simplecov_json_formatter (~> 0.1)
86
+ simplecov-html (0.12.3)
87
+ simplecov_json_formatter (0.1.2)
88
+ smart_engine (0.11.0)
80
89
  smart_types (0.1.0)
81
90
  smart_engine (~> 0.6)
82
- thread_safe (0.3.6)
83
91
  thy (0.1.4)
84
- tzinfo (1.2.7)
85
- thread_safe (~> 0.1)
92
+ tzinfo (2.0.4)
93
+ concurrent-ruby (~> 1.0)
86
94
  unicode-display_width (1.7.0)
87
- zeitwerk (2.3.1)
95
+ zeitwerk (2.4.2)
88
96
 
89
97
  PLATFORMS
90
- ruby
98
+ x86_64-darwin-20
91
99
 
92
100
  DEPENDENCIES
93
- armitage-rubocop (~> 0.87)
94
- bundler (~> 2.1)
101
+ armitage-rubocop (~> 1.7)
102
+ bundler (~> 2.2)
103
+ pry (~> 0.13)
95
104
  rake (~> 13.0)
96
- rspec (~> 3.9)
97
- simplecov (~> 0.18)
105
+ rspec (~> 3.10)
106
+ simplecov (~> 0.21)
98
107
  smart_initializer!
99
108
  thy (~> 0.1.4)
100
109
 
101
110
  BUNDLED WITH
102
- 2.1.4
111
+ 2.2.3
@@ -1,95 +1,97 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- smart_initializer (0.2.0)
4
+ smart_initializer (0.3.2)
5
5
  qonfig (~> 0.24)
6
- smart_engine (~> 0.6)
6
+ smart_engine (~> 0.7)
7
7
  smart_types (~> 0.1.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (6.0.3.1)
12
+ activesupport (6.1.1)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
- i18n (>= 0.7, < 2)
15
- minitest (~> 5.1)
16
- tzinfo (~> 1.1)
17
- zeitwerk (~> 2.2, >= 2.2.2)
18
- armitage-rubocop (0.85.0)
19
- rubocop (= 0.85.0)
20
- rubocop-performance (= 1.6.1)
21
- rubocop-rails (= 2.5.2)
14
+ i18n (>= 1.6, < 2)
15
+ minitest (>= 5.1)
16
+ tzinfo (~> 2.0)
17
+ zeitwerk (~> 2.3)
18
+ armitage-rubocop (0.93.1)
19
+ rubocop (= 0.93.1)
20
+ rubocop-performance (= 1.8.1)
21
+ rubocop-rails (= 2.8.1)
22
22
  rubocop-rake (= 0.5.1)
23
- rubocop-rspec (= 1.39.0)
24
- ast (2.4.0)
25
- concurrent-ruby (1.1.6)
26
- diff-lcs (1.3)
27
- docile (1.3.2)
28
- i18n (1.8.3)
23
+ rubocop-rspec (= 1.43.2)
24
+ ast (2.4.1)
25
+ concurrent-ruby (1.1.7)
26
+ diff-lcs (1.4.4)
27
+ docile (1.3.5)
28
+ i18n (1.8.7)
29
29
  concurrent-ruby (~> 1.0)
30
- minitest (5.14.1)
31
- parallel (1.19.1)
32
- parser (2.7.1.3)
33
- ast (~> 2.4.0)
34
- qonfig (0.24.1)
35
- rack (2.2.2)
30
+ minitest (5.14.3)
31
+ parallel (1.20.1)
32
+ parser (3.0.0.0)
33
+ ast (~> 2.4.1)
34
+ qonfig (0.25.0)
35
+ rack (2.2.3)
36
36
  rainbow (3.0.0)
37
- rake (13.0.1)
38
- regexp_parser (1.7.1)
37
+ rake (13.0.3)
38
+ regexp_parser (2.0.3)
39
39
  rexml (3.2.4)
40
- rspec (3.9.0)
41
- rspec-core (~> 3.9.0)
42
- rspec-expectations (~> 3.9.0)
43
- rspec-mocks (~> 3.9.0)
44
- rspec-core (3.9.2)
45
- rspec-support (~> 3.9.3)
46
- rspec-expectations (3.9.2)
40
+ rspec (3.10.0)
41
+ rspec-core (~> 3.10.0)
42
+ rspec-expectations (~> 3.10.0)
43
+ rspec-mocks (~> 3.10.0)
44
+ rspec-core (3.10.1)
45
+ rspec-support (~> 3.10.0)
46
+ rspec-expectations (3.10.1)
47
47
  diff-lcs (>= 1.2.0, < 2.0)
48
- rspec-support (~> 3.9.0)
49
- rspec-mocks (3.9.1)
48
+ rspec-support (~> 3.10.0)
49
+ rspec-mocks (3.10.1)
50
50
  diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.9.0)
52
- rspec-support (3.9.3)
53
- rubocop (0.85.0)
51
+ rspec-support (~> 3.10.0)
52
+ rspec-support (3.10.1)
53
+ rubocop (0.93.1)
54
54
  parallel (~> 1.10)
55
- parser (>= 2.7.0.1)
55
+ parser (>= 2.7.1.5)
56
56
  rainbow (>= 2.2.2, < 4.0)
57
- regexp_parser (>= 1.7)
57
+ regexp_parser (>= 1.8)
58
58
  rexml
59
- rubocop-ast (>= 0.0.3)
59
+ rubocop-ast (>= 0.6.0)
60
60
  ruby-progressbar (~> 1.7)
61
61
  unicode-display_width (>= 1.4.0, < 2.0)
62
- rubocop-ast (0.0.3)
63
- parser (>= 2.7.0.1)
64
- rubocop-performance (1.6.1)
65
- rubocop (>= 0.71.0)
66
- rubocop-rails (2.5.2)
67
- activesupport
62
+ rubocop-ast (1.4.0)
63
+ parser (>= 2.7.1.5)
64
+ rubocop-performance (1.8.1)
65
+ rubocop (>= 0.87.0)
66
+ rubocop-ast (>= 0.4.0)
67
+ rubocop-rails (2.8.1)
68
+ activesupport (>= 4.2.0)
68
69
  rack (>= 1.1)
69
- rubocop (>= 0.72.0)
70
+ rubocop (>= 0.87.0)
70
71
  rubocop-rake (0.5.1)
71
72
  rubocop
72
- rubocop-rspec (1.39.0)
73
- rubocop (>= 0.68.1)
74
- ruby-progressbar (1.10.1)
75
- simplecov (0.18.5)
73
+ rubocop-rspec (1.43.2)
74
+ rubocop (~> 0.87)
75
+ ruby-progressbar (1.11.0)
76
+ simplecov (0.21.2)
76
77
  docile (~> 1.1)
77
78
  simplecov-html (~> 0.11)
78
- simplecov-html (0.12.2)
79
- smart_engine (0.6.0)
79
+ simplecov_json_formatter (~> 0.1)
80
+ simplecov-html (0.12.3)
81
+ simplecov_json_formatter (0.1.2)
82
+ smart_engine (0.11.0)
80
83
  smart_types (0.1.0)
81
84
  smart_engine (~> 0.6)
82
- thread_safe (0.3.6)
83
- tzinfo (1.2.7)
84
- thread_safe (~> 0.1)
85
+ tzinfo (2.0.4)
86
+ concurrent-ruby (~> 1.0)
85
87
  unicode-display_width (1.7.0)
86
- zeitwerk (2.3.0)
88
+ zeitwerk (2.4.2)
87
89
 
88
90
  PLATFORMS
89
- ruby
91
+ x86_64-darwin-20
90
92
 
91
93
  DEPENDENCIES
92
- armitage-rubocop (~> 0.85)
94
+ armitage-rubocop (~> 0.87)
93
95
  bundler (~> 2.1)
94
96
  rake (~> 13.0)
95
97
  rspec (~> 3.9)
@@ -97,4 +99,4 @@ DEPENDENCIES
97
99
  smart_initializer!
98
100
 
99
101
  BUNDLED WITH
100
- 2.1.4
102
+ 2.2.3
@@ -59,20 +59,34 @@ class SmartCore::Initializer::Attribute
59
59
  # @since 0.1.0
60
60
  def_delegator :parameters, :has_default?
61
61
 
62
+ # @return [Boolean]
63
+ #
64
+ # @api private
65
+ # @since 0.4.0
66
+ def_delegator :parameters, :read_only
67
+
68
+ # @return [String, Symbol, NilClass]
69
+ #
70
+ # @api private
71
+ # @since 0.4.0
72
+ def_delegator :parameters, :as
73
+
62
74
  # @param name [Symbol]
63
75
  # @param type [SmartCore::Initializer::TypeSystem::Interop]
64
76
  # @param type_system [Class<SmartCore::Initializer::TypeSystem::Interop>]
65
77
  # @param privacy [Symbol]
66
78
  # @param finalizer [SmartCore::Initializer::Attribute::Finalizer::AnonymousBlock/InstanceMethod]
67
79
  # @param cast [Boolean]
80
+ # @param read_only [Boolean]
81
+ # @param as [String, Symbol, NilClass]
68
82
  # @param dynamic_options [Hash<Symbol,Any>]
69
83
  # @return [void]
70
84
  #
71
85
  # @api private
72
86
  # @since 0.1.0
73
- def initialize(name, type, type_system, privacy, finalizer, cast, dynamic_options)
87
+ def initialize(name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options)
74
88
  @parameters = SmartCore::Initializer::Attribute::Parameters.new(
75
- name, type, type_system, privacy, finalizer, cast, dynamic_options
89
+ name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options
76
90
  )
77
91
  end
78
92
 
@@ -80,6 +94,7 @@ class SmartCore::Initializer::Attribute
80
94
  #
81
95
  # @api private
82
96
  # @since 0.1.0
97
+ # rubocop:disable Metrics/AbcSize
83
98
  def dup
84
99
  self.class.new(
85
100
  parameters.name.dup,
@@ -88,9 +103,12 @@ class SmartCore::Initializer::Attribute
88
103
  parameters.privacy,
89
104
  parameters.finalizer.dup,
90
105
  parameters.cast,
106
+ parameters.read_only,
107
+ parameters.as,
91
108
  parameters.dynamic_options.dup
92
109
  )
93
110
  end
111
+ # rubocop:enable Metrics/AbcSize
94
112
 
95
113
  private
96
114
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  # @api private
4
4
  # @since 0.1.0
5
+ # rubocop:disable Metrics/ClassLength
5
6
  class SmartCore::Initializer::Attribute::Factory
6
7
  class << self
7
8
  # @param name [String, Symbol]
@@ -10,18 +11,22 @@ class SmartCore::Initializer::Attribute::Factory
10
11
  # @param privacy [String, Symbol]
11
12
  # @param finalize [String, Symbol, Proc]
12
13
  # @param cast [Boolean]
14
+ # @param read_only [Boolean]
15
+ # @param as [String, Symbol, NilClass]
13
16
  # @param dynamic_options [Hash<Symbol,Any>]
14
17
  # @return [SmartCore::Initializer::Attribute]
15
18
  #
16
19
  # @api private
17
20
  # @since 0.1.0
18
- def create(name, type, type_system, privacy, finalize, cast, dynamic_options)
21
+ def create(name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options)
19
22
  prepared_name = prepare_name_param(name)
20
23
  prepared_privacy = prepare_privacy_param(privacy)
21
24
  prepared_finalize = prepare_finalize_param(finalize)
22
25
  prepared_cast = prepare_cast_param(cast)
23
26
  prepared_type_system = prepare_type_system_param(type_system)
24
27
  prepared_type = prepare_type_param(type, prepared_type_system)
28
+ prepared_read_only = prepare_read_only_param(read_only)
29
+ prepared_as = preapre_as_param(as)
25
30
  prepared_dynamic_options = prepare_dynamic_options_param(dynamic_options)
26
31
 
27
32
  create_attribute(
@@ -31,6 +36,8 @@ class SmartCore::Initializer::Attribute::Factory
31
36
  prepared_privacy,
32
37
  prepared_finalize,
33
38
  prepared_cast,
39
+ prepared_read_only,
40
+ prepared_as,
34
41
  prepared_dynamic_options
35
42
  )
36
43
  end
@@ -118,6 +125,36 @@ class SmartCore::Initializer::Attribute::Factory
118
125
  SmartCore::Initializer::Attribute::Finalizer.create(finalize)
119
126
  end
120
127
 
128
+ # @param read_only [Boolean]
129
+ # @return [Boolean]
130
+ #
131
+ # @api private
132
+ # @since 0.4.0
133
+ def prepare_read_only_param(read_only)
134
+ unless read_only.is_a?(FalseClass) || read_only.is_a?(TrueClass)
135
+ raise(SmartCore::Initializer::ArgumentError, <<~ERROR_MESSAGE)
136
+ :read_only attribute should be a type of boolean
137
+ ERROR_MESSAGE
138
+ end
139
+
140
+ read_only
141
+ end
142
+
143
+ # @param [String, Symbol, NilClass]
144
+ # @return [String, Symbol, NilClass]
145
+ #
146
+ # @api private
147
+ # @since 0.4.0
148
+ def preapre_as_param(as)
149
+ unless as.is_a?(NilClass) || as.is_a?(String) || as.is_a?(Symbol)
150
+ raise(SmartCore::Initializer::ArgumentError, <<~ERROR_MESSAGE)
151
+ Attribute alias should be a type of String or Symbol
152
+ ERROR_MESSAGE
153
+ end
154
+
155
+ as
156
+ end
157
+
121
158
  # @param dynamic_options [Hash<Symbol,Any>]
122
159
  # @return [Hash<Symbol,Any>]
123
160
  #
@@ -155,10 +192,13 @@ class SmartCore::Initializer::Attribute::Factory
155
192
  #
156
193
  # @api private
157
194
  # @since 0.1.0
158
- def create_attribute(name, type, type_system, privacy, finalize, cast, dynamic_options)
195
+ # rubocop:disable Layout/LineLength
196
+ def create_attribute(name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options)
159
197
  SmartCore::Initializer::Attribute.new(
160
- name, type, type_system, privacy, finalize, cast, dynamic_options
198
+ name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options
161
199
  )
162
200
  end
201
+ # rubocop:enable Layout/LineLength
163
202
  end
164
203
  end
204
+ # rubocop:enable Metrics/ClassLength
@@ -37,6 +37,18 @@ class SmartCore::Initializer::Attribute::Parameters
37
37
  # @since 0.1.0
38
38
  DEFAULT_DYNAMIC_OPTIONS = {}.freeze
39
39
 
40
+ # @return [Boolean]
41
+ #
42
+ # @api private
43
+ # @since 0.4.0
44
+ DEFAULT_READ_ONLY = true
45
+
46
+ # @return [NilClass]
47
+ #
48
+ # @api private
49
+ # @since 0.4.0
50
+ DEFAULT_AS = nil
51
+
40
52
  # @return [Symbol]
41
53
  #
42
54
  # @api private
@@ -81,25 +93,42 @@ class SmartCore::Initializer::Attribute::Parameters
81
93
  # @since 0.1.0
82
94
  attr_reader :dynamic_options
83
95
 
96
+ # @return [Boolean]
97
+ #
98
+ # @api private
99
+ # @since 0.4.0
100
+ attr_reader :read_only
101
+
102
+ # @return [String, Symbol, NilClass]
103
+ #
104
+ # @api private
105
+ # @since 0.4.0
106
+ attr_reader :as
107
+
84
108
  # @param name [Symbol]
85
109
  # @param type [SmartCore::Initializer::TypeSystem::Interop]
86
110
  # @param type_system [Class<SmartCore::Initializer::TypeSystem::Interop>]
87
111
  # @param privacy [Symbol]
88
112
  # @param finalizer [SmartCore::Initializer::Attribute::AnonymousBlock/InstanceMethod]
89
113
  # @param cast [Boolean]
114
+ # @param read_only [Boolean]
115
+ # @param as [NilClass, Symbol, String]
90
116
  # @param dynamic_options [Hash<Symbol,Any>]
91
117
  # - :default - default value (Proc value will be called)
92
118
  # @return [void]
93
119
  #
94
120
  # @api private
95
121
  # @since 0.1.0
96
- def initialize(name, type, type_system, privacy, finalizer, cast, dynamic_options)
122
+ # @version 0.4.0
123
+ def initialize(name, type, type_system, privacy, finalizer, cast, read_only, as, dynamic_options)
97
124
  @name = name
98
125
  @type = type
99
126
  @type_system = type_system
100
127
  @privacy = privacy
101
128
  @finalizer = finalizer
102
129
  @cast = cast
130
+ @read_only = read_only
131
+ @as = as
103
132
  @dynamic_options = dynamic_options
104
133
  end
105
134
 
@@ -31,12 +31,24 @@ class SmartCore::Initializer::Constructor::Definer
31
31
  # @param privacy [String, Symbol]
32
32
  # @param finalize [String, Symbol, Proc]
33
33
  # @param cast [Boolean]
34
+ # @param read_only [Boolean]
35
+ # @param as [String, Symbol, NilClass]
34
36
  # @param dynamic_options [Hash<Symbol,Any>]
35
37
  # @return [void]
36
38
  #
37
39
  # @api private
38
40
  # @since 0.1.0
39
- def define_parameter(name, type, type_system, privacy, finalize, cast, dynamic_options)
41
+ def define_parameter(
42
+ name,
43
+ type,
44
+ type_system,
45
+ privacy,
46
+ finalize,
47
+ cast,
48
+ read_only,
49
+ as,
50
+ dynamic_options
51
+ )
40
52
  thread_safe do
41
53
  attribute = build_attribute(
42
54
  name,
@@ -45,6 +57,8 @@ class SmartCore::Initializer::Constructor::Definer
45
57
  privacy,
46
58
  finalize,
47
59
  cast,
60
+ read_only,
61
+ as,
48
62
  dynamic_options
49
63
  )
50
64
  prevent_option_overlap(attribute)
@@ -67,6 +81,8 @@ class SmartCore::Initializer::Constructor::Definer
67
81
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_PRIVACY_MODE,
68
82
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_FINALIZER,
69
83
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_CAST_BEHAVIOUR,
84
+ SmartCore::Initializer::Attribute::Parameters::DEFAULT_READ_ONLY,
85
+ SmartCore::Initializer::Attribute::Parameters::DEFAULT_AS,
70
86
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_DYNAMIC_OPTIONS.dup
71
87
  ).tap do |attribute|
72
88
  prevent_option_overlap(attribute)
@@ -83,12 +99,24 @@ class SmartCore::Initializer::Constructor::Definer
83
99
  # @param privacy [String, Symbol]
84
100
  # @param finalize [String, Symbol, Proc]
85
101
  # @param cast [Boolean]
102
+ # @param read_only [Boolean]
103
+ # @param as [String, Symbol, NilClass]
86
104
  # @param dynamic_options [Hash<Symbol,Any>]
87
105
  # @return [void]
88
106
  #
89
107
  # @api private
90
108
  # @since 0.1.0
91
- def define_option(name, type, type_system, privacy, finalize, cast, dynamic_options)
109
+ def define_option(
110
+ name,
111
+ type,
112
+ type_system,
113
+ privacy,
114
+ finalize,
115
+ cast,
116
+ read_only,
117
+ as,
118
+ dynamic_options
119
+ )
92
120
  thread_safe do
93
121
  attribute = build_attribute(
94
122
  name,
@@ -97,6 +125,8 @@ class SmartCore::Initializer::Constructor::Definer
97
125
  privacy,
98
126
  finalize,
99
127
  cast,
128
+ read_only,
129
+ as,
100
130
  dynamic_options
101
131
  )
102
132
  prevent_parameter_overlap(attribute)
@@ -119,6 +149,8 @@ class SmartCore::Initializer::Constructor::Definer
119
149
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_PRIVACY_MODE,
120
150
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_FINALIZER,
121
151
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_CAST_BEHAVIOUR,
152
+ SmartCore::Initializer::Attribute::Parameters::DEFAULT_READ_ONLY,
153
+ SmartCore::Initializer::Attribute::Parameters::DEFAULT_AS,
122
154
  SmartCore::Initializer::Attribute::Parameters::DEFAULT_DYNAMIC_OPTIONS.dup
123
155
  ).tap do |attribute|
124
156
  prevent_parameter_overlap(attribute)
@@ -143,14 +175,26 @@ class SmartCore::Initializer::Constructor::Definer
143
175
  # @param privacy [String, Symbol]
144
176
  # @param finalize [String, Symbol, Proc]
145
177
  # @param cast [Boolean]
178
+ # @param read_only [Boolean]
179
+ # @param as [String, Symbol, NilClass]
146
180
  # @param dynamic_options [Hash<Symbol,Any>]
147
181
  # @return [SmartCore::Initializer::Attribute]
148
182
  #
149
183
  # @api private
150
184
  # @since 0.1.0
151
- def build_attribute(name, type, type_system, privacy, finalize, cast, dynamic_options)
185
+ def build_attribute(
186
+ name,
187
+ type,
188
+ type_system,
189
+ privacy,
190
+ finalize,
191
+ cast,
192
+ read_only,
193
+ as,
194
+ dynamic_options
195
+ )
152
196
  SmartCore::Initializer::Attribute::Factory.create(
153
- name, type, type_system, privacy, finalize, cast, dynamic_options
197
+ name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options
154
198
  )
155
199
  end
156
200
 
@@ -77,7 +77,7 @@ module SmartCore::Initializer::DSL
77
77
  @__init_extensions__
78
78
  end
79
79
 
80
- # @return [SmartCore::Initializer::Attribute::Definer]
80
+ # @return [SmartCore::Initializer::Constructor::Definer]
81
81
  #
82
82
  # @api private
83
83
  # @since 0.1.0
@@ -108,11 +108,14 @@ module SmartCore::Initializer::DSL
108
108
  # @option cast [Boolean]
109
109
  # @option privacy [String, Symbol]
110
110
  # @option finalize [String, Symbol, Proc]
111
+ # @option read_only [Boolean]
112
+ # @option as [NilClass, String, Symbol]
111
113
  # @param dynamic_options [Hash<Symbol,Any>]
112
114
  # @return [void]
113
115
  #
114
116
  # @api public
115
117
  # @since 0.1.0
118
+ # @version 0.4.0
116
119
  def param(
117
120
  name,
118
121
  type = __initializer_settings__.generic_type_object,
@@ -120,10 +123,12 @@ module SmartCore::Initializer::DSL
120
123
  finalize: SmartCore::Initializer::Attribute::Parameters::DEFAULT_FINALIZER,
121
124
  cast: SmartCore::Initializer::Attribute::Parameters::DEFAULT_CAST_BEHAVIOUR,
122
125
  type_system: __initializer_settings__.type_system,
126
+ read_only: SmartCore::Initializer::Attribute::Parameters::DEFAULT_READ_ONLY,
127
+ as: SmartCore::Initializer::Attribute::Parameters::DEFAULT_AS,
123
128
  **dynamic_options
124
129
  )
125
130
  __definer__.define_parameter(
126
- name, type, type_system, privacy, finalize, cast, dynamic_options
131
+ name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options
127
132
  )
128
133
  end
129
134
 
@@ -142,11 +147,14 @@ module SmartCore::Initializer::DSL
142
147
  # @option privacy [String, Symbol]
143
148
  # @option finalize [String, Symbol, Proc]
144
149
  # @option type_system [String, Symbol]
150
+ # @option read_only [Boolean]
151
+ # @option as [NilClass, String, Symbol]
145
152
  # @param dynamic_options [Hash<Symbol,Any>]
146
153
  # @return [void]
147
154
  #
148
155
  # @api public
149
156
  # @since 0.1.0
157
+ # @version 0.4.0
150
158
  def option(
151
159
  name,
152
160
  type = __initializer_settings__.generic_type_object,
@@ -154,10 +162,12 @@ module SmartCore::Initializer::DSL
154
162
  finalize: SmartCore::Initializer::Attribute::Parameters::DEFAULT_FINALIZER,
155
163
  cast: SmartCore::Initializer::Attribute::Parameters::DEFAULT_CAST_BEHAVIOUR,
156
164
  type_system: __initializer_settings__.type_system,
165
+ read_only: SmartCore::Initializer::Attribute::Parameters::DEFAULT_READ_ONLY,
166
+ as: SmartCore::Initializer::Attribute::Parameters::DEFAULT_AS,
157
167
  **dynamic_options
158
168
  )
159
169
  __definer__.define_option(
160
- name, type, type_system, privacy, finalize, cast, dynamic_options
170
+ name, type, type_system, privacy, finalize, cast, read_only, as, dynamic_options
161
171
  )
162
172
  end
163
173
 
@@ -5,7 +5,7 @@
5
5
  module SmartCore::Initializer::Plugins
6
6
  require_relative 'plugins/abstract'
7
7
  require_relative 'plugins/registry'
8
- require_relative 'plugins/registry_interface.rb'
8
+ require_relative 'plugins/registry_interface'
9
9
  require_relative 'plugins/access_mixin'
10
10
  require_relative 'plugins/thy_types'
11
11
 
@@ -48,8 +48,8 @@ class SmartCore::Initializer::Plugins::Abstract
48
48
  #
49
49
  # @api private
50
50
  # @since 0.1.0
51
- def __thread_safe__
52
- @__lock__.synchronize { yield }
51
+ def __thread_safe__(&block)
52
+ @__lock__.synchronize(&block)
53
53
  end
54
54
  end
55
55
  end
@@ -6,7 +6,7 @@ module SmartCore
6
6
  #
7
7
  # @api public
8
8
  # @since 0.1.0
9
- # @version 0.3.2
10
- VERSION = '0.3.2'
9
+ # @version 0.4.0
10
+ VERSION = '0.4.0'
11
11
  end
12
12
  end
@@ -30,13 +30,14 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ['lib']
32
32
 
33
- spec.add_dependency 'smart_engine', '~> 0.7'
34
- spec.add_dependency 'smart_types', '~> 0.1.0'
33
+ spec.add_dependency 'smart_engine', '~> 0.11'
34
+ spec.add_dependency 'smart_types', '~> 0.1'
35
35
  spec.add_dependency 'qonfig', '~> 0.24'
36
36
 
37
- spec.add_development_dependency 'bundler', '~> 2.1'
37
+ spec.add_development_dependency 'bundler', '~> 2.2'
38
38
  spec.add_development_dependency 'rake', '~> 13.0'
39
- spec.add_development_dependency 'rspec', '~> 3.9'
40
- spec.add_development_dependency 'armitage-rubocop', '~> 0.87'
41
- spec.add_development_dependency 'simplecov', '~> 0.18'
39
+ spec.add_development_dependency 'rspec', '~> 3.10'
40
+ spec.add_development_dependency 'armitage-rubocop', '~> 1.7'
41
+ spec.add_development_dependency 'simplecov', '~> 0.21'
42
+ spec.add_development_dependency 'pry', '~> 0.13'
42
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_initializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-12 00:00:00.000000000 Z
11
+ date: 2021-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: smart_engine
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: '0.11'
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.7'
26
+ version: '0.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: smart_types
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.0
33
+ version: '0.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.0
40
+ version: '0.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: qonfig
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '2.1'
61
+ version: '2.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '2.1'
68
+ version: '2.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -86,42 +86,56 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.9'
89
+ version: '3.10'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.9'
96
+ version: '3.10'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: armitage-rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.87'
103
+ version: '1.7'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.87'
110
+ version: '1.7'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.18'
117
+ version: '0.21'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.18'
124
+ version: '0.21'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.13'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.13'
125
139
  description: A simple and convenient way to declare complex constructors
126
140
  email:
127
141
  - iamdaiver@gmail.com
@@ -132,7 +146,6 @@ files:
132
146
  - ".gitignore"
133
147
  - ".rspec"
134
148
  - ".rubocop.yml"
135
- - ".travis.yml"
136
149
  - CHANGELOG.md
137
150
  - CODE_OF_CONDUCT.md
138
151
  - Gemfile
@@ -209,7 +222,7 @@ metadata:
209
222
  homepage_uri: https://github.com/smart-rb/smart_initializer
210
223
  source_code_uri: https://github.com/smart-rb/smart_initializer
211
224
  changelog_uri: https://github.com/smart-rb/smart_initializer/blob/master/CHANGELOG.md
212
- post_install_message:
225
+ post_install_message:
213
226
  rdoc_options: []
214
227
  require_paths:
215
228
  - lib
@@ -224,8 +237,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
237
  - !ruby/object:Gem::Version
225
238
  version: '0'
226
239
  requirements: []
227
- rubygems_version: 3.1.2
228
- signing_key:
240
+ rubygems_version: 3.2.3
241
+ signing_key:
229
242
  specification_version: 4
230
243
  summary: Initializer DSL
231
244
  test_files: []
@@ -1,51 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- os: linux
5
- dist: xenial
6
- before_install: gem install bundler
7
- script:
8
- - bundle exec rake rubocop
9
- - bundle exec rake rspec
10
- jobs:
11
- fast_finish: true
12
- include:
13
- - rvm: 2.4.10
14
- gemfile: gemfiles/with_external_deps.gemfile
15
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
16
- - rvm: 2.5.8
17
- gemfile: gemfiles/with_external_deps.gemfile
18
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
19
- - rvm: 2.6.6
20
- gemfile: gemfiles/with_external_deps.gemfile
21
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
22
- - rvm: 2.7.1
23
- gemfile: gemfiles/with_external_deps.gemfile
24
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
25
- - rvm: ruby-head
26
- gemfile: gemfiles/with_external_deps.gemfile
27
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
28
- - rvm: jruby-head
29
- gemfile: gemfiles/with_external_deps.gemfile
30
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
31
- - rvm: truffleruby
32
- gemfile: gemfiles/with_external_deps.gemfile
33
- env: TEST_PLUGINS=true FULL_TEST_COVERAGE_CHECK=true
34
- - rvm: 2.4.10
35
- gemfile: gemfiles/without_external_deps.gemfile
36
- - rvm: 2.5.8
37
- gemfile: gemfiles/without_external_deps.gemfile
38
- - rvm: 2.6.6
39
- gemfile: gemfiles/without_external_deps.gemfile
40
- - rvm: 2.7.1
41
- gemfile: gemfiles/without_external_deps.gemfile
42
- - rvm: ruby-head
43
- gemfile: gemfiles/without_external_deps.gemfile
44
- - rvm: jruby-head
45
- gemfile: gemfiles/without_external_deps.gemfile
46
- - rvm: truffleruby
47
- gemfile: gemfiles/without_external_deps.gemfile
48
- allow_failures:
49
- - rvm: ruby-head
50
- - rvm: jruby-head
51
- - rvm: truffleruby