Sha256: d27bd3f0d8bfede1a1bb7f5297e7b676123e834c23bea9b45d28f402d129b13f

Contents?: true

Size: 848 Bytes

Versions: 3

Compression:

Stored size: 848 Bytes

Contents

require 'spina/engine'
require 'spina/template'

module Spina

  include ActiveSupport::Configurable

  config_accessor :backend_path, :storage

  self.backend_path = 'admin'

  self.storage = :file

  class << self

    @@themes = []
    @@plugins = []

    def register_theme(theme)
      @@themes << theme
    end

    def theme(theme_name)
      @@themes.find { |theme| theme.name == theme_name }
    end

    def themes
      @@themes
    end

    def register_plugin(plugin)
      @@plugins << plugin
    end

    def plugin(plugin_name)
      @@plugins.find { |plugin| plugin.name == plugin_name }
    end

    def plugins(plugin_type = :all)
      case plugin_type
      when :website_resource
        @@plugins.find_all { |plugin| plugin.config.plugin_type == 'website_resource' }
      else
        @@plugins
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spina-0.8.2 lib/spina.rb
spina-0.8.1 lib/spina.rb
spina-0.8.0 lib/spina.rb