プロジェクト

全般

プロフィール

1255-2.patch

master (4cf82920)に対するパッチ - Yuto Tokunaga, 2018-06-02 02:11

差分を表示:

core/plugin/current_world/current_world.rb
1 1
# -*- coding: utf-8 -*-
2 2

  
3 3
Plugin.create(:current_world) do
4
  UserConfig[:last_world_slug] ||= nil
5
  UserConfig[:restore_last_world] ||= true
6

  
4 7
  # 現在選択されているアカウントに対応するModelを返すフィルタ。
5 8
  filter_world_current do |result|
6 9
    if result
......
16 19
      if self.current_world != new
17 20
        self.current_world = new
18 21
        Plugin.call(:primary_service_changed, current_world)
22
        UserConfig[:last_world_slug] = current_world.slug
19 23
      end
20 24
    rescue RuntimeError => err
21 25
      error err
......
43 47
    @current = new
44 48
  end
45 49

  
50
  def restore_last_world
51
    slug = UserConfig[:last_world_slug]
52
    return unless slug
53
    world = Enumerator.new { |y| Plugin.filtering :worlds, y }
54
                      .find { |w| w.slug == slug }
55
    Plugin.call(:world_change_current, world) if world
56
  end
57

  
58
  restore_last_world if UserConfig[:restore_last_world]
46 59
end