goru 0.4.1 → 0.5.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: ee1c8b3918ce9583f53e8d0e80c15b45ac402a33cd006b43cc022c90ddab02ae
4
- data.tar.gz: 8f951013098962c00aca0e20ba82a3b81b6d30ccb7d36abfae333f042b9bbd53
3
+ metadata.gz: 7b7c709b045dcdc937ae53e17ff61dcccd71acc7b20695ec9cffc21b93d7d047
4
+ data.tar.gz: d7c379610c3fd46d83e99095b5f09514d80be035180e83664de759b7caa3136a
5
5
  SHA512:
6
- metadata.gz: 339305691d3b38927b32c5cc51040a2cd48f179956bcfc6d04648631a6508d2d4147c63a3eef4a75cdd7517a37b255e654875c66f6da60b39a37b20a64fb2028
7
- data.tar.gz: 65fa5d90461938fac3c3857e431505ba855dabd555afb60993b6a52f4f1d3468db0d7747f433d53139fbc2b34ce600b3677aeb0c73ac79f08514732454a7c599
6
+ metadata.gz: c8e610c31609f8f048d4273d404cf1d980fe6f9ec97dca185f1e8c67263e2c8e5c3f012e9f88dca28d663bd35c988c6a1a8c6a3c6295b61644a2e9b75ad8edea
7
+ data.tar.gz: dc8953dfb1be234eefd850f86d031896c2e2a3b6808af8ab05c1ee3785ea759052158ac130e368528746bd694ba70230d8c2db0902d2fbe9c629ad77d24923b0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [v0.5.0](https://github.com/bryanp/goru/releases/tag/v0.5.0)
2
+
3
+ *released on 2023-12-24*
4
+
5
+ * `chg` [#26](https://github.com/bryanp/goru/pull/26) Bump core dependencies ([bryanp](https://github.com/bryanp))
6
+
7
+ ## [v0.4.2](https://github.com/bryanp/goru/releases/tag/v0.4.2)
8
+
9
+ *released on 2023-09-17*
10
+
11
+ * `fix` [#24](https://github.com/bryanp/goru/pull/24) Close the io object when the routine is finished ([bryanp](https://github.com/bryanp))
12
+ * `fix` [#25](https://github.com/bryanp/goru/pull/25) Handle IOError in the scheduler and reactor ([bryanp](https://github.com/bryanp))
13
+
1
14
  ## [v0.4.1](https://github.com/bryanp/goru/releases/tag/v0.4.1)
2
15
 
3
16
  *released on 2023-07-29*
data/lib/goru/channel.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "./reactor"
3
+ require_relative "reactor"
4
4
 
5
5
  module Goru
6
6
  class Channel
data/lib/goru/reactor.rb CHANGED
@@ -108,6 +108,7 @@ module Goru
108
108
  end
109
109
 
110
110
  @timers.fire
111
+ rescue IOError
111
112
  end
112
113
 
113
114
  private def wait(timeout: nil)
data/lib/goru/routine.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "is/handler"
3
+ require "core/handler"
4
4
 
5
5
  module Goru
6
6
  # [public]
7
7
  #
8
8
  class Routine
9
- include Is::Handler
9
+ include Core::Handler
10
10
 
11
11
  handle(StandardError) do |event:|
12
12
  if @debug
@@ -161,6 +161,13 @@ module Goru
161
161
  @reactor.wakeup
162
162
  end
163
163
 
164
+ # [public]
165
+ #
166
+ def finished(...)
167
+ @io.close
168
+ super
169
+ end
170
+
164
171
  private def status_changed
165
172
  case @status
166
173
  when Routine::STATUS_FINISHED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "etc"
4
4
  require "nio"
5
- require "is/global"
5
+ require "core/global"
6
6
 
7
7
  require_relative "channel"
8
8
  require_relative "reactor"
@@ -16,7 +16,7 @@ module Goru
16
16
  # [public]
17
17
  #
18
18
  class Scheduler
19
- include Is::Global
19
+ include Core::Global
20
20
 
21
21
  class << self
22
22
  # Prevent issues when including `Goru` at the toplevel.
@@ -50,6 +50,7 @@ module Goru
50
50
  Thread.new {
51
51
  Thread.handle_interrupt(Interrupt => :never) do
52
52
  reactor.run
53
+ rescue IOError
53
54
  end
54
55
  }
55
56
  }
data/lib/goru/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Goru
4
- VERSION = "0.4.1"
4
+ VERSION = "0.5.0"
5
5
 
6
6
  # [public]
7
7
  #
data/lib/goru.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "is/extension"
3
+ require "core/extension"
4
4
 
5
5
  module Goru
6
6
  require_relative "goru/scheduler"
7
7
  require_relative "goru/version"
8
8
 
9
- extend Is::Extension
9
+ extend Core::Extension
10
10
 
11
11
  def go(state = nil, io: nil, channel: nil, intent: nil, &block)
12
12
  Scheduler.go(state, io: io, channel: channel, intent: intent, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goru
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-29 00:00:00.000000000 Z
11
+ date: 2023-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: core-extension
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.4'
19
+ version: '0.5'
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.4'
26
+ version: '0.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: core-handler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.1'
33
+ version: '0.2'
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'
40
+ version: '0.2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: core-global
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.2'
47
+ version: '0.3'
48
48
  type: :runtime
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.2'
54
+ version: '0.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: nio4r
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubygems_version: 3.4.17
124
+ rubygems_version: 3.5.1
125
125
  signing_key:
126
126
  specification_version: 4
127
127
  summary: Concurrent routines for Ruby.