Sha256: 5f2956aac883ca686dd96cf131c164da5e80ecb12c61b031942383761917ea3f

Contents?: true

Size: 881 Bytes

Versions: 21

Compression:

Stored size: 881 Bytes

Contents

# frozen_string_literal: true

class SidebarRegistry
  class << self
    def register_sidebar(klass_name)
      registered_sidebars << klass_name.to_s
    end

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

    def available_sidebar_types
      registered_sidebars.sort
    end

    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

    def registered_sidebars
      @registered_sidebars ||= Set.new
    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
HornsAndHooves-publify_core-10.5.0 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.4.0 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.3.0 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.2.0 lib/sidebar_registry.rb
publify_core-9.2.10 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.1.1 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.1.0 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.0.3 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.0.2 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.0.1 lib/sidebar_registry.rb
HornsAndHooves-publify_core-10.0.0 lib/sidebar_registry.rb
publify_core-9.2.9 lib/sidebar_registry.rb
publify_core-9.2.8 lib/sidebar_registry.rb
publify_core-9.2.7 lib/sidebar_registry.rb
publify_core-9.2.6 lib/sidebar_registry.rb
publify_core-9.2.5 lib/sidebar_registry.rb
publify_core-9.2.4 lib/sidebar_registry.rb
publify_core-9.2.3 lib/sidebar_registry.rb
publify_core-9.2.2 lib/sidebar_registry.rb
publify_core-9.2.1 lib/sidebar_registry.rb