smart_types 0.3.0 → 0.4.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: fdcbf29c692c77b4968df1ad7cbc629164de818da1859fc871c776b8e94152b1
4
- data.tar.gz: 3fe9ffe11f8d84b11a3b274a59c1d826a2d8a64eb9c289c1bf5166690d379f31
3
+ metadata.gz: a77f7989b137f4e3e7c319ad0f825f4484329ec4ff87ad04d31b9decae9bdce7
4
+ data.tar.gz: 7e05552fb246042a12a708089065f0916eac5565bcc4de61e4bbea5cb4d76c21
5
5
  SHA512:
6
- metadata.gz: d8dd2d8a3e397c02caf8a6b32347105b2f2b860c3847a8f08d5713d5e1791845aa8a598a21b3dc8be63c526e63d323349e144366836518a74409c39904140eef
7
- data.tar.gz: 5ead029c27b2b4aae1a6b509e0e268f92cf85fc34c207f5af76b4b79cdb72a494bb61d16a5e50d979c61a4d6b161983b45bd013207ca047f4b5852601c7bd088
6
+ metadata.gz: 800dc2c99f6eeee87f522576483cb7583e8f63a21a98aa5ed6b7106499406336d31b4414a4146a33bd3be251268cf3f916236662398199c2e17ba5c11c4ab0d6
7
+ data.tar.gz: b771a4a428498a0bad62fc8f2cf67728117f3d47822da01086e70f386f822c4e001bb73ad609bc9ef049d06743ee3dfe13744db4d13964d4def5b058a323ad66
@@ -5,7 +5,7 @@ inherit_gem:
5
5
  - lib/rubocop.rspec.yml
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 2.7.2
8
+ TargetRubyVersion: 3.0.0
9
9
  NewCops: enable
10
10
  Include:
11
11
  - lib/**/*.rb
@@ -1,6 +1,10 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ # [0.4.0] - 2021-01-18
5
+ ### Added
6
+ - Support for *Ruby 3*;
7
+
4
8
  ## [0.3.0] - 2020-12-22
5
9
  ### Added
6
10
  - Extended **Type Definition API**: support for **runtime attributes**:
@@ -1,35 +1,35 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- smart_types (0.3.0)
5
- smart_engine (~> 0.10)
4
+ smart_types (0.4.0)
5
+ smart_engine (~> 0.11)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (6.1.0)
10
+ activesupport (6.1.1)
11
11
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
12
  i18n (>= 1.6, < 2)
13
13
  minitest (>= 5.1)
14
14
  tzinfo (~> 2.0)
15
15
  zeitwerk (~> 2.3)
16
- armitage-rubocop (1.6.1)
17
- rubocop (= 1.6.1)
16
+ armitage-rubocop (1.7.0.1)
17
+ rubocop (= 1.7.0)
18
18
  rubocop-performance (= 1.9.1)
19
- rubocop-rails (= 2.9.0)
19
+ rubocop-rails (= 2.9.1)
20
20
  rubocop-rake (= 0.5.1)
21
- rubocop-rspec (= 2.0.1)
21
+ rubocop-rspec (= 2.1.0)
22
22
  ast (2.4.1)
23
23
  coderay (1.1.3)
24
24
  concurrent-ruby (1.1.7)
25
25
  diff-lcs (1.4.4)
26
- docile (1.3.3)
27
- i18n (1.8.5)
26
+ docile (1.3.5)
27
+ i18n (1.8.7)
28
28
  concurrent-ruby (~> 1.0)
29
29
  method_source (1.0.0)
30
- minitest (5.14.2)
30
+ minitest (5.14.3)
31
31
  parallel (1.20.1)
32
- parser (2.7.2.0)
32
+ parser (3.0.0.0)
33
33
  ast (~> 2.4.1)
34
34
  pry (0.13.1)
35
35
  coderay (~> 1.1)
@@ -37,22 +37,22 @@ GEM
37
37
  rack (2.2.3)
38
38
  rainbow (3.0.0)
