class SidebarRegistry

Public Class Methods

available_sidebar_types() click to toggle source
# File lib/sidebar_registry.rb, line 13
def available_sidebar_types
  registered_sidebars.sort
end
available_sidebars() click to toggle source
# File lib/sidebar_registry.rb, line 9
def available_sidebars
  registered_sidebars.sort.map(&:constantize)
end
register_sidebar(klass_name) click to toggle source
# File lib/sidebar_registry.rb, line 5
def register_sidebar(klass_name)
  registered_sidebars << klass_name.to_s
end
register_sidebar_directory(plugins_root, paths) click to toggle source
# File lib/sidebar_registry.rb, line 17
def register_sidebar_directory(plugins_root, paths)
  separator = plugins_root.include?("/") ? "/" : '\\'

  Dir.glob(File.join(plugins_root, "*_sidebar")).select do |file|
    plugin_name = file.split(separator).last
    register_sidebar plugin_name.classify
    # TODO: Move Sidebars to app/models, and views to app/views so this can
    # be simplified.
    paths << File.join(plugins_root, plugin_name, "lib")
  end
end

Private Class Methods

registered_sidebars() click to toggle source
# File lib/sidebar_registry.rb, line 31
def registered_sidebars
  @registered_sidebars ||= Set.new
end