Sha256: 8870de7910bed782a4c63ff2aa4ddce216b01682bff6eb1c79e66bfd64d70608
Contents?: true
Size: 1.22 KB
Versions: 8
Compression:
Stored size: 1.22 KB
Contents
module Alula class Generator # autoload :Paginate, 'alula/generators/paginate' # autoload :FeedBuilder, 'alula/generators/feedbuilder' # autoload :Sitemap, 'alula/generators/sitemap' def self.register(name, klass); generators[name.to_s] = klass; end def self.generators; @@generators ||= {}; end def generators; self.class.generators; end attr_reader :options attr_reader :site def self.load(opts) name = opts.delete(:type).to_s options = opts.delete(:options) # Try to find our generator # cls_name = self.constants.select {|t| t.to_s.downcase == type.downcase}.first # if cls_name # cls = self.const_get(cls_name) # gen = cls.new(options, opts) # end if generators[name] and !(!!options == options and !options) generator = generators[name] return generator.new(options, opts) end end def initialize(options, opts) @options = options @site = opts.delete(:site) end def substitutes(locale, item) {} end def allow_compressing? :high end end end # Load all generators Dir[File.join(File.dirname(__FILE__), "generators", "*.rb")].each {|f| require f}
Version data entries
8 entries across 8 versions & 1 rubygems