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

Version Path
alula-0.4.13 lib/alula/generator.rb
alula-0.4.12 lib/alula/generator.rb
alula-0.4.11 lib/alula/generator.rb
alula-0.4.11a lib/alula/generator.rb
alula-0.4.10 lib/alula/generator.rb
alula-0.4.9 lib/alula/generator.rb
alula-0.4.8 lib/alula/generator.rb
alula-0.4.7 lib/alula/generator.rb