バグ #1202 » switch_account_to.diff
| core/plugin/change_account/change_account.rb | ||
|---|---|---|
| 
           slug = "switch_account_to_#{world.slug}".to_sym 
   | 
||
| 
           menu[slug] = { 
   | 
||
| 
             slug: slug, 
   | 
||
| 
             exec: -> options {}, 
   | 
||
| 
             exec: -> options { switch_account_to(slug) }, 
   | 
||
| 
             plugin: @name, 
   | 
||
| 
             name: _('%{title}(%{world}) に切り替える'.freeze) % { 
   | 
||
| 
               title: world.title, 
   | 
||
| 
               world: world.class.slug 
   | 
||
| 
             }, 
   | 
||
| 
             condition: -> options {}, 
   | 
||
| 
             condition: -> options { true }, 
   | 
||
| 
             visible: false, 
   | 
||
| 
             role: :window, 
   | 
||
| 
             icon: world.icon } end 
   | 
||
| ... | ... | |
| 
         } 
   | 
||
| 
       end 
   | 
||
| 
       def switch_account_to(slug) 
   | 
||
| 
         slug_str = slug.to_s.gsub(/^switch_account_to_/, '') 
   | 
||
| 
         worlds = Enumerator.new{|y| Plugin.filtering(:worlds, y) }.to_a 
   | 
||
| 
         worlds.each_with_index do |world, i| 
   | 
||
| 
           if world[:slug].to_s == slug_str 
   | 
||
| 
             Plugin.call(:world_change_current, worlds[i]) 
   | 
||
| 
             break 
   | 
||
| 
           end 
   | 
||
| 
         end 
   | 
||
| 
       end 
   | 
||
| 
       def delete_world_with_confirm(worlds) 
   | 
||
| 
         dialog(_("アカウントの削除")){ 
   | 
||
| 
           label _("以下のアカウントを本当に削除しますか?\n一度削除するともう戻ってこないよ") 
   | 
||