lib/spina.rb in spina-0.7.3 vs lib/spina.rb in spina-0.8.0
- old
+ new
@@ -1,2 +1,49 @@
-require "spina/engine"
-require "spina/template"
\ No newline at end of file
+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