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.



9
10
11
12
# File 'lib/jekyll/language-plugin/language_data.rb', line 9

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

Instance Attribute Details

#languageObject (readonly)

Returns the value of attribute language.



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

def language
  @language
end

#siteObject (readonly)

Returns the value of attribute site.



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

def site
  @site
end

Class Method Details

.loadersObject



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

def loaders
  @loaders ||= []
end

.register_loader(loader) ⇒ Object



44
45
46
# File 'lib/jekyll/language-plugin/language_data.rb', line 44

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

Instance Method Details

#get(key, language) ⇒ Object



14
15
16
17
18
# 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) ⇒ Object



20
21
22
23
24
# 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) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
# 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