From 0b09d08400899d85c35329084bca4beaaa39bb27 Mon Sep 17 00:00:00 2001 From: Toshiaki Asai Date: Fri, 22 Dec 2017 06:44:07 +0900 Subject: service_registeredのような互換イベントを使わない MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代わりにworld_create, world_destroyイベントを使う --- core/plugin/achievement/achievement.rb | 2 +- core/plugin/gtk/mikutter_window.rb | 4 ++-- core/plugin/list/list.rb | 10 ++++++---- core/plugin/rest/rest.rb | 5 +++-- core/plugin/streaming/streaming.rb | 10 +++++----- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/core/plugin/achievement/achievement.rb b/core/plugin/achievement/achievement.rb index d5886f4f..94074707 100644 --- a/core/plugin/achievement/achievement.rb +++ b/core/plugin/achievement/achievement.rb @@ -105,7 +105,7 @@ Plugin.create :achievement do description: _("Twitterアカウントをmikutterに登録しました。これでTwitterが捗る"), hidden: true ) do |ach| - on_service_registered do |_| ach.take! end + on_world_create do |_| ach.take! end end defachievement(:open_setting, diff --git a/core/plugin/gtk/mikutter_window.rb b/core/plugin/gtk/mikutter_window.rb index 60e9a54a..f6f47593 100644 --- a/core/plugin/gtk/mikutter_window.rb +++ b/core/plugin/gtk/mikutter_window.rb @@ -28,9 +28,9 @@ class Gtk::MikutterWindow < Gtk::Window refresh end end - Plugin[:gtk].on_service_registered do |service| + Plugin[:gtk].on_world_create do |new_world| refresh end - Plugin[:gtk].on_service_destroyed do |service| + Plugin[:gtk].on_world_destroy do |deleted_world| refresh end end diff --git a/core/plugin/list/list.rb b/core/plugin/list/list.rb index 8e98624f..ad70e346 100644 --- a/core/plugin/list/list.rb +++ b/core/plugin/list/list.rb @@ -44,10 +44,12 @@ Plugin.create :list do fetch_and_modify_for_using_lists(world) if world.class.slug == :twitter end - on_service_destroyed do |twitter| - twitter.lists(cache: true, user: twitter.user_obj).next{ |lists| - Plugin.call(:list_destroy, twitter, lists) if lists - }.terminate + on_world_destroy do |deleted_world| + if deleted_world.class.slug == :twitter + deleted_world.lists(cache: true, user: deleted_world.user_obj).next{ |lists| + Plugin.call(:list_destroy, deleted_world, lists) if lists + }.terminate + end end # FILTER stream で、タイムラインを表示しているユーザをフォロー diff --git a/core/plugin/rest/rest.rb b/core/plugin/rest/rest.rb index ea1333de..ae2b023d 100644 --- a/core/plugin/rest/rest.rb +++ b/core/plugin/rest/rest.rb @@ -24,10 +24,11 @@ Plugin.create :rest do def start if Service.instances.empty? - @account_observer ||= on_service_registered do |s| + @account_observer ||= on_world_create do |_new_world| start @account_observer.detach - @account_observer = nil end + @account_observer = nil + end else Service.instances.each do |service| @crawlers.each{ |s| s.call(service) } diff --git a/core/plugin/streaming/streaming.rb b/core/plugin/streaming/streaming.rb index 942b1a55..0f840239 100644 --- a/core/plugin/streaming/streaming.rb +++ b/core/plugin/streaming/streaming.rb @@ -29,12 +29,12 @@ Plugin.create :streaming do end end - on_service_registered do |service| - if UserConfig[:realtime_rewind] && service.class.slug == :twitter - streamers[service.slug] ||= Plugin::Streaming::PermaStreamer.new(service) end end + on_world_create do |new_world| + if UserConfig[:realtime_rewind] && new_world.class.slug == :twitter + streamers[new_world.slug] ||= Plugin::Streaming::PermaStreamer.new(new_world) end end - on_service_destroyed do |service| - streamers[service.slug] and streamers[service.slug].kill end + on_world_destroy do |deleted_world| + streamers[deleted_world.slug] and streamers[deleted_world.slug].kill end onunload do streamers.values.each(&:kill) -- cgit v1.2.3