39
39
  rake (13.0.3)
40
- regexp_parser (2.0.1)
40
+ regexp_parser (2.0.3)
41
41
  rexml (3.2.4)
42
42
  rspec (3.10.0)
43
43
  rspec-core (~> 3.10.0)
44
44
  rspec-expectations (~> 3.10.0)
45
45
  rspec-mocks (~> 3.10.0)
46
- rspec-core (3.10.0)
46
+ rspec-core (3.10.1)
47
47
  rspec-support (~> 3.10.0)
48
- rspec-expectations (3.10.0)
48
+ rspec-expectations (3.10.1)
49
49
  diff-lcs (>= 1.2.0, < 2.0)
50
50
  rspec-support (~> 3.10.0)
51
- rspec-mocks (3.10.0)
51
+ rspec-mocks (3.10.1)
52
52
  diff-lcs (>= 1.2.0, < 2.0)
53
53
  rspec-support (~> 3.10.0)
54
- rspec-support (3.10.0)
55
- rubocop (1.6.1)
54
+ rspec-support (3.10.1)
55
+ rubocop (1.7.0)
56
56
  parallel (~> 1.10)
57
57
  parser (>= 2.7.1.5)
58
58
  rainbow (>= 2.2.2, < 4.0)
@@ -61,44 +61,45 @@ GEM
61
61
  rubocop-ast (>= 1.2.0, < 2.0)
62
62
  ruby-progressbar (~> 1.7)
63
63
  unicode-display_width (>= 1.4.0, < 2.0)
64
- rubocop-ast (1.3.0)
64
+ rubocop-ast (1.4.0)
65
65
  parser (>= 2.7.1.5)
66
66
  rubocop-performance (1.9.1)
67
67
  rubocop (>= 0.90.0, < 2.0)
68
68
  rubocop-ast (>= 0.4.0)
69
- rubocop-rails (2.9.0)
69
+ rubocop-rails (2.9.1)
70
70
  activesupport (>= 4.2.0)
71
71
  rack (>= 1.1)
72
72
  rubocop (>= 0.90.0, < 2.0)
73
73
  rubocop-rake (0.5.1)
74
74
  rubocop
75
- rubocop-rspec (2.0.1)
75
+ rubocop-rspec (2.1.0)
76
76
  rubocop (~> 1.0)
77
77
  rubocop-ast (>= 1.1.0)
78
- ruby-progressbar (1.10.1)
79
- simplecov (0.20.0)
78
+ ruby-progressbar (1.11.0)
79
+ simplecov (0.21.2)
80
80
  docile (~> 1.1)
81
81
  simplecov-html (~> 0.11)
82
82
  simplecov_json_formatter (~> 0.1)
83
83
  simplecov-html (0.12.3)
84
84
  simplecov_json_formatter (0.1.2)
85
- smart_engine (0.10.0)
85
+ smart_engine (0.11.0)
86
86
  tzinfo (2.0.4)
87
87
  concurrent-ruby (~> 1.0)
88
88
  unicode-display_width (1.7.0)
89
89
  zeitwerk (2.4.2)
90
90
 
91
91
  PLATFORMS
92
- ruby
92
+ x86_64-darwin-19
93
+ x86_64-darwin-20
93
94
 
94
95
  DEPENDENCIES
95
- armitage-rubocop (~> 1.6)
96
+ armitage-rubocop (~> 1.7)
96
97
  bundler (~> 2.1)
97
98
  pry (~> 0.13)
98
99
  rake (~> 13.0)
99
100
  rspec (~> 3.10)
100
- simplecov (~> 0.20)
101
+ simplecov (~> 0.21)
101
102
  smart_types!
102
103
 
103
104
  BUNDLED WITH
104
- 2.1.4
105
+ 2.2.3
data/README.md CHANGED
@@ -26,9 +26,11 @@ require 'smart_core/types'
26
26
 
27
27
  ## Usage
28
28
 
29
- - [Type interface](#type-interface)
30
- - [Basic type algebra](#basic-type-algebra)
29
+ - [Type interface and basic type algebra](#type-interface-and-basic-type-algebra)
31
30
  - [Supported types](#supported-types)
31
+ - [Primitives](#primitives) (`SmartCore::Types::Value`)
32
+ - [Protocols](#protocols) (`SmartCore::Types::Protocol`)
33
+ - [Variadic](#variadic) (`SmartCore::Types::Variadic`)
32
34
  - [Nilable types](#nilable-types)
33
35
  - [Custom type definition](#custom-type-definition)
34
36
  - [Primitive type definition](#primitive-type-definition)
@@ -43,7 +45,7 @@ require 'smart_core/types'
43
45
 
44
46
  ---
45
47
 
46
- ## Type Interface
48
+ ## Type Interface and basic type algebra
47
49
 
48
50
  ```ruby
49
51
  # documentation is coming
@@ -73,7 +75,7 @@ type.valid?([:test, 2]) # => false
73
75
 
74
76
  ## Supported types
75
77
 
76
- - Primitives
78
+ #### Primitives:
77
79
 
78
80
  ```ruby
79
81
  SmartCore::Types::Value::Any
@@ -98,7 +100,9 @@ SmartCore::Types::Value::Date
98
100
  SmartCore::Types::Value::TimeBased
99
101
  ```
100
102
 
101
- - Protocols:
103
+ ---
104
+
105
+ #### Protocols:
102
106
 
103
107
  ```ruby
104
108
  SmartCore::Types::Protocol::InstanceOf
@@ -111,7 +115,9 @@ SmartCore::Types::Protocol::InstanceOf(::String, ::Symbol) # string or symbol
111
115
  SmartCore::Types::Protocol::InstanceOf(::Time, ::DateTime, ::Date) # time or datetime or date
112
116
  ```
113
117
 
114
- - Variadic:
118
+ ---
119
+
120
+ #### Variadic:
115
121
 
116
122
  ```ruby
117
123
  SmartCore::Types::Variadic::Tuple
@@ -536,6 +542,14 @@ bundle exec rake rubocop
536
542
  bundle exec rubocop
537
543
  ```
538
544
 
545
+ - run code style linting with auto-correction:
546
+
547
+ ```shell
548
+ bundle exec rake rubcoop -A
549
+ # --- or ---
550
+ bundle exec rubocop -A
551
+ ```
552
+
539
553
  ## License
540
554
 
541
555
  Released under MIT License.
@@ -6,7 +6,7 @@ module SmartCore
6
6
  #
7
7
  # @api public
8
8
  # @since 0.1.0
9
- # @version 0.3.0
10
- VERSION = '0.3.0'
9
+ # @version 0.4.0
10
+ VERSION = '0.4.0'
11
11
  end
12
12
  end
@@ -32,12 +32,12 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.add_dependency 'smart_engine', '~> 0.10'
35
+ spec.add_dependency 'smart_engine', '~> 0.11'
36
36
 
37
37
  spec.add_development_dependency 'bundler', '~> 2.1'
38
38
  spec.add_development_dependency 'rake', '~> 13.0'
39
39
  spec.add_development_dependency 'rspec', '~> 3.10'
40
- spec.add_development_dependency 'armitage-rubocop', '~> 1.6'
41
- spec.add_development_dependency 'simplecov', '~> 0.20'
40
+ spec.add_development_dependency 'armitage-rubocop', '~> 1.7'
41
+ spec.add_development_dependency 'simplecov', '~> 0.21'
42
42
  spec.add_development_dependency 'pry', '~> 0.13'
43
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_types
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-21 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,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
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.10'
26
+ version: '0.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.6'
75
+ version: '1.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.6'
82
+ version: '1.7'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.20'
89
+ version: '0.21'
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: '0.20'
96
+ version: '0.21'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
- rubygems_version: 3.1.4
225
+ rubygems_version: 3.2.3
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: Full-featured type system for any ruby project.