symbiont-ruby 0.6.0 → 0.7.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: 466f4a94d80d4cc61a0a08e50d915e347c818be8c6b84905e2ad65b4d7fdb6f8
4
- data.tar.gz: 8b5fd3c0700648866d29569c04fde9f79ae4fe78fbb69d44a310deb5f54931d8
3
+ metadata.gz: 6714f1b3ec4728993c6142a6c1c2afb74fa47bbddb6bd24ba0f07400d1a8dc2a
4
+ data.tar.gz: bd261c826def843dea5411a74c95e342b2c5eff9d657750c97b7e3369e29c599
5
5
  SHA512:
6
- metadata.gz: 7731291d010e3c42b63f98cc160e7ef91dbb213838eba1a49edb471b2ffaeea77745b23b248792fec671eb7b54a9cb25a4ca46528127c47dd5e283238850e5af
7
- data.tar.gz: 3fd4fb5be23e5fb45ae115d6fa176f0281b1a040c73b864ebc40a20c888a6b9d9a20b29c95c7ed13695ef82537072bbd102fc73d0cc6b9564e1451564d781413
6
+ metadata.gz: e9611312a09174b8c326061d235bc7f89fbb4a3dc5ceed382210a94a9ece33811f3a164be5ea3718624b4de6b1361014740957727fded344eb4649d9da056847
7
+ data.tar.gz: d398c976b32b14caf11b80d9fd2ab7b026b4e71429f9bdf3c966f611b4f70dfc30bf48a89f008e2d095df2b19a9dd2b82ab66bc1ad181ad46b98f0379de57e94
data/.gitignore CHANGED
@@ -1,10 +1,10 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
3
  /_yardoc/
4
- /Gemfile.lock
5
4
  /coverage/
6
5
  /doc/
7
6
  /pkg/
8
7
  /spec/reports/
9
8
  /tmp/
10
9
  .rspec_status
10
+ .ruby-version
data/.rubocop.yml CHANGED
@@ -4,7 +4,7 @@ inherit_gem:
4
4
  - lib/rubocop.rspec.yml
5
5
 
6
6
  AllCops:
7
- TargetRubyVersion: 2.6.2
7
+ TargetRubyVersion: 3.0.0
8
8
  Include:
9
9
  - lib/**/*.rb
10
10
  - spec/**/*.rb
@@ -12,6 +12,19 @@ AllCops:
12
12
  - Rakefile
13
13
  - Gemfile
14
14
  - symbiont-ruby.gemspec
15
+ - Steepfile
15
16
 
16
- Metrics/LineLength:
17
+ Layout/LineLength:
17
18
  Max: 120
19
+
20
+ # NOTE: for code examples in tests
21
+ Lint/EmptyBlock:
22
+ Exclude:
23
+ - spec/**/*.rb
24
+
25
+ Style/RedundantBegin:
26
+ Enabled: false
27
+
28
+ # NOTE: for code clarity in tests
29
+ RSpec/LeakyConstantDeclaration:
30
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # Changelog
2
2
  All notable changes to this project will be documented in this file.
3
3
 
4
+ ## [0.7.0] 2021-06-22
5
+ ### Added
6
+ - Support for Ruby@2.7.2, Ruby@3.0.0;
7
+
8
+ ### Changed
9
+ - No more `TravisCI` (TODO: migrate to `Github Actions`);
10
+ - Updated development dependencies;
11
+
4
12
  ## [0.6.0] 2018-03-28
5
13
  ### Changed
6
14
  - Removed verbose code from `#__actual_context__` and `#method` methods of
@@ -9,7 +17,7 @@ All notable changes to this project will be documented in this file.
9
17
  ## [0.5.0] 2018-03-28
10
18
  ### Added
11
19
  - Support for method dispatching for `BasicObject` instances (which does not support `#respond_to?` method);
12
- - Support for method extrancting for `BasicObject` instances (which does not support `#method` method);
20
+ - Support for method extracting for `BasicObject` instances (which does not support `#method` method);
13
21
  - Updated development dependencies;
14
22
  - Support for `Ruby@2.6.2`, `Ruby@2.5.5`;
15
23
 
data/Gemfile.lock ADDED
@@ -0,0 +1,130 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ symbiont-ruby (0.7.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ activesupport (6.1.3.2)
10
+ concurrent-ruby (~> 1.0, >= 1.0.2)
11
+ i18n (>= 1.6, < 2)
12
+ minitest (>= 5.1)
13
+ tzinfo (~> 2.0)
14
+ zeitwerk (~> 2.3)
15
+ armitage-rubocop (1.10.0)
16
+ rubocop (= 1.10.0)
17
+ rubocop-performance (= 1.9.2)
18
+ rubocop-rails (= 2.9.1)
19
+ rubocop-rake (= 0.5.1)
20
+ rubocop-rspec (= 2.2.0)
21
+ ast (2.4.2)
22
+ coderay (1.1.3)
23
+ concurrent-ruby (1.1.9)
24
+ diff-lcs (1.4.4)
25
+ docile (1.4.0)
26
+ ffi (1.15.3)
27
+ i18n (1.8.10)
28
+ concurrent-ruby (~> 1.0)
29
+ language_server-protocol (3.16.0.1)
30
+ listen (3.5.1)
31
+ rb-fsevent (~> 0.10, >= 0.10.3)
32
+ rb-inotify (~> 0.9, >= 0.9.10)
33
+ method_source (1.0.0)
34
+ minitest (5.14.4)
35
+ parallel (1.20.1)
36
+ parser (3.0.1.1)
37
+ ast (~> 2.4.1)
38
+ pry (0.14.1)
39
+ coderay (~> 1.1)
40
+ method_source (~> 1.0)
41
+ rack (2.2.3)
42
+ rainbow (3.0.0)
43
+ rake (13.0.3)
44
+ rb-fsevent (0.11.0)
45
+ rb-inotify (0.10.1)
46
+ ffi (~> 1.0)
47
+ rbs (1.2.1)
48
+ regexp_parser (2.1.1)
49
+ rexml (3.2.5)
50
+ rspec (3.10.0)
51
+ rspec-core (~> 3.10.0)
52
+ rspec-expectations (~> 3.10.0)
53
+ rspec-mocks (~> 3.10.0)
54
+ rspec-core (3.10.1)
55
+ rspec-support (~> 3.10.0)
56
+ rspec-expectations (3.10.1)
57
+ diff-lcs (>= 1.2.0, < 2.0)
58
+ rspec-support (~> 3.10.0)
59
+ rspec-mocks (3.10.2)
60
+ diff-lcs (>= 1.2.0, < 2.0)
61
+ rspec-support (~> 3.10.0)
62
+ rspec-support (3.10.2)
63
+ rubocop (1.10.0)
64
+ parallel (~> 1.10)
65
+ parser (>= 3.0.0.0)
66
+ rainbow (>= 2.2.2, < 4.0)
67
+ regexp_parser (>= 1.8, < 3.0)
68
+ rexml
69
+ rubocop-ast (>= 1.2.0, < 2.0)
70
+ ruby-progressbar (~> 1.7)
71
+ unicode-display_width (>= 1.4.0, < 3.0)
72
+ rubocop-ast (1.7.0)
73
+ parser (>= 3.0.1.1)
74
+ rubocop-performance (1.9.2)
75
+ rubocop (>= 0.90.0, < 2.0)
76
+ rubocop-ast (>= 0.4.0)
77
+ rubocop-rails (2.9.1)
78
+ activesupport (>= 4.2.0)
79
+ rack (>= 1.1)
80
+ rubocop (>= 0.90.0, < 2.0)
81
+ rubocop-rake (0.5.1)
82
+ rubocop
83
+ rubocop-rspec (2.2.0)
84
+ rubocop (~> 1.0)
85
+ rubocop-ast (>= 1.1.0)
86
+ ruby-progressbar (1.11.0)
87
+ simplecov (0.21.2)
88
+ docile (~> 1.1)
89
+ simplecov-html (~> 0.11)
90
+ simplecov_json_formatter (~> 0.1)
91
+ simplecov-html (0.12.3)
92
+ simplecov_json_formatter (0.1.3)
93
+ steep (0.44.1)
94
+ activesupport (>= 5.1)
95
+ language_server-protocol (>= 3.15, < 4.0)
96
+ listen (~> 3.0)
97
+ parallel (>= 1.0.0)
98
+ parser (>= 2.7)
99
+ rainbow (>= 2.2.2, < 4.0)
100
+ rbs (>= 1.2.0)
101
+ terminal-table (>= 2, < 4)
102
+ terminal-table (3.0.1)
103
+ unicode-display_width (>= 1.1.1, < 3)
104
+ typeprof (0.14.1)
105
+ rbs (>= 1.2.0)
106
+ tzinfo (2.0.4)
107
+ concurrent-ruby (~> 1.0)
108
+ unicode-display_width (2.0.0)
109
+ yard (0.9.26)
110
+ zeitwerk (2.4.2)
111
+
112
+ PLATFORMS
113
+ ruby
114
+ x86_64-darwin-20
115
+
116
+ DEPENDENCIES
117
+ armitage-rubocop (~> 1.8)
118
+ bundler
119
+ pry
120
+ rake
121
+ rbs (~> 1.0)
122
+ rspec (~> 3.10)
123
+ simplecov (~> 0.21)
124
+ steep (~> 0.40)
125
+ symbiont-ruby!
126
+ typeprof (~> 0.12)
127
+ yard
128
+
129
+ BUNDLED WITH
130
+ 2.2.20
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017-2019 Rustam Ibragimov
3
+ Copyright (c) 2017-2020 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
@@ -3,15 +3,13 @@
3
3
  <h1 align="center">
4
4
  Symbiont<br />
5
5
  <a href="https://badge.fury.io/rb/symbiont-ruby"><img src="https://badge.fury.io/rb/symbiont-ruby.svg"></a>
6
- <a href="https://travis-ci.org/0exp/symbiont-ruby"><img src="https://travis-ci.org/0exp/symbiont-ruby.svg?branch=master"></a>
7
- <a href="https://coveralls.io/github/0exp/symbiont-ruby?branch=master"><img src="https://coveralls.io/repos/github/0exp/symbiont-ruby/badge.svg?branch=master"></a>
8
6
  </h1>
9
7
  </p>
10
8
 
11
9
  **Symbiont** is a cool implementation of proc-objects execution algorithm: in the context of other object,
12
- but with the preservation of the closed environment of the proc object and with the ability of control the method dispatch
10
+ but with the preservation of the captured environment of the proc object and with the ability of control the method dispatch
13
11
  inside it. A proc object is executed in three contexts: in the context of required object, in the context of
14
- a closed proc's environment and in the global (Kernel) context.
12
+ a captured proc's environment and in the global (Kernel) context.
15
13
 
16
14
  # Installation
17
15
 
@@ -45,7 +43,7 @@ require 'symbiont'
45
43
  - [Usage](#usage)
46
44
  - [Context management](#context-management)
47
45
  - [Supported method delegation directions](#supported-methods-delegation-directions)
48
- - [Proc object invokation](#proc-object-invokation)
46
+ - [Proc object invocation](#proc-object-invocation)
49
47
  - [Considering public methods only (.evaluate)](#considering-public-methods-only-evaluate)
50
48
  - [Considering private and public methods (.evaluate_private)](#considering-private-and-public-methods-evaluate_private)
51
49
  - [Getting method-objects (Method)](#getting-method-objects-method)
@@ -60,14 +58,14 @@ require 'symbiont'
60
58
  # Problems and motivaiton
61
59
 
62
60
  The main problem of `instance_eval` / `instance exec` / `class_eval` / `class_exec` is that the binding (self)
63
- inside a proc-objec is replaced with the object in where a proc object is executed. This allows you to delegate all methods closed by a proc to another object.
64
- But this leads to the fact that the proc object loses access to the original closed environment.
65
- Symbiont solves this problem by allowing to proc to be executed in the required context while maintaining access to the methods of the closed environemnt
61
+ inside a proc-object is replaced with the object in where a proc object is executed. This allows you to delegate all methods captured by a proc to another object.
62
+ But this leads to the fact that the proc object loses access to the original captured environment.
63
+ Symbiont solves this problem by allowing the proc to be executed in the required context while maintaining access to the methods of the captured environment
66
64
  (including the global context).
67
65
 
68
66
  ---
69
67
 
70
- A prroblem with `instance_eval` / `instance_exec` / `class_eval` / `class_exec`:
68
+ A problem with `instance_eval` / `instance_exec` / `class_eval` / `class_exec`:
71
69
 
72
70
  ```ruby
73
71
  class TableFactory
@@ -84,7 +82,7 @@ class Migration
84
82
  class << self
85
83
  def create_table(&block)
86
84
  TableFactory.new.tap do |table|
87
- table.instance_eval(&block) # NOTE: closure invokation
85
+ table.instance_eval(&block) # NOTE: closure invocation
88
86
  end
89
87
  end
90
88
  end
@@ -117,7 +115,7 @@ class Migration
117
115
  class << self
118
116
  def create_table(&block)
119
117
  TableFactory.new.tap do |table|
120
- Symbiont::Executor.evaluate(table, &block) # NOTE: intercept closure invokation by Symbiont
118
+ Symbiont::Executor.evaluate(table, &block) # NOTE: intercept closure invocation by Symbiont
121
119
  end
122
120
  end
123
121
  end
@@ -138,15 +136,15 @@ Proc-object is executed in three contexts at the same time:
138
136
  Methods (called internally) are delegated to the context that is first able to respond.
139
137
  The order of context selection depends on the corresponding context direction parameter.
140
138
  By default the delegation order is: object context => closure context => global context.
141
- If no context is able to respond to the method, an exception is thrown (`Symbiont::Trigger::ContextNoMethodError`).
142
- Symbiont can consider the visiblity of methods when executing.
139
+ If no context is able to respond to the method, an exception is raised (`Symbiont::Trigger::ContextNoMethodError`).
140
+ Symbiont can consider the visibility of methods when executing.
143
141
 
144
142
 
145
143
  # Usage
146
144
 
147
145
  ## Context management
148
146
 
149
- Imagine that in a real application we have the following gode and the corresponding closure:
147
+ Imagine having the following code and the corresponding clojure in the real application:
150
148
 
151
149
  ```ruby
152
150
  def object_data
@@ -178,16 +176,15 @@ How a proc object will be processed, which context will be selected, how to make
178
176
 
179
177
  ## Supported methods delegation directions
180
178
 
181
- Delegation order is set by a constant and passed as a parameter in the execution of the proc
182
- and the generation of a special mixin module, allowing any class or instance to become a symbiont.
179
+ Delegation order might be passed as a parameter to the proc execution
180
+ and to the special mixin module, allowing any class or instance to become a symbiont.
183
181
 
184
- Supported contexts
182
+ - Supported contexts:
183
+ - inner context - an object where proc is executed;
184
+ - outer context - external environment of the proc object;
185
+ - kernel context - global Kernel context.
185
186
 
186
- - inner context - an object where proc is executed;
187
- - outer context - external environment of the proc object;
188
- - kernel context - global Kernel context.
189
-
190
- Symbiont::IOK is chosen by default (`inner context => outer context => kernel context`)
187
+ Symbiont::IOK is chosen by default (`inner context => outer context => kernel context`).
191
188
 
192
189
  ```ruby
193
190
  Symbiont::IOK # Inner Context => Outer Context => Kernel Context (DEFAULT)
@@ -198,7 +195,7 @@ Symbiont::KOI # Kernel Context => Outer Context => Inner Context
198
195
  Symbiont::KIO # Kernel Context => Inner Context => Outer Context
199
196
  ```
200
197
 
201
- ## Proc object invokation
198
+ ## Proc object invocation
202
199
 
203
200
  `Symbiont::Executor` allows you to execute proc objects in two modes of the delegation:
204
201
 
@@ -207,11 +204,11 @@ Symbiont::KIO # Kernel Context => Inner Context => Outer Context
207
204
  - public and private methods:
208
205
  - `evaluate_private(*required_contexts, [context_direction:], &closure)`
209
206
 
210
- If no context is able to respond to the required method - `Symbiont::Trigger::ContextNoMethodError` exception is thrown.
207
+ If none of contexts is able to respond to the required method - `Symbiont::Trigger::ContextNoMethodError` exception is raised.
211
208
 
212
- In the case when an unsupported direction value is used - `Symbiont::Trigger::IncompatibleContextDirectionError` exception is thrown.
209
+ In the case an unsupported direction value is used - `Symbiont::Trigger::IncompatibleContextDirectionError` exception is raised.
213
210
 
214
- If proc object isnt passed to the executor - `Symbiont::Trigger::UnprovidedClosureAttributeError` exception is thrown.
211
+ If proc object isn't passed to the executor - `Symbiont::Trigger::UnprovidedClosureAttributeError` exception is raised.
215
212
 
216
213
  #### Considering public methods only (.evaluate)
217
214
 
@@ -266,9 +263,9 @@ end
266
263
  - public and private methods:
267
264
  - `private_method(method_name, *required_contexts, [context_direction:], &clojure)`
268
265
 
269
- If no context is able to respond to the required method - `Symbiont::Trigger::ContextNoMethodError` exception is thrown.
266
+ If none of contexts is able to respond to the required method - `Symbiont::Trigger::ContextNoMethodError` exception is raised.
270
267
 
271
- In the case when an unsupported direction value is used - `Symbiont::Trigger::IncompatibleContextDirectionError` exception is thrown.
268
+ In the case an unsupported direction value is used - `Symbiont::Trigger::IncompatibleContextDirectionError` exception is raised.
272
269
 
273
270
  #### Considering public methods only (.public_method)
274
271
 
@@ -306,7 +303,7 @@ Symbiont::Executor.private_method(:object_data, object, context_direction: Symbi
306
303
 
307
304
  `Symbiont::Context` is a mixin that allows any object to call proc objects in the context of itself as `Symbiont::Executor`.
308
305
 
309
- You can specify the default direction of the context delegation. `Symbiont::IOK` is used by default.
306
+ You can specify the direction of the context delegation. `Symbiont::IOK` is used by default.
310
307
 
311
308
  #### Mixing a module with default delegation direction
312
309
 
@@ -369,7 +366,7 @@ SimpleObject.new.evaluate(Symbiont::IOK) { object_data }
369
366
 
370
367
  `Symbiont::Executor` allows you to work with multiple inner contexts (can receive a set of objects instead of the one main object).
371
368
  Each object will be used as an inner context in order they are passed.
372
- The method will be addressed to the object that responds first (in accordance with a chosen delegation order).
369
+ The method will be addressed to the object that responds first (according to a chosen delegation order).
373
370
 
374
371
  ```ruby
375
372
  # Usage:
@@ -419,6 +416,20 @@ isolator.private_method(...)
419
416
  # same for #.private_method
420
417
  ```
421
418
 
419
+ # Roadmap
420
+
421
+ - support for toplevel context (`TOPLEVEL_BINDING`);
422
+ - `fiber teleports`;
423
+ - official support for **Ruby@3**;
424
+
425
+ # Build
426
+
427
+ ```shell
428
+ bundle exec rake rubocop
429
+ bundle exec rake yardoc
430
+ bundle exec rake rspec
431
+ ```
432
+
422
433
  # Contributing
423
434
 
424
435
  - Fork it ( https://github.com/0exp/symbiont-ruby/fork )
data/Rakefile CHANGED
@@ -2,8 +2,21 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ require 'rubocop'
6
+ require 'rubocop/rake_task'
7
+ require 'rubocop-performance'
8
+ require 'rubocop-rspec'
9
+ require 'rubocop-rake'
5
10
  require 'yard'
6
11
 
12
+ RuboCop::RakeTask.new(:rubocop) do |t|
13
+ config_path = File.expand_path(File.join('.rubocop.yml'), __dir__)
14
+ t.options = ['--config', config_path]
15
+ t.requires << 'rubocop-rspec'
16
+ t.requires << 'rubocop-performance'
17
+ t.requires << 'rubocop-rake'
18
+ end
19
+
7
20
  RSpec::Core::RakeTask.new(:rspec)
8
21
 
9
22
  YARD::Rake::YardocTask.new(:doc) do |t|
@@ -13,6 +26,7 @@ end
13
26
 
14
27
  task default: :rspec
15
28
 
29
+ desc 'Code documentation coverage check'
16
30
  task yardoc: :doc do
17
31
  undocumented_code_objects = YARD::Registry.tap(&:load).select do |code_object|
18
32
  code_object.docstring.empty?
data/Steepfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ target :lib do
4
+ signature 'sig'
5
+ check 'lib'
6
+ end
@@ -36,7 +36,7 @@ module Symbiont
36
36
  context_singleton = __extract_singleton_class__(context)
37
37
 
38
38
  context_singleton.private_instance_methods(true).include?(method_name) ||
39
- context_singleton.instance_methods(true).include?(method_name)
39
+ context_singleton.instance_methods(true).include?(method_name)
40
40
  end
41
41
  end || super
42
42
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Effect API research
4
+ #
5
+ # @api private
6
+ # @since 0.7.0
7
+ class Symbiont::Effect
8
+ # NOTE: fiber magic :)
9
+ end
@@ -159,7 +159,7 @@ class Symbiont::Trigger < BasicObject
159
159
  end
160
160
  # :nocov:
161
161
 
162
- # rubocop:disable Layout/SpaceAroundKeyword, Style/MultipleComparison
162
+ # rubocop:disable Layout/SpaceAroundKeyword
163
163
  unless(context_direction == IOK || context_direction == OIK || context_direction == OKI ||
164
164
  context_direction == IKO || context_direction == KOI || context_direction == KIO)
165
165
  ::Kernel.raise(
@@ -168,7 +168,7 @@ class Symbiont::Trigger < BasicObject
168
168
  'You should use one of this: OIK, OKI, IOK, IKO, KOI, KIO.'
169
169
  )
170
170
  end
171
- # rubocop:enable Layout/SpaceAroundKeyword, Style/MultipleComparison
171
+ # rubocop:enable Layout/SpaceAroundKeyword
172
172
 
173
173
  @__closure__ = closure
174
174
  @__context_direction__ = context_direction
@@ -232,8 +232,8 @@ class Symbiont::Trigger < BasicObject
232
232
  #
233
233
  # @api private
234
234
  # @since 0.1.0
235
- def method_missing(method_name, *arguments, &block)
236
- __actual_context__(method_name).__send__(method_name, *arguments, &block)
235
+ def method_missing(method_name, *arguments, **options, &block)
236
+ __actual_context__(method_name).__send__(method_name, *arguments, **options, &block)
237
237
  end
238
238
 
239
239
  # Checks that the actual context is able to respond to a required method.
@@ -5,5 +5,5 @@ module Symbiont
5
5
  #
6
6
  # @api public
7
7
  # @since 0.1.0
8
- VERSION = '0.6.0'
8
+ VERSION = '0.7.0'
9
9
  end
data/sig/.keep ADDED
File without changes
@@ -29,10 +29,12 @@ Gem::Specification.new do |spec|
29
29
  f.match(%r{^(spec|features)/})
30
30
  end
31
31
 
32
- spec.add_development_dependency 'rspec', '~> 3.8'
33
- spec.add_development_dependency 'simplecov', '~> 0.16'
34
- spec.add_development_dependency 'coveralls', '~> 0.8'
35
- spec.add_development_dependency 'armitage-rubocop', '~> 0.24'
32
+ spec.add_development_dependency 'rspec', '~> 3.10'
33
+ spec.add_development_dependency 'simplecov', '~> 0.21'
34
+ spec.add_development_dependency 'armitage-rubocop', '~> 1.8'
35
+ spec.add_development_dependency 'rbs', '~> 1.0'
36
+ spec.add_development_dependency 'typeprof', '~> 0.12'
37
+ spec.add_development_dependency 'steep', '~> 0.40'
36
38
 
37
39
  spec.add_development_dependency 'pry'
38
40
  spec.add_development_dependency 'rake'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: symbiont-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Ibragimov
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-28 00:00:00.000000000 Z
11
+ date: 2021-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -16,56 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.8'
19
+ version: '3.10'
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: '3.8'
26
+ version: '3.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: simplecov
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.16'
33
+ version: '0.21'
34
34
  type: :development
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.16'
40
+ version: '0.21'
41
41
  - !ruby/object:Gem::Dependency
42
- name: coveralls
42
+ name: armitage-rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.8'
47
+ version: '1.8'
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: '0.8'
54
+ version: '1.8'
55
55
  - !ruby/object:Gem::Dependency
56
- name: armitage-rubocop
56
+ name: rbs
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: typeprof
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.12'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.12'
83
+ - !ruby/object:Gem::Dependency
84
+ name: steep
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '0.24'
89
+ version: '0.40'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '0.24'
96
+ version: '0.40'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: pry
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -135,13 +163,14 @@ files:
135
163
  - ".gitignore"
136
164
  - ".rspec"
137
165
  - ".rubocop.yml"
138
- - ".travis.yml"
139
166
  - ".yardopts"
140
167
  - CHANGELOG.md
141
168
  - Gemfile
169
+ - Gemfile.lock
142
170
  - LICENSE.txt
143
171
  - README.md
144
172
  - Rakefile
173
+ - Steepfile
145
174
  - bin/console
146
175
  - bin/setup
147
176
  - lib/symbiont.rb
@@ -150,6 +179,7 @@ files:
150
179
  - lib/symbiont/isolator.rb
151
180
  - lib/symbiont/private_trigger.rb
152
181
  - lib/symbiont/public_trigger.rb
182
+ - lib/symbiont/teleport.rb
153
183
  - lib/symbiont/trigger.rb
154
184
  - lib/symbiont/version.rb
155
185
  - logo/render_sample_1.JPG
@@ -186,12 +216,13 @@ files:
186
216
  - logo/symbiont_logo_hexagon_black.psd
187
217
  - logo/symbiont_logo_hexagon_black.svg
188
218
  - logo/symbiont_logo_hexagon_black.tif
219
+ - sig/.keep
189
220
  - symbiont-ruby.gemspec
190
221
  homepage: https://github.com/0exp/symbiont-ruby
191
222
  licenses:
192
223
  - MIT
193
224
  metadata: {}
194
- post_install_message:
225
+ post_install_message:
195
226
  rdoc_options: []
196
227
  require_paths:
197
228
  - lib
@@ -206,8 +237,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
237
  - !ruby/object:Gem::Version
207
238
  version: '0'
208
239
  requirements: []
209
- rubygems_version: 3.0.2
210
- signing_key:
240
+ rubygems_version: 3.1.2
241
+ signing_key:
211
242
  specification_version: 4
212
243
  summary: Evaluate proc-objects in many contexts simultaneously
213
244
  test_files: []
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.3.8
4
- - 2.4.5
5
- - 2.5.5
6
- - 2.6.2
7
- - ruby-head
8
- sudo: false
9
- before_install: gem install bundler
10
- cache: bundler
11
- script:
12
- - bundle exec rake yardoc
13
- - bundle exec rspec
14
- notifications:
15
- slack:
16
- secure: cACqAf+YIO1tYOtVf+6APagL8ug04Qm96nfNtEksSY9pmUu4g1Gy9PX4vO/E3CDEtog5OHVr1/iRUMIgNSIV0dGE4TOIL8ll9W2Foxbio/WsUoLQR5+YQdzCWhqaSfH0dhNXDYs8KwtHCyv1MpzFmfCSIZqZ9ajQMdxaCWaoqynult9xljWj8y8re2DLdUoGzWSKev6VL1CJcDC1RqKz42YfEuqPRg99VUKNFYvUotCAKfn5gqOC9g+zKNp9tfHSh9bicgjw9WPC3wL+gHb760eqH9jYPhWGPTz+XHrJlqKLN1oUOF3LLlqgtqmgjaUZq7LEbw9ARJgCYjSRB1Ywpa7VyavBuzByKV5dmcfmAwf2aLVkovzlTN+1qGR3T/qRFnAT6TPPdP7RkaEOvxhIQ/Cxsf4COp1Q0lsleitnOSMRtE6iwG2oYWjSI3PuGC4qkENH+91jyVYoLjE2c5CsQo/l181rt6T0p/uKc4Tze4UOBxryEThDfVsvOlmSrz40tvGrwHDYb4hsNzZBg3QdBjIlN3mxTvU1aZ+Hyj0ZxXDGZhJHP3zvXw0aU/vSN4hfs9FLpCUuTDA5R6vcHC2iQ479L/TWHhDG0t3jdy3vmVcT39zAj9Td2xaeJc90ZJGsLZch3tyY/wUVY4RCzdcD94075GX7EjD2S5+4dG5iSc4=