lib/enju_leaf/helper.rb in enju_leaf-1.1.0.rc20 vs lib/enju_leaf/helper.rb in enju_leaf-1.1.0.rc21
- old
+ new
@@ -1,18 +1,20 @@
module EnjuLeaf
module EnjuLeafHelper
+ # 使用中のデータベースのアダプタ名を表示します。
def database_adapter
case ActiveRecord::Base.connection.adapter_name
when 'PostgreSQL'
link_to 'PostgreSQL', 'http://www.postgresql.org/'
when 'MySQL'
link_to 'MySQL', 'http://www.mysql.org/'
when 'SQLite'
link_to 'SQLite', 'http://www.sqlite.org/'
end
end
-
+
+ # HTMLのtitleに表示されるアクション名を設定します。
def title_action_name
case controller.action_name
when 'index'
t('title.index')
when 'show'
@@ -37,11 +39,13 @@
end
def move_position(object)
render partial: 'page/position', locals: {object: object}
end
-
+
+ # I18nに対応した状態名を表示します。
+ # @param [String] state 状態名
def localized_state(state)
case state
when 'pending'
t('state.pending')
when 'canceled'
@@ -55,24 +59,28 @@
else
state
end
end
+ # I18nに対応した状態名を表示します。
+ # @param [Boolean] bool 状態名
def localized_boolean(bool)
case bool.to_s
when nil
when "true"
t('page.boolean.true')
when "false"
t('page.boolean.false')
end
end
-
+
+ # ログイン中のユーザの権限名を表示します。
def current_user_role_name
current_user.try(:role).try(:name) || 'Guest'
end
+ # HTMLのtitleを表示します。
def title(controller_name)
string = ''
unless ['page', 'routing_error', 'my_accounts'].include?(controller_name)
string << t("activerecord.models.#{controller_name.singularize}") + ' - '
end
@@ -80,27 +88,32 @@
string << t("page.routing_error") + ' - '
end
string << LibraryGroup.system_name + ' - Next-L Enju Leaf'
string.html_safe
end
-
+
+ # 前の画面に戻るリンクを表示します。
+ # @param [Hash] options
def back_to_index(options = {})
if options == nil
options = {}
else
options.reject!{|key, value| value.blank?}
options.delete(:page) if options[:page].to_i == 1
end
unless controller_name == 'test'
- link_to t('page.listing', model: t("activerecord.models.#{controller_name.singularize}")), url_for(params.merge(controller: controller_name, action: :index, id: nil, only_path: true).merge(options))
+ link_to t('page.listing', model: t("activerecord.models.#{controller_name.singularize}")), url_for(params.merge(controller: controller_name, action: :index, page: nil, id: nil, only_path: true).merge(options))
end
end
-
+
+ # 検索フォームにフォーカスを移動するJavaScriptを表示します。
def set_focus_on_search_form
javascript_tag("$(function(){$('#search_form').focus()})") if @query.blank?
end
-
+
+ # Markdownの文字列をパースして表示します。
+ # @param [String] string Markdownの文字列
def markdown_helper(string)
return unless string
if defined?(Redcarpet)
markdown = Redcarpet::Markdown.new(
Redcarpet::Render::HTML,
@@ -110,9 +123,11 @@
else
Kramdown::Document.new(string.to_s).to_html.html_safe
end
end
+ # ユーザの未読メッセージ数を表示します。
+ # @param [User] user ユーザ
def messages_count(user)
Message.search do
with(:receiver_id).equal_to user.id
with(:is_read).equal_to false
end.hits.total_entries