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