Sha256: 7ce035be708c7ee435601570d1ab42bf06b636f643c22a26e2ad4f1ad2eef2fa
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
# frozen_string_literal: true require "active_support" require "active_support/core_ext" require_relative "menu_tree/version" require_relative "menu_tree/logging" require_relative "menu_tree/config" require_relative "menu_tree/dsl" module ActiveAdmin # ActiveAdmin::MenuTree class module MenuTree class Error < StandardError; end class << self include ActiveAdmin::MenuTree::Logging def setup raise ActiveAdmin::MenuTree::Error, "No block given, require a block" unless block_given? yield(config) ActiveAdmin.before_load do |aa_config| ActiveAdmin::DSL.prepend ActiveAdmin::MenuTree::DSL setup_menu_options(aa_config) end end def config @config ||= Config.new end private def setup_menu_options(aa_config) comments_menu = config.find_menu_option(id: "Comment") aa_config.comments_menu = comments_menu if comments_menu.present? menu_options = config.menu_options .reject{ |item| item[:id] == "Comment" } ActiveAdmin::MenuTree.log_debug("menu_options: #{menu_options.inspect}") aa_config.namespace :admin do |admin| admin.build_menu do |menu| menu_options.each do |option| menu.add(**option.dup) end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
activeadmin-menu_tree-0.3.0 | lib/activeadmin/menu_tree.rb |
activeadmin-menu_tree-0.2.3 | lib/activeadmin/menu_tree.rb |