Skip to content

Commit 330c6a7

Browse files
committed
Modernize code + RuboCop.
1 parent 30fd480 commit 330c6a7

File tree

24 files changed

+82
-70
lines changed

24 files changed

+82
-70
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/.bundle
2+
/.context
23
/pkg
34
/gems.locked
45
/.covered.db

.rubocop.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1+
plugins:
2+
- rubocop-socketry
3+
14
AllCops:
25
DisabledByDefault: true
36

7+
Layout/ConsistentBlankLineIndentation:
8+
Enabled: true
9+
410
Layout/IndentationStyle:
511
Enabled: true
612
EnforcedStyle: tabs

async.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
77
spec.version = Async::VERSION
88

99
spec.summary = "A concurrency framework for Ruby."
10-
spec.authors = ["Samuel Williams", "Bruno Sutic", "Jeremy Jung", "Olle Jonsson", "Patrik Wenger", "Devin Christensen", "Shopify Inc.", "Emil Tin", "Jamie McCarthy", "Kent Gruber", "Alan Wu", "Brian Morearty", "Colin Kelley", "Dimitar Peychinov", "Gert Goet", "Jahfer Husain", "Jiang Jinyang", "Julien Portalier", "Jun Jiang", "Ken Muryoi", "Leon Löchner", "Mark Montroy", "Masafumi Okura", "Masayuki Yamamoto", "Math Ieu", "Ryan Musgrave", "Salim Semaoune", "Shannon Skipper", "Shigeru Nakajima", "Sokolov Yura", "Stefan Wrobel", "Trevor Turk"]
10+
spec.authors = ["Samuel Williams", "Shopify Inc.", "Bruno Sutic", "Jeremy Jung", "Olle Jonsson", "Patrik Wenger", "Devin Christensen", "Emil Tin", "Jamie McCarthy", "Kent Gruber", "Alan Wu", "Brian Morearty", "Colin Kelley", "Dimitar Peychinov", "Gert Goet", "Jahfer Husain", "Jiang Jinyang", "Julien Portalier", "Jun Jiang", "Ken Muryoi", "Leon Löchner", "Mark Montroy", "Masafumi Okura", "Masayuki Yamamoto", "Math Ieu", "Ryan Musgrave", "Salim Semaoune", "Shannon Skipper", "Shigeru Nakajima", "Sokolov Yura", "Stefan Wrobel", "Trevor Turk"]
1111
spec.license = "MIT"
1212

1313
spec.cert_chain = ["release.cert"]

benchmark/rubies/benchmark.rb

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# frozen_string_literal: true
33

44
# Released under the MIT License.
5-
# Copyright, 2019-2024, by Samuel Williams.
5+
# Copyright, 2019-2025, by Samuel Williams.
66

77
require "socket"
88
require "fiber"
@@ -33,27 +33,27 @@ def initialize
3333
@readable = {}
3434
@writable = {}
3535
end
36-
36+
3737
def run
3838
while @readable.any? or @writable.any?
3939
readable, writable = IO.select(@readable.keys, @writable.keys, [])
40-
40+
4141
readable.each do |io|
4242
@readable[io].resume
4343
end
44-
44+
4545
writable.each do |io|
4646
@writable[io].resume
4747
end
4848
end
4949
end
50-
50+
5151
def wait_readable(io)
5252
@readable[io] = Fiber.current
5353
Fiber.yield
5454
@readable.delete(io)
5555
end
56-
56+
5757
def wait_writable(io)
5858
@writable[io] = Fiber.current
5959
Fiber.yield
@@ -79,7 +79,7 @@ def read_nonblock(length, buffer)
7979
return result
8080
end
8181
end
82-
82+
8383
end
8484

8585
def write_nonblock(buffer)
@@ -173,7 +173,7 @@ def write(buffer)
173173
r, w = IO.pipe
174174
worker_read.push Wrapper.new(r, reactor)
175175
master_write.push Wrapper.new(w, reactor)
176-
176+
177177
r, w = IO.pipe
178178
worker_write.push Wrapper.new(w, reactor)
179179
master_read.push Wrapper.new(r, reactor)

examples/capture/capture.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def strace(pid, duration = 60)
109109
if total = summary[:total]
110110
process_duration = end_times.utime - start_times.utime
111111
wait_duration = summary[:total][:seconds]
112-
112+
113113
Console.info("Process Waiting: #{wait_duration.round(4)}s out of #{process_duration.round(4)}s") do |buffer|
114114
buffer.puts "Wait percentage: #{(wait_duration / process_duration * 100.0).round(2)}%"
115115
end

examples/dining-philosophers/philosophers.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ def initialize(name, left_fork, right_fork)
1313
@left_fork = left_fork
1414
@right_fork = right_fork
1515
end
16-
16+
1717
def think
1818
puts "#{@name} is thinking."
1919
sleep(rand(1..3))
2020
puts "#{@name} has finished thinking."
2121
end
22-
22+
2323
def eat
2424
puts "#{@name} is eating."
2525
sleep(rand(1..3))
2626
puts "#{@name} has finished eating."
2727
end
28-
28+
2929
def dine
3030
Sync do |task|
3131
think

examples/load/test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
scheduler = Fiber.scheduler
2525
while true
2626
load = scheduler.load
27-
27+
2828
$stdout.write "\nLoad: #{load} "
2929
sleep 1.0
3030
end

fixtures/async/a_queue.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ module Async
7777

7878
it "can enqueue multiple items" do
7979
items = Array.new(10) {rand(10)}
80-
80+
8181
reactor.async do |task|
8282
queue.enqueue(*items)
8383
end
84-
84+
8585
items.each do |item|
8686
expect(queue.dequeue).to be == item
8787
end
@@ -130,15 +130,15 @@ module Async
130130
expect(queue.wait).to be == :item
131131
end
132132
end
133-
133+
134134
with "#close" do
135135
it "signals waiting tasks when closed" do
136136
waiting_task = reactor.async do
137137
queue.dequeue
138138
end
139-
139+
140140
queue.close
141-
141+
142142
waiting_task.wait
143143
expect(waiting_task).to be(:finished?)
144144
end
@@ -188,37 +188,37 @@ module Async
188188
expect(count).to be == repeats
189189
end
190190
end
191-
191+
192192
with "a closed queue" do
193193
before do
194194
queue.close
195195
end
196-
196+
197197
it "prevents push after close" do
198198
expect{queue.push(:item)}.to raise_exception(Async::Queue::ClosedError)
199199
end
200-
200+
201201
it "prevents enqueue after close" do
202202
expect{queue.enqueue(:item)}.to raise_exception(Async::Queue::ClosedError)
203203
end
204-
204+
205205
it "prevents << after close" do
206206
expect{queue << :item}.to raise_exception(Async::Queue::ClosedError)
207207
end
208-
208+
209209
it "returns nil from dequeue when closed and empty" do
210210
expect(queue.dequeue).to be_nil
211211
end
212-
212+
213213
it "returns nil from pop when closed and empty" do
214214
expect(queue.pop).to be_nil
215215
end
216-
216+
217217
it "signals waiting tasks when closed" do
218218
waiting_task = reactor.async do
219219
queue.dequeue
220220
end
221-
221+
222222
# Already closed, so just check if the task finishes:
223223
waiting_task.wait
224224
expect(waiting_task).to be(:finished?)

gems.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@
3030
gem "sus", "~> 0.31"
3131
gem "covered"
3232
gem "decode"
33+
3334
gem "rubocop"
35+
gem "rubocop-socketry"
3436

3537
gem "sus-fixtures-async"
3638
gem "sus-fixtures-console"

lib/async/condition.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

33
# Released under the MIT License.
4-
# Copyright, 2017-2024, by Samuel Williams.
4+
# Copyright, 2017-2025, by Samuel Williams.
55
# Copyright, 2017, by Kent Gruber.
66

77
require "fiber"

0 commit comments

Comments
 (0)