Sha256: a5f3db96e5b0b459242f50676531e9caf900db5af75470157d1970b4feb34e5d
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
# encoding: UTF-8 module Spontaneous class Site < Spontaneous::Facet extend Plugins plugin Plugins::Site::Instance plugin Plugins::Site::Publishing plugin Plugins::Site::Revisions plugin Plugins::Site::Selectors plugin Plugins::Site::Map attr_accessor :database attr_reader :environment, :mode def initialize(root, env, mode) super(root) @environment, @mode = env, mode end def initialize! load_config! connect_to_database! find_plugins! load_facets! init_facets! end def init_facets! facets.each do |facet| facet.init! end end def load_facets! Spontaneous::Loader.load! end def load_paths load_paths = [] [:lib, :schema].each do |category| facets.each do |facet| load_paths += facet.paths.expanded(category) end end load_paths end def connect_to_database! self.database = Sequel.connect(db_settings) self.database.logger = logger if config.log_queries end def db_settings config_dir = paths.expanded(:config).first @db_settings = YAML.load_file(File.join(config_dir, "database.yml")) self.config.db = @db_settings[environment] end def config @config ||= Spontaneous::Config.new(environment, mode) end def find_plugins! paths.expanded(:plugins).each do |glob| Dir[glob].each do |path| load_plugin(path) end end end def plugins @plugins ||= [] end def facets [self] + plugins end def load_plugin(plugin_root) plugin = Spontaneous::Application::Plugin.new(plugin_root) self.plugins << plugin plugin end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spontaneous-0.1.0.alpha1 | lib/spontaneous/site.rb |