Class: SidebarRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/sidebar_registry.rb

Class Method Summary collapse

Class Method Details

.available_sidebar_typesObject



11
12
13
# File 'lib/sidebar_registry.rb', line 11

def available_sidebar_types
  registered_sidebars.sort
end

.available_sidebarsObject



7
8
9
# File 'lib/sidebar_registry.rb', line 7

def available_sidebars
  registered_sidebars.sort.map(&:constantize)
end

.register_sidebar(klass_name) ⇒ Object



3
4
5
# File 'lib/sidebar_registry.rb', line 3

def register_sidebar(klass_name)
  registered_sidebars << klass_name.to_s
end

.register_sidebar_directory(plugins_root, paths) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sidebar_registry.rb', line 15

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