Sha256: af92d6297783f161ec63ec2e6fd396609432b89aea0716d6f4ee439a398791c5

Contents?: true

Size: 1.88 KB

Versions: 54

Compression:

Stored size: 1.88 KB

Contents

# frozen_string_literal: true

module EacRailsBase0
  module LayoutHelper
    APP_TITLE_METHOD = 'app_title'
    APP_MAIN_MENU_ENTRIES_METHOD = 'app_main_menu_entries'

    def base0_app_title
      if respond_to?(APP_TITLE_METHOD)
        send(APP_TITLE_METHOD)
      else
        "Implement the helper method \"#{APP_TITLE_METHOD}\""
      end
    end

    def base0_app_main_menu_entries
      if respond_to?(APP_MAIN_MENU_ENTRIES_METHOD)
        send(APP_MAIN_MENU_ENTRIES_METHOD, base0_app_main_menu_default_entries)
      else
        base0_app_main_menu_default_entries
      end
    end

    def base0_app_main_menu_default_entries
      {
        'AdministraĆ§Ć£o' => base0_app_main_menu_admin_entries
      }
    end

    def base0_app_main_menu_admin_entries
      h = {}
      base0_app_main_menu_admin_gems.each do |gem_module|
        identifier = gem_module.name.underscore
        h[::I18n.t("eac_rails_base0.main_menu.admin.#{identifier}")] =
          send("#{identifier}_main_menu_admin_entries")
      end
      h
    end

    def base0_app_main_menu_admin_gems
      [::EacUsersSupport, ::TasksScheduler, ::Aranha, ::BrRailties]
    end

    def eac_users_support_main_menu_admin_entries
      {
        ::EacUsersSupport::User.model_name.human(count: 2) => [eac_users_support.admin_users_path]
      }
    end

    def tasks_scheduler_main_menu_admin_entries
      {
        t('activerecord.models.scheduled_task.other') => [main_app.status_scheduled_tasks_path]
      }
    end

    def aranha_main_menu_admin_entries
      {
        ::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path]
      }
    end

    def br_railties_main_menu_admin_entries
      {
        ::BrRailties::FederalUnit.model_name.human(count: 2) => [br_railties.federal_units_path],
        ::BrRailties::Municipality.model_name.human(count: 2) => [br_railties.municipalities_path]
      }
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
eac_rails_base0-0.45.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.44.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.43.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.42.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.41.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.40.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.40.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.39.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.39.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.38.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.38.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.37.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.37.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.36.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.36.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.35.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.34.1 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.34.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.33.0 app/helpers/eac_rails_base0/layout_helper.rb
eac_rails_base0-0.32.0 app/helpers/eac_rails_base0/layout_helper.rb