aboutsummaryrefslogtreecommitdiffstats
path: root/core/plugin.rb
diff options
context:
space:
mode:
authorToshiaki Asai <toshi.alternative@gmail.com>2015-09-11 22:24:33 +0900
committerToshiaki Asai <toshi.alternative@gmail.com>2015-09-11 22:24:33 +0900
commita8bc06d5bd5d01e1d93c6504997af24108c4ca14 (patch)
tree4fe042e96276d7badfdb2927aaf98d1a83b4a1c7 /core/plugin.rb
parent103227960808a7ca2a6562c8297c8949502708ff (diff)
downloadmikutter-a8bc06d5bd5d01e1d93c6504997af24108c4ca14.tar.gz
activityが提供するプラグインDSLメソッド activity をPluginのメソッドに昇格 refs #765
Diffstat (limited to 'core/plugin.rb')
-rw-r--r--core/plugin.rb29
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] 取得するキー