Class: Jekyll::LanguagePlugin::LanguageData

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll/language-plugin/language_data.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site) ⇒ LanguageData

Returns a new instance of LanguageData.



6
7
8
9
# File 'lib/jekyll/language-plugin/language_data.rb', line 6

def initialize(site)
  @site = site
  @l_inst_ary = Array.new
end

Instance Attribute Details

#languageObject (readonly)

Returns the value of attribute language.



4
5
6
# File 'lib/jekyll/language-plugin/language_data.rb', line 4

def language
  @language
end

#siteObject (readonly)

Returns the value of attribute site.



4
5
6
# File 'lib/jekyll/language-plugin/language_data.rb', line 4

def site
  @site
end

Class Method Details

.loadersObject



37
38
39
# File 'lib/jekyll/language-plugin/language_data.rb', line 37

def loaders
  @loaders ||= []
end

.register_loader(loader) ⇒ Object



41
42
43
# File 'lib/jekyll/language-plugin/language_data.rb', line 41

def register_loader(loader)
  loaders.push(loader)
end

Instance Method Details

#get(key, language) ⇒ Object



11
12
13
14
15
# File 'lib/jekyll/language-plugin/language_data.rb', line 11

def get(key, language)
  inject_loaders(language) do |result, loader|
    loader.get(key, language)
  end
end

#get_with_placeholders(key, tokens, language) ⇒ Object



17
18
19
20
21
# File 'lib/jekyll/language-plugin/language_data.rb', line 17

def get_with_placeholders(key, tokens, language)
  inject_loaders(language) do |result, loader|
    loader.get_with_placeholders(key, tokens, language)
  end
end

#inject_loaders(language) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/jekyll/language-plugin/language_data.rb', line 23

def inject_loaders(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 result, l_inst
    break result unless result.nil?
  end
end