diff options
author | Toshiaki Asai <toshi.alternative@gmail.com> | 2015-09-11 22:24:33 +0900 |
---|---|---|
committer | Toshiaki Asai <toshi.alternative@gmail.com> | 2015-09-11 22:24:33 +0900 |
commit | a8bc06d5bd5d01e1d93c6504997af24108c4ca14 (patch) | |
tree | 4fe042e96276d7badfdb2927aaf98d1a83b4a1c7 /core/plugin.rb | |
parent | 103227960808a7ca2a6562c8297c8949502708ff (diff) | |
download | mikutter-a8bc06d5bd5d01e1d93c6504997af24108c4ca14.tar.gz |
activityが提供するプラグインDSLメソッド activity をPluginのメソッドに昇格 refs #765
Diffstat (limited to 'core/plugin.rb')
-rw-r--r-- | core/plugin.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/core/plugin.rb b/core/plugin.rb index 4d0196c7..fcb561e3 100644 --- a/core/plugin.rb +++ b/core/plugin.rb @@ -13,6 +13,14 @@ class Plugin < Pluggaloid::Plugin include ConfigLoader class << self + # ユーザに向けて通知を発生させる。 + # 通知は、activityプラグインなど、通知の表示に対応するプラグインが + # 入っていればユーザがそれを確認することができるが、そのようなプラグインがない場合は + # 通知は単に無視される。 + # プラグインから通知を発生させたい場合は、 Plugin.Activity のかわりに + # Plugin#activity を使えば、通知を発生させたプラグインを特定できるようになる + # + # 引数は、 Plugin#activityを参照 def activity(kind, title, args = {}) Plugin.call(:modify_activity, { plugin: nil, @@ -22,6 +30,27 @@ class Plugin < Pluggaloid::Plugin description: title }.merge(args)) end end + # ユーザに向けて通知を発生させる。 + # 通知は、activityプラグインなど、通知の表示に対応するプラグインが + # 入っていればユーザがそれを確認することができるが、そのようなプラグインがない場合は + # 通知は単に無視される。 + # ==== Args + # [kind] Symbol 通知の種類 + # [title] String 通知のタイトル + # [args] Hash その他オプション。主に以下の値 + # icon :: String|Gdk::Pixbuf アイコン + # date :: Time イベントの発生した時刻 + # service :: Service 関係するServiceオブジェクト + # related :: 自分に関係するかどうかのフラグ + def activity(kind, title, args) + Plugin.call(:modify_activity, + { plugin: self, + kind: kind, + title: title, + date: Time.new, + description: title }.merge(args)) + end + # プラグインストレージの _key_ の値を取り出す # ==== Args # [key] 取得するキー |