class Jekyll::LanguagePlugin::LanguageData

Attributes

language[R]
site[R]

Public Class Methods

loaders() click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 40
def loaders
  @loaders ||= []
end
new(site) click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 9
def initialize(site)
  @site = site
  @l_inst_ary = Array.new
end
register_loader(loader) click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 44
def register_loader(loader)
  loaders.push(loader)
end

Public Instance Methods

get(key, language) click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 14
def get(key, language)
  inject_loader(language) do |loader|
    loader.get(key, language)
  end
end
get_with_placeholders(key, tokens, language) click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 20
def get_with_placeholders(key, tokens, language)
  inject_loader(language) do |loader|
    loader.get_with_placeholders(key, tokens, language)
  end
end
inject_loader(language) { |l_inst| ... } click to toggle source
# File lib/jekyll/language-plugin/language_data.rb, line 26
def inject_loader(language)
  self.class.loaders.inject(nil) do |result, loader|
    unless l_inst = @l_inst_ary.detect { |l| l.is_a?(loader) }
      l_inst = loader.new(@site)
      @l_inst_ary.push(l_inst)
    end

    l_inst.load(language) unless l_inst.loaded?(language)
    result = yield l_inst
    break result unless result.nil?
  end
end