Sha256: f752bcf98a23f685fd71c76485f6da4c882bc82107f3e77d8d1acdda2bf1617e

Contents?: true

Size: 1.48 KB

Versions: 14

Compression:

Stored size: 1.48 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
    
    protected
    def fetch_languages
      languages = {}
      self.site.content.posts.each do |post|
        post.languages.each do |lang|
          languages[lang] ||= []
          languages[lang] << post
        end
      end
      languages
    end
    
  end
end

# Load all generators
Dir[File.join(File.dirname(__FILE__), "generators", "*.rb")].each {|f| require f}

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
alula-0.4.27 lib/alula/generator.rb
alula-0.4.26 lib/alula/generator.rb
alula-0.4.25 lib/alula/generator.rb
alula-0.4.24 lib/alula/generator.rb
alula-0.4.23 lib/alula/generator.rb
alula-0.4.22 lib/alula/generator.rb
alula-0.4.21 lib/alula/generator.rb
alula-0.4.20 lib/alula/generator.rb
alula-0.4.19 lib/alula/generator.rb
alula-0.4.18 lib/alula/generator.rb
alula-0.4.17 lib/alula/generator.rb
alula-0.4.16 lib/alula/generator.rb
alula-0.4.15 lib/alula/generator.rb
alula-0.4.14 lib/alula/generator.rb