Skip to content

Commit 911bb7b

Browse files
mrknYuki-Inoue
andcommitted
Add initialized event
Co-authored-by: Yuki INOUE <inoueyuworks@gmail.com>
1 parent 095acbd commit 911bb7b

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

lib/iruby/kernel.rb

+6-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ class Kernel
55
RED = "\e[31m"
66
RESET = "\e[0m"
77

8-
class<< self
8+
@events = EventManager.new([:initialized])
9+
10+
class << self
11+
attr_reader :events
912
attr_accessor :instance
1013
end
1114

@@ -33,6 +36,8 @@ def initialize(config_file, session_adapter_name=nil)
3336
@execution_count = 0
3437
@backend = create_backend
3538
@running = true
39+
40+
self.class.events.trigger(:initialized, self)
3641
end
3742

3843
attr_reader :events

test/iruby/kernel_test.rb

+19
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,25 @@ def setup
88
@kernel = IRuby::Kernel.instance
99
end
1010

11+
sub_test_case("iruby_initialized event") do
12+
def setup
13+
super
14+
@initialized_kernel = nil
15+
@callback = IRuby::Kernel.events.register(:initialized) do |kernel|
16+
@initialized_kernel = kernel
17+
end
18+
end
19+
20+
def teardown
21+
IRuby::Kernel.events.unregister(:initialized, @callback)
22+
end
23+
24+
def test_iruby_initialized_event
25+
with_session_adapter("test")
26+
assert_same(IRuby::Kernel.instance, @initialized_kernel)
27+
end
28+
end
29+
1130
def test_execute_request
1231
obj = Object.new
1332

0 commit comments

Comments
 (0)