Sha256: 1c1af198026f5a4110793d0768bcddc1a4723bcad6a99bec505c85923cd9dc1b

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

module ActiveAdmin
  class Resource
    module Menu

      # Set the menu options. To not add this resource to the menu, just
      # call #menu(false)
      def menu(options = {})
        if options == false
          @display_menu = false
        else
          options = default_menu_options.merge(options)
          @parent_menu_item = options.delete(:parent)
          @menu_item = MenuItem.new(default_menu_options.merge(options))
        end
      end

      def menu_item
        @menu_item ||= MenuItem.new(default_menu_options)
      end

      def parent_menu_item_name
        return nil unless @parent_menu_item
        ActiveAdmin::Resource::Name.new(nil, @parent_menu_item)
      end

      # The default menu options to pass through to MenuItem.new
      def default_menu_options
        {
          :id => resource_name.plural,
          :label => proc{ plural_resource_label },
          :url => route_collection_path
        }
      end

      # Should this resource be added to the menu system?
      def include_in_menu?
        @display_menu != false
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activeadmin-0.5.0 lib/active_admin/resource/menu.rb
activeadmin-0.5.0.pre1 lib/active_admin/resource/menu.rb
activeadmin-0.5.0.pre lib/active_admin/resource/menu.rb