lib/massimo.rb in massimo-0.4.6 vs lib/massimo.rb in massimo-0.5.0

- old
+ new

@@ -1,37 +1,28 @@ -libdir = File.dirname(__FILE__) -$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir) - -require "massimo/helpers" -require "massimo/templates" -require "massimo/site" - module Massimo - VERSION = File.read(File.expand_path("../../VERSION", __FILE__)) # :nodoc: + autoload :Config, 'massimo/config' + autoload :Helpers, 'massimo/helpers' + autoload :Javascript, 'massimo/javascript' + autoload :Page, 'massimo/page' + autoload :Resource, 'massimo/resource' + autoload :Server, 'massimo/server' + autoload :Site, 'massimo/site' + autoload :Stylesheet, 'massimo/stylesheet' + autoload :View, 'massimo/view' + autoload :Watcher, 'massimo/watcher' - MissingResource = Class.new(StandardError) # :nodoc: - InvalidResource = Class.new(StandardError) # :nodoc: + VERSION = File.read File.expand_path('../../VERSION', __FILE__) - # This will create an instance of Massimo::Site the first time it is called. - # Everytime it's called afterwords, without options, it returns the same - # instance. - def self.Site(options = {}) - return @site if defined?(@site) && options.empty? - @site = Site.instance.setup(options) - end + class << self + def site + @site ||= Site.new + end - # All the avaiable Resource types - def self.resources - @resources ||= [] + def site=(site) + @site = site + end + + def config + site.config + end end - - # All the Resource types that are processable. - def self.processable_resources - resources.select { |resource| resource.processable? } - end end - -require "massimo/resource/base" -require "massimo/view" -require "massimo/page" -require "massimo/stylesheet" -require "massimo/javascript"