プラグイン紹介 redmine_absolute_dates

使っているプラグインを紹介します。redmine_absolute_dates です。

チケットを表示しているとき作成日や更新日が
「3ヶ月前に追加. 10日前に更新.」
のように相対時間形式で表示されます。
マウスカーソルを「3ヶ月前」のところにしばらく置いておくと
「2012/09/20 16:54」
と絶対時間形式でポップアップ表示されますがいちいち面倒なのでデフォルトで
「2012/09/20に追加. 2012/11/27に更新. 」
と絶対時間形式で表示してくれるプラグインです。

このプラグインはポップアップで表示する形式も変わらず絶対時間形式ですが
「3ヶ月 ago (2012/09/20 16:54)」
のように相対時間形式+絶対時間(時刻込み)を表示するように手を入れました。
それと日本語メッセージで時間の前後にスペースがなくつまり気味に感じたので空白を入れました。

以下がそのパッチです。

--- ./config/locales/ja.yml.org
+++ ./config/locales/ja.yml
@@ -1,4 +1,4 @@
 ja:
-  label_added_absolute_time_by: "%{author} が%{age}に追加"
-  label_updated_time: "%{value}に更新"
-  label_updated_time_by: "%{author} が%{age}に更新"
+  label_added_absolute_time_by: "%{author} が %{age} に追加"
+  label_updated_time: "%{value} に更新"
+  label_updated_time_by: "%{author} が %{age} に更新"
--- lib/absolute_date_helper_patch.rb.org
+++ lib/absolute_date_helper_patch.rb
@@ -17,5 +17,5 @@
     def time_tag_with_absolute_date(time)
       text = format_date(time)
-      tip_text = format_time(time)
+      tip_text = distance_of_time_in_words(Time.now, time) + ' ago (' + format_time(time) + ')'
       if @project
         link_to(text, {:controller => 'activities', :action => 'index', :id => @project, :from => time.to_date}, :title => tip_text).html_safe