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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 228fbd594308ecee71718fe059d6d8bf57f8e79f33b0607ca4b771fc498a0ac4
4
- data.tar.gz: 809d274f771a7de133a1bc8986448ffca67bcefa2f0fd5f3a5d39cf730c448fa
3
+ metadata.gz: dc3dd0221b83c217c01e45d3f46604971eb84d04d49be0632ce49f755218d76d
4
+ data.tar.gz: 5b441d31174be2b6d449f7075abea95b5f0ede317db8e416f07245f9d2e3e83c
5
5
  SHA512:
6
- metadata.gz: 29eb3e3f8e005af66036b33c3bdb7260d8da6054dd63177b50d7a1bb0cd6b4a6ba39a61c03a77420a9d2867fbc4424a7a2718e535c0dd6afefa4f699c6c33beb
7
- data.tar.gz: 70f57850d865a3dcbfbc083f444c30a86bd24745501e1816efff41db049c294ae5844f2c2bf6856316137a20d7be7b00c32964a852f576245ab0f378d40bb06e
6
+ metadata.gz: 3da36f25ec0827992a15bbbb2b20ffdbddc7233ace64ec2cbcfe5c6f7d12cf5a95b35d065b8b47d362df8de5b1dd799b8d473ca7459b414b81f651afb43c3db4
7
+ data.tar.gz: d8efcca5893345b3fb32a0fc0bbe014c9e99bf66d70a6b3bf561a6e037b50ec1f4886894913fc6bb6bc334a92661f4f81face5ce9aec01e7587c71beb1bd7bdb
data/.rubocop.yml CHANGED
@@ -5,7 +5,8 @@ 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
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.7.0)
4
+ smart_engine (0.12.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- activesupport (6.0.3.2)
9
+ activesupport (6.1.1)
10
10
  concurrent-ruby (~> 1.0, >= 1.0.2)
11
- i18n (>= 0.7, < 2)
12
- minitest (~> 5.1)
13
- tzinfo (~> 1.1)
14
- zeitwerk (~> 2.2, >= 2.2.2)
15
- armitage-rubocop (0.87.1)
16
- rubocop (= 0.87.1)
17
- rubocop-performance (= 1.7.0)
18
- rubocop-rails (= 2.6.0)
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.41.0)
20
+ rubocop-rspec (= 2.1.0)
21
21
  ast (2.4.1)
22
- coderay (1.1.2)
23
- concurrent-ruby (1.1.6)
22
+ coderay (1.1.3)
23
+ concurrent-ruby (1.1.7)
24
24
  diff-lcs (1.4.4)
25
- docile (1.3.2)
26
- i18n (1.8.3)
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.1)
30
- parallel (1.19.2)
31
- parser (2.7.1.4)
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.1)
39
- regexp_parser (1.7.1)
38
+ rake (13.0.3)
39
+ regexp_parser (2.0.3)
40
40
  rexml (3.2.4)
41
- rspec (3.9.0)
42
- rspec-core (~> 3.9.0)
43
- rspec-expectations (~> 3.9.0)
44
- rspec-mocks (~> 3.9.0)
45
- rspec-core (3.9.2)
46
- rspec-support (~> 3.9.3)
47
- rspec-expectations (3.9.2)
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.9.0)
50
- rspec-mocks (3.9.1)
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.9.0)
53
- rspec-support (3.9.3)
54
- rubocop (0.87.1)
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.1)
56
+ parser (>= 2.7.1.5)
57
57
  rainbow (>= 2.2.2, < 4.0)
58
- regexp_parser (>= 1.7)
58
+ regexp_parser (>= 1.8, < 3.0)
59
59
  rexml
60
- rubocop-ast (>= 0.1.0, < 1.0)
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 (0.1.0)
64
- parser (>= 2.7.0.1)
65
- rubocop-performance (1.7.0)
66
- rubocop (>= 0.82.0)
67
- rubocop-rails (2.6.0)
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.82.0)
71
+ rubocop (>= 0.90.0, < 2.0)
71
72
  rubocop-rake (0.5.1)
72
73
  rubocop
73
- rubocop-rspec (1.41.0)
74
- rubocop (>= 0.68.1)
75
- ruby-progressbar (1.10.1)
76
- simplecov (0.18.5)
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
- simplecov-html (0.12.2)
80
- thread_safe (0.3.6)
81
- tzinfo (1.2.7)
82
- thread_safe (~> 0.1)
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.3.1)
87
+ zeitwerk (2.4.2)
85
88
 
86
89
  PLATFORMS
87
90
  ruby
88
91
 
89
92
  DEPENDENCIES
90
- armitage-rubocop (~> 0.87)
91
- bundler (~> 2.1)
93
+ armitage-rubocop (~> 1.7)
94
+ bundler (~> 2.2)
92
95
  pry (~> 0.13)
93
96
  rake (~> 13.0)
94
- rspec (~> 3.9)
95
- simplecov (~> 0.18)
97
+ rspec (~> 3.10)
98
+ simplecov (~> 0.21)
96
99
  smart_engine!
97
100
 
98
101
  BUNDLED WITH
99
- 2.1.4
102
+ 2.2.27
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Rustam Ibragimov
3
+ Copyright (c) 2020-2021 Rustam Ibragimov
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,7 +1,17 @@
1
- # SmartCore::Engine &middot; [![Gem Version](https://badge.fury.io/rb/smart_engine.svg)](https://badge.fury.io/rb/smart_engine) [![Build Status](https://travis-ci.org/smart-rb/smart_engine.svg?branch=master)](https://travis-ci.org/smart-rb/smart_engine)
1
+ # SmartCore::Engine &middot; <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> &middot; [![Gem Version](https://badge.fury.io/rb/smart_engine.svg)](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)
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api private
4
+ # @since 0.9.0
5
+ module SmartCore::Engine::Ext
6
+ require_relative 'ext/basic_object_as_object'
7
+ end
@@ -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.bind_call(object)
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.bind_call(object)
57
+ FROZEN_CHECK.bind(object).call
55
58
  end
56
59
  end
57
60
  end
@@ -6,7 +6,7 @@ module SmartCore
6
6
  #
7
7
  # @api public
8
8
  # @since 0.1.0
9
- # @version 0.8.0
10
- VERSION = '0.8.0'
9
+ # @version 0.12.0
10
+ VERSION = '0.12.0'
11
11
  end
12
12
  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
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # @api private
4
+ # @since 0.9.0
5
+ module SmartCore::Ext
6
+ require_relative 'ext/basic_object_as_object'
7
+ end
data/lib/smart_core.rb CHANGED
@@ -5,4 +5,5 @@
5
5
  module SmartCore
6
6
  require_relative 'smart_core/errors'
7
7
  require_relative 'smart_core/engine'
8
+ require_relative 'smart_core/ext'
8
9
  end
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.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
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.8.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: 2020-07-25 00:00:00.000000000 Z
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.1'
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.1'
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.9'
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.9'
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: '0.87'
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: '0.87'
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.18'
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.18'
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.1.2
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