Class: Jekyll::LanguagePlugin::Loaders::BuiltinDataLoader

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

Instance Attribute Summary collapse

Attributes inherited from BaseLoader

#site

Instance Method Summary collapse

Methods inherited from BaseLoader

#get_with_placeholders, #resolve_dot_notation, #traverse_hash

Constructor Details

#initialize(site) ⇒ BuiltinDataLoader

Returns a new instance of BuiltinDataLoader.



10
11
12
13
# File 'lib/jekyll/language-plugin/loaders/builtin_data_loader.rb', line 10

def initialize(site)
  super
  @data = Hash.new
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



8
9
10
# File 'lib/jekyll/language-plugin/loaders/builtin_data_loader.rb', line 8

def data
  @data
end

Instance Method Details

#get(key, language) ⇒ Object



28
29
30
31
32
# File 'lib/jekyll/language-plugin/loaders/builtin_data_loader.rb', line 28

def get(key, language)
  return nil unless loaded?(language)

  traverse_hash(@data, resolve_dot_notation([language, key]))
end

#load(language) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/jekyll/language-plugin/loaders/builtin_data_loader.rb', line 19

def load(language)
  return true if loaded?(language)

  file = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'data', 'lang', "#{language}.yml"))
  return false unless File.file?(file)

  !!@data.merge!(YAML.load_file(file));
end

#loaded?(language) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/jekyll/language-plugin/loaders/builtin_data_loader.rb', line 15

def loaded?(language)
  @data.has_key?(language)
end