Sha256: 5c259b1289a1344ee0381339ebbd06cf8257225c603e74381ec84922bea8e0da

Contents?: true

Size: 1.3 KB

Versions: 3

Compression:

Stored size: 1.3 KB

Contents

module Effective
  module ActiveAdminHelpers
    module Orders
      extend ActiveSupport::Concern

      included do
        include ::ActiveAdmin::BaseController::Menu
        include ::ActiveAdmin::BaseController::Authorization

        helper ::ActiveAdmin::ViewHelpers
        helper_method :active_admin_config, :active_admin_namespace, :current_active_admin_user
        helper_method :resource, :resource_path
      end

      module ClassMethods
      end

      def resource
        instance_variable_get(@order)
      end

      def resource_path(resource)
        effective_orders.order_path(resource)
      end

      def active_admin_namespace
        ::ActiveAdmin.application.namespaces[EffectiveOrders.active_admin_namespace || :root]
      end

      def active_admin_config
        active_admin_namespace.resources[active_admin_resource_key]
      end

      def active_admin_resource_key
        @active_admin_resource_key ||= begin
          namespace = ::ActiveAdmin.application.namespaces[EffectiveOrders.active_admin_namespace || :root]
          namespace.resources.keys.find { |resource| resource.element == 'orders' }
        end
      end

      def current_active_admin_user
        send(active_admin_namespace.current_user_method) if active_admin_namespace.current_user_method
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
effective_orders-1.4.8 app/controllers/effective/active_admin_helpers/orders.rb
effective_orders-1.4.7 app/controllers/effective/active_admin_helpers/orders.rb
effective_orders-1.4.6 app/controllers/effective/active_admin_helpers/orders.rb