Sha256: c612e5820c95d138456f366a895eadfec9c10de262d04b3f9c70afd3576b2f0e

Contents?: true

Size: 1.76 KB

Versions: 7

Compression:

Stored size: 1.76 KB

Contents

module CmAdmin
  module ViewHelpers
    module PageInfoHelper
      def page_title
        @action.title || @model.title || "#{@model.ar_model.name} | #{@action.name&.titleize} | Admin"
      end

      def action_title
        show_action = CmAdmin::Models::Action.find_by(@model, name: 'show')
        title = @model.current_action.page_title || show_action.page_title
        if title
          title = (title.class == Symbol) ? @ar_object.send(title) : title
        else
          title = "#{@model.name}"
          case action_name
          when 'index'
            title + " list record"
          when 'show'
            title + " detail"
          when 'new'
            title + " create record"
          when 'edit'
            title + " edit record"
          end
        end
      end

      def action_description
        show_action = CmAdmin::Models::Action.find_by(@model, name: 'show')
        if @model.current_action.page_description
          title = @model.current_action.page_description
        elsif show_action.page_description
          title = show_action.page_description
        else
          title = "#{@model.name}"
          case action_name
          when 'index'
            title + " list record"
          when 'show'
            title + " detail"
          when 'new'
            title + " new record"
          when 'edit'
            title + " edit record"
          end
        end
      end

      def page_url(action_name=@action.name, ar_object=nil)
        base_path = CmAdmin::Engine.mount_path + '/' + @model.name.downcase.pluralize
        case action_name
        when 'index'
          base_path
        when 'new'
          base_path + '/new'
        when 'edit'
          base_path + "/#{ar_object.id}" + '/edit'
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cm-admin-0.5.7 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.6 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.5 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.4 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.3 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.2 lib/cm_admin/view_helpers/page_info_helper.rb
cm-admin-0.5.0 lib/cm_admin/view_helpers/page_info_helper.rb