smart_engine 0.8.0 → 0.12.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 +4 -4
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +30 -0
- data/Gemfile.lock +58 -55
- data/LICENSE.txt +1 -1
- data/README.md +76 -2
- data/lib/smart_core/engine/ext.rb +7 -0
- data/lib/smart_core/engine/frozener.rb +5 -2
- data/lib/smart_core/engine/version.rb +2 -2
- data/lib/smart_core/ext/basic_object_as_object.rb +79 -0
- data/lib/smart_core/ext.rb +7 -0
- data/lib/smart_core.rb +1 -0
- data/smart_engine.gemspec +4 -4
- metadata +17 -15
- data/.travis.yml +0 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dc3dd0221b83c217c01e45d3f46604971eb84d04d49be0632ce49f755218d76d
|
|
4
|
+
data.tar.gz: 5b441d31174be2b6d449f7075abea95b5f0ede317db8e416f07245f9d2e3e83c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3da36f25ec0827992a15bbbb2b20ffdbddc7233ace64ec2cbcfe5c6f7d12cf5a95b35d065b8b47d362df8de5b1dd799b8d473ca7459b414b81f651afb43c3db4
|
|
7
|
+
data.tar.gz: d8efcca5893345b3fb32a0fc0bbe014c9e99bf66d70a6b3bf561a6e037b50ec1f4886894913fc6bb6bc334a92661f4f81face5ce9aec01e7587c71beb1bd7bdb
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
|
|
4
|
+
## [0.12.0] - 2021-12-09
|
|
5
|
+
### Added
|
|
6
|
+
- `using SmartCore::Ext::BasicObjectAsObject` provides native support for:
|
|
7
|
+
- `BasicObject#inspect`;
|
|
8
|
+
|
|
9
|
+
## [0.11.0] - 2021-01-17
|
|
10
|
+
### Added
|
|
11
|
+
- Support for **Ruby@3**;
|
|
12
|
+
|
|
13
|
+
## [0.10.0] - 2020-12-22
|
|
14
|
+
### Added
|
|
15
|
+
- Support for `#hash` and `#instance_of?` for `SmartCore::Ext::BasicObjectAsObject` refinement;
|
|
16
|
+
|
|
17
|
+
## [0.9.0] - 2020-12-20
|
|
18
|
+
### Added
|
|
19
|
+
- New type of utilities: *Extensions* (`SmartCore::Ext`);
|
|
20
|
+
- New extension: `SmartCore::Ext::BasicObjectAsObject` refinement:
|
|
21
|
+
- `using SmartCore::Ext::BasicObjectAsObject` provides native support for:
|
|
22
|
+
- `BasicObject#is_a?`;
|
|
23
|
+
- `BasicObject#kind_of?`;
|
|
24
|
+
- `BasicObject#freeze`;
|
|
25
|
+
- `BasicObject#frozen?`;
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- Updated development dependencies;
|
|
29
|
+
- Support for *Ruby@2.4* has ended;
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- `SmartCore::Engine::Frozener` can not be used with rubies lower than `@2.7`;
|
|
33
|
+
|
|
4
34
|
## [0.8.0] - 2020-07-25
|
|
5
35
|
### Added
|
|
6
36
|
- Any object frozener (`SmartCore::Engine::Frozener`, `SmartCore::Engine::Frozener::Mixin`);
|
data/Gemfile.lock
CHANGED
|
@@ -1,99 +1,102 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
smart_engine (0.
|
|
4
|
+
smart_engine (0.12.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
activesupport (6.
|
|
9
|
+
activesupport (6.1.1)
|
|
10
10
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
11
|
-
i18n (>=
|
|
12
|
-
minitest (
|
|
13
|
-
tzinfo (~>
|
|
14
|
-
zeitwerk (~> 2.
|
|
15
|
-
armitage-rubocop (0.
|
|
16
|
-
rubocop (=
|
|
17
|
-
rubocop-performance (= 1.
|
|
18
|
-
rubocop-rails (= 2.
|
|
11
|
+
i18n (>= 1.6, < 2)
|
|
12
|
+
minitest (>= 5.1)
|
|
13
|
+
tzinfo (~> 2.0)
|
|
14
|
+
zeitwerk (~> 2.3)
|
|
15
|
+
armitage-rubocop (1.7.0.1)
|
|
16
|
+
rubocop (= 1.7.0)
|
|
17
|
+
rubocop-performance (= 1.9.1)
|
|
18
|
+
rubocop-rails (= 2.9.1)
|
|
19
19
|
rubocop-rake (= 0.5.1)
|
|
20
|
-
rubocop-rspec (= 1.
|
|
20
|
+
rubocop-rspec (= 2.1.0)
|
|
21
21
|
ast (2.4.1)
|
|
22
|
-
coderay (1.1.
|
|
23
|
-
concurrent-ruby (1.1.
|
|
22
|
+
coderay (1.1.3)
|
|
23
|
+
concurrent-ruby (1.1.7)
|
|
24
24
|
diff-lcs (1.4.4)
|
|
25
|
-
docile (1.3.
|
|
26
|
-
i18n (1.8.
|
|
25
|
+
docile (1.3.5)
|
|
26
|
+
i18n (1.8.7)
|
|
27
27
|
concurrent-ruby (~> 1.0)
|
|
28
28
|
method_source (1.0.0)
|
|
29
|
-
minitest (5.14.
|
|
30
|
-
parallel (1.
|
|
31
|
-
parser (
|
|
29
|
+
minitest (5.14.3)
|
|
30
|
+
parallel (1.20.1)
|
|
31
|
+
parser (3.0.0.0)
|
|
32
32
|
ast (~> 2.4.1)
|
|
33
33
|
pry (0.13.1)
|
|
34
34
|
coderay (~> 1.1)
|
|
35
35
|
method_source (~> 1.0)
|
|
36
36
|
rack (2.2.3)
|
|
37
37
|
rainbow (3.0.0)
|
|
38
|
-
rake (13.0.
|
|
39
|
-
regexp_parser (
|
|
38
|
+
rake (13.0.3)
|
|
39
|
+
regexp_parser (2.0.3)
|
|
40
40
|
rexml (3.2.4)
|
|
41
|
-
rspec (3.
|
|
42
|
-
rspec-core (~> 3.
|
|
43
|
-
rspec-expectations (~> 3.
|
|
44
|
-
rspec-mocks (~> 3.
|
|
45
|
-
rspec-core (3.
|
|
46
|
-
rspec-support (~> 3.
|
|
47
|
-
rspec-expectations (3.
|
|
41
|
+
rspec (3.10.0)
|
|
42
|
+
rspec-core (~> 3.10.0)
|
|
43
|
+
rspec-expectations (~> 3.10.0)
|
|
44
|
+
rspec-mocks (~> 3.10.0)
|
|
45
|
+
rspec-core (3.10.1)
|
|
46
|
+
rspec-support (~> 3.10.0)
|
|
47
|
+
rspec-expectations (3.10.1)
|
|
48
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
49
|
-
rspec-support (~> 3.
|
|
50
|
-
rspec-mocks (3.
|
|
49
|
+
rspec-support (~> 3.10.0)
|
|
50
|
+
rspec-mocks (3.10.1)
|
|
51
51
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
52
|
-
rspec-support (~> 3.
|
|
53
|
-
rspec-support (3.
|
|
54
|
-
rubocop (
|
|
52
|
+
rspec-support (~> 3.10.0)
|
|
53
|
+
rspec-support (3.10.1)
|
|
54
|
+
rubocop (1.7.0)
|
|
55
55
|
parallel (~> 1.10)
|
|
56
|
-
parser (>= 2.7.1.
|
|
56
|
+
parser (>= 2.7.1.5)
|
|
57
57
|
rainbow (>= 2.2.2, < 4.0)
|
|
58
|
-
regexp_parser (>= 1.
|
|
58
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
59
59
|
rexml
|
|
60
|
-
rubocop-ast (>=
|
|
60
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
61
61
|
ruby-progressbar (~> 1.7)
|
|
62
62
|
unicode-display_width (>= 1.4.0, < 2.0)
|
|
63
|
-
rubocop-ast (
|
|
64
|
-
parser (>= 2.7.
|
|
65
|
-
rubocop-performance (1.
|
|
66
|
-
rubocop (>= 0.
|
|
67
|
-
|
|
63
|
+
rubocop-ast (1.4.0)
|
|
64
|
+
parser (>= 2.7.1.5)
|
|
65
|
+
rubocop-performance (1.9.1)
|
|
66
|
+
rubocop (>= 0.90.0, < 2.0)
|
|
67
|
+
rubocop-ast (>= 0.4.0)
|
|
68
|
+
rubocop-rails (2.9.1)
|
|
68
69
|
activesupport (>= 4.2.0)
|
|
69
70
|
rack (>= 1.1)
|
|
70
|
-
rubocop (>= 0.
|
|
71
|
+
rubocop (>= 0.90.0, < 2.0)
|
|
71
72
|
rubocop-rake (0.5.1)
|
|
72
73
|
rubocop
|
|
73
|
-
rubocop-rspec (1.
|
|
74
|
-
rubocop (
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
rubocop-rspec (2.1.0)
|
|
75
|
+
rubocop (~> 1.0)
|
|
76
|
+
rubocop-ast (>= 1.1.0)
|
|
77
|
+
ruby-progressbar (1.11.0)
|
|
78
|
+
simplecov (0.21.2)
|
|
77
79
|
docile (~> 1.1)
|
|
78
80
|
simplecov-html (~> 0.11)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
simplecov_json_formatter (~> 0.1)
|
|
82
|
+
simplecov-html (0.12.3)
|
|
83
|
+
simplecov_json_formatter (0.1.2)
|
|
84
|
+
tzinfo (2.0.4)
|
|
85
|
+
concurrent-ruby (~> 1.0)
|
|
83
86
|
unicode-display_width (1.7.0)
|
|
84
|
-
zeitwerk (2.
|
|
87
|
+
zeitwerk (2.4.2)
|
|
85
88
|
|
|
86
89
|
PLATFORMS
|
|
87
90
|
ruby
|
|
88
91
|
|
|
89
92
|
DEPENDENCIES
|
|
90
|
-
armitage-rubocop (~>
|
|
91
|
-
bundler (~> 2.
|
|
93
|
+
armitage-rubocop (~> 1.7)
|
|
94
|
+
bundler (~> 2.2)
|
|
92
95
|
pry (~> 0.13)
|
|
93
96
|
rake (~> 13.0)
|
|
94
|
-
rspec (~> 3.
|
|
95
|
-
simplecov (~> 0.
|
|
97
|
+
rspec (~> 3.10)
|
|
98
|
+
simplecov (~> 0.21)
|
|
96
99
|
smart_engine!
|
|
97
100
|
|
|
98
101
|
BUNDLED WITH
|
|
99
|
-
2.
|
|
102
|
+
2.2.27
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
# SmartCore::Engine ·
|
|
1
|
+
# SmartCore::Engine · <a target="_blank" href="https://github.com/Cado-Labs"><img src="https://github.com/Cado-Labs/cado-labs-logos/raw/main/cado_labs_badge.svg" alt="Supported by Cado Labs" style="max-width: 100%; height: 20px"></a> · [](https://badge.fury.io/rb/smart_engine)
|
|
2
2
|
|
|
3
3
|
Generic SmartCore functionality.
|
|
4
4
|
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<p>
|
|
8
|
+
<a href="https://github.com/Cado-Labs">
|
|
9
|
+
<img src="https://github.com/Cado-Labs/cado-labs-logos/blob/main/cado_labs_supporting.svg" alt="Supported by Cado Labs" />
|
|
10
|
+
</a>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
5
15
|
## Installation
|
|
6
16
|
|
|
7
17
|
```ruby
|
|
@@ -25,7 +35,8 @@ require 'smart_core'
|
|
|
25
35
|
- [Global set of error types](#global-set-of-error-types)
|
|
26
36
|
- [Simple reentrant lock](#simple-reentrant-lock)
|
|
27
37
|
- [Atomic thread-safe value container](#atomic-thread-safe-value-container)
|
|
28
|
-
- [Any Object Frozener](#any-object-frozener)
|
|
38
|
+
- [Any Object Frozener](#any-object-frozener) (classic c-level `frozen?`/`freeze`)
|
|
39
|
+
- [Basic Object Refinements](#basic-object-refinements) (`SmartCore::Ext::BasicObjectAsObject`)
|
|
29
40
|
- [Inline rescue pipe](#inline-rescue-pipe)
|
|
30
41
|
|
|
31
42
|
---
|
|
@@ -68,6 +79,7 @@ atom.value # => 14
|
|
|
68
79
|
### Any Object Frozener
|
|
69
80
|
|
|
70
81
|
- works with any type of ruby objects (event with `BasicObject`);
|
|
82
|
+
- uses classic Ruby C-level `frozen?`/`freeze` functionality;
|
|
71
83
|
|
|
72
84
|
```ruby
|
|
73
85
|
# as a singleton
|
|
@@ -95,6 +107,55 @@ object.frozen? # => true
|
|
|
95
107
|
|
|
96
108
|
---
|
|
97
109
|
|
|
110
|
+
### Basic Object Refinements
|
|
111
|
+
|
|
112
|
+
Ruby's `BasicObject` class does not have some fundamental (extremely important for instrumenting) methods:
|
|
113
|
+
|
|
114
|
+
- `is_a?` / `kind_of?`
|
|
115
|
+
- `instance_of?`
|
|
116
|
+
- `freeze` / `frozen?`
|
|
117
|
+
- `hash`
|
|
118
|
+
- `nil?`
|
|
119
|
+
|
|
120
|
+
`SmartCore::Ext::BasicObjectAsObject` refinement solves this problem (by Ruby's internal API without any manualy-emulated behavior).
|
|
121
|
+
|
|
122
|
+
```ruby
|
|
123
|
+
# without refinement:
|
|
124
|
+
basic_obj = ::BasicObject.new
|
|
125
|
+
|
|
126
|
+
basic_obj.is_a?(::BasicObject) # raises ::NoMethodError
|
|
127
|
+
basic_obj.kind_of?(::BasicObject) # raises ::NoMethodError
|
|
128
|
+
basic_obj.instance_of?(::BasicObject) # rasies ::NoMethodError
|
|
129
|
+
basic_obj.freeze # raises ::NoMethodError
|
|
130
|
+
basic_obj.frozen? # raises ::NoMethodError
|
|
131
|
+
basic_object.hash # raises ::NoMethodError
|
|
132
|
+
basic_object.nil? # raises ::NoMethodError
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
```ruby
|
|
136
|
+
# with refinement:
|
|
137
|
+
using SmartCore::Ext::BasicObjectAsObject
|
|
138
|
+
|
|
139
|
+
basic_obj = ::BasicObject.new
|
|
140
|
+
|
|
141
|
+
basic_obj.is_a?(::BasicObject) # => true
|
|
142
|
+
basic_obj.kind_of?(::BasicObject) # => true
|
|
143
|
+
basic_obj.instance_of?(::BasicObject) # => true
|
|
144
|
+
basic_obj.instance_of?(::Object) # => false
|
|
145
|
+
basic_obj.is_a?(::Integer) # => false
|
|
146
|
+
basic_obj.kind_of?(::Integer) # => false
|
|
147
|
+
|
|
148
|
+
basic_obj.frozen? # => false
|
|
149
|
+
basic_obj.freeze # => self
|
|
150
|
+
basic_obj.frozen? # => true
|
|
151
|
+
|
|
152
|
+
basic_obj.nil? # => false
|
|
153
|
+
|
|
154
|
+
basic_obj.hash # => 2682859680348634421 (some Integer value)
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
98
159
|
### Inline rescue pipe
|
|
99
160
|
|
|
100
161
|
- works with an array of proc objects;
|
|
@@ -141,6 +202,13 @@ end
|
|
|
141
202
|
|
|
142
203
|
---
|
|
143
204
|
|
|
205
|
+
## Roadmap
|
|
206
|
+
|
|
207
|
+
- migrate to Github Actions in CI;
|
|
208
|
+
- thread-safety for BasicObject extensions;
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
144
212
|
## Contributing
|
|
145
213
|
|
|
146
214
|
- Fork it ( https://github.com/smart-rb/smart_engine )
|
|
@@ -153,6 +221,12 @@ end
|
|
|
153
221
|
|
|
154
222
|
Released under MIT License.
|
|
155
223
|
|
|
224
|
+
## Supporting
|
|
225
|
+
|
|
226
|
+
<a href="https://github.com/Cado-Labs">
|
|
227
|
+
<img src="https://github.com/Cado-Labs/cado-labs-logos/blob/main/cado_labs_logo.png" alt="Supported by Cado Labs" />
|
|
228
|
+
</a>
|
|
229
|
+
|
|
156
230
|
## Authors
|
|
157
231
|
|
|
158
232
|
[Rustam Ibragimov](https://github.com/0exp)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# @api public
|
|
4
4
|
# @since 0.8.0
|
|
5
|
+
# @version 0.9.0
|
|
5
6
|
module SmartCore::Engine::Frozener
|
|
6
7
|
# @api public
|
|
7
8
|
# @since 0.8.0
|
|
@@ -41,8 +42,9 @@ module SmartCore::Engine::Frozener
|
|
|
41
42
|
#
|
|
42
43
|
# @api public
|
|
43
44
|
# @since 0.8.0
|
|
45
|
+
# @version 0.9.0
|
|
44
46
|
def freeze(object)
|
|
45
|
-
FROZENER.
|
|
47
|
+
FROZENER.bind(object).call
|
|
46
48
|
end
|
|
47
49
|
|
|
48
50
|
# @param object [Any]
|
|
@@ -50,8 +52,9 @@ module SmartCore::Engine::Frozener
|
|
|
50
52
|
#
|
|
51
53
|
# @api public
|
|
52
54
|
# @since 0.8.0
|
|
55
|
+
# @version 0.9.0
|
|
53
56
|
def frozen?(object)
|
|
54
|
-
FROZEN_CHECK.
|
|
57
|
+
FROZEN_CHECK.bind(object).call
|
|
55
58
|
end
|
|
56
59
|
end
|
|
57
60
|
end
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# @api public
|
|
4
|
+
# @since 0.9.0
|
|
5
|
+
# @version 0.10.0
|
|
6
|
+
module SmartCore::Ext::BasicObjectAsObject
|
|
7
|
+
refine BasicObject do
|
|
8
|
+
_m_obj = ::Object.new
|
|
9
|
+
|
|
10
|
+
_is_a = _m_obj.method(:is_a?).unbind.tap(&:freeze)
|
|
11
|
+
_freeze = _m_obj.method(:freeze).unbind.tap(&:freeze)
|
|
12
|
+
_frozen = _m_obj.method(:frozen?).unbind.tap(&:freeze)
|
|
13
|
+
_hash = _m_obj.method(:hash).unbind.tap(&:freeze)
|
|
14
|
+
_nil = _m_obj.method(:nil?).unbind.tap(&:freeze)
|
|
15
|
+
_instance_of = _m_obj.method(:instance_of?).unbind.tap(&:freeze)
|
|
16
|
+
_inspect = _m_obj.method(:inspect).unbind.tap(&:freeze)
|
|
17
|
+
|
|
18
|
+
# @note Object#is_a? behavior copy
|
|
19
|
+
# @param klass [Class]
|
|
20
|
+
# @return [Boolean]
|
|
21
|
+
#
|
|
22
|
+
# @api public
|
|
23
|
+
# @since 0.9.0
|
|
24
|
+
define_method(:is_a?) do |klass|
|
|
25
|
+
_is_a.bind(self).call(klass)
|
|
26
|
+
end
|
|
27
|
+
alias_method :kind_of?, :is_a?
|
|
28
|
+
|
|
29
|
+
# @note Object#freeze behavior copy
|
|
30
|
+
# @return [self]
|
|
31
|
+
#
|
|
32
|
+
# @api public
|
|
33
|
+
# @since 0.9.0
|
|
34
|
+
define_method(:freeze) do
|
|
35
|
+
_freeze.bind(self).call
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @note Object#frozen? behavior copy
|
|
39
|
+
# @return [Boolean]
|
|
40
|
+
#
|
|
41
|
+
# @api public
|
|
42
|
+
# @since 0.9.0
|
|
43
|
+
define_method(:frozen?) do
|
|
44
|
+
_frozen.bind(self).call
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @return [Integer]
|
|
48
|
+
#
|
|
49
|
+
# @api public
|
|
50
|
+
# @since 0.10.0
|
|
51
|
+
define_method(:hash) do
|
|
52
|
+
_hash.bind(self).call
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @return [Boolean]
|
|
56
|
+
#
|
|
57
|
+
# @api public
|
|
58
|
+
# @since 0.10.0
|
|
59
|
+
define_method(:nil?) do
|
|
60
|
+
_nil.bind(self).call
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# @return [Boolean]
|
|
64
|
+
#
|
|
65
|
+
# @api public
|
|
66
|
+
# @since 0.1.0
|
|
67
|
+
define_method(:instance_of?) do |klass|
|
|
68
|
+
_instance_of.bind(self).call(klass)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @return [String]
|
|
72
|
+
#
|
|
73
|
+
# @api public
|
|
74
|
+
# @since 0.12.0
|
|
75
|
+
define_method(:inspect) do
|
|
76
|
+
_inspect.bind(self).call
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
data/lib/smart_core.rb
CHANGED
data/smart_engine.gemspec
CHANGED
|
@@ -34,10 +34,10 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
35
35
|
spec.require_paths = ['lib']
|
|
36
36
|
|
|
37
|
-
spec.add_development_dependency 'bundler', '~> 2.
|
|
37
|
+
spec.add_development_dependency 'bundler', '~> 2.2'
|
|
38
38
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
39
|
-
spec.add_development_dependency 'rspec', '~> 3.
|
|
40
|
-
spec.add_development_dependency 'armitage-rubocop', '~>
|
|
41
|
-
spec.add_development_dependency 'simplecov', '~> 0.
|
|
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
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_engine
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.12.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:
|
|
11
|
+
date: 2021-12-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.
|
|
19
|
+
version: '2.2'
|
|
20
20
|
type: :development
|
|
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: '2.
|
|
26
|
+
version: '2.2'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -44,42 +44,42 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '3.
|
|
47
|
+
version: '3.10'
|
|
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: '3.
|
|
54
|
+
version: '3.10'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: armitage-rubocop
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '1.7'
|
|
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: '
|
|
68
|
+
version: '1.7'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: simplecov
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0.
|
|
75
|
+
version: '0.21'
|
|
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: '0.
|
|
82
|
+
version: '0.21'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: pry
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -107,7 +107,6 @@ files:
|
|
|
107
107
|
- ".gitignore"
|
|
108
108
|
- ".rspec"
|
|
109
109
|
- ".rubocop.yml"
|
|
110
|
-
- ".travis.yml"
|
|
111
110
|
- CHANGELOG.md
|
|
112
111
|
- CODE_OF_CONDUCT.md
|
|
113
112
|
- Gemfile
|
|
@@ -120,11 +119,14 @@ files:
|
|
|
120
119
|
- lib/smart_core.rb
|
|
121
120
|
- lib/smart_core/engine.rb
|
|
122
121
|
- lib/smart_core/engine/atom.rb
|
|
122
|
+
- lib/smart_core/engine/ext.rb
|
|
123
123
|
- lib/smart_core/engine/frozener.rb
|
|
124
124
|
- lib/smart_core/engine/lock.rb
|
|
125
125
|
- lib/smart_core/engine/rescue_ext.rb
|
|
126
126
|
- lib/smart_core/engine/version.rb
|
|
127
127
|
- lib/smart_core/errors.rb
|
|
128
|
+
- lib/smart_core/ext.rb
|
|
129
|
+
- lib/smart_core/ext/basic_object_as_object.rb
|
|
128
130
|
- smart_engine.gemspec
|
|
129
131
|
homepage: https://github.com/smart-rb/smart_engine
|
|
130
132
|
licenses:
|
|
@@ -133,7 +135,7 @@ metadata:
|
|
|
133
135
|
homepage_uri: https://github.com/smart-rb/smart_engine
|
|
134
136
|
source_code_uri: https://github.com/smart-rb/smart_engine
|
|
135
137
|
changelog_uri: https://github.com/smart-rb/smart_engine/blob/master/CHANGELOG.md
|
|
136
|
-
post_install_message:
|
|
138
|
+
post_install_message:
|
|
137
139
|
rdoc_options: []
|
|
138
140
|
require_paths:
|
|
139
141
|
- lib
|
|
@@ -148,8 +150,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
148
150
|
- !ruby/object:Gem::Version
|
|
149
151
|
version: '0'
|
|
150
152
|
requirements: []
|
|
151
|
-
rubygems_version: 3.
|
|
152
|
-
signing_key:
|
|
153
|
+
rubygems_version: 3.2.22
|
|
154
|
+
signing_key:
|
|
153
155
|
specification_version: 4
|
|
154
156
|
summary: SmartCore Engine - a generic subset of SmartCore's functionality.
|
|
155
157
|
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
language: ruby
|
|
3
|
-
cache: bundler
|
|
4
|
-
before_install: gem install bundler
|
|
5
|
-
os: linux
|
|
6
|
-
dist: xenial
|
|
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
|
-
- rvm: 2.5.8
|
|
15
|
-
- rvm: 2.6.6
|
|
16
|
-
- rvm: 2.7.1
|
|
17
|
-
- rvm: ruby-head
|
|
18
|
-
- rvm: jruby-head
|
|
19
|
-
allow_failures:
|
|
20
|
-
- rvm: ruby-head
|
|
21
|
-
- rvm: jruby-head
|