class Jekyll::LanguagePlugin::Loaders::JekyllDataLoader

Public Class Methods

new(site) click to toggle source
# File lib/jekyll/language-plugin/loaders/jekyll_data_loader.rb, line 8
def initialize(site)
  super
end

Public Instance Methods

get(key, language) click to toggle source
# File lib/jekyll/language-plugin/loaders/jekyll_data_loader.rb, line 12
def get(key, language)
  key = resolve_dot_notation(key)

  data = get_language_data(language)
  traverse_hash(data, key)
end
get_language_data(language) click to toggle source
# File lib/jekyll/language-plugin/loaders/jekyll_data_loader.rb, line 19
def get_language_data(language)
  @language_data ||= site.config['language_data'].to_s || 'data.lang.%%'
  language_data_l = @language_data.gsub("%%", language)

  key = resolve_dot_notation(language_data_l)

  obj = site.send(key.shift)
  obj = traverse_hash(obj, key)
  raise Jekyll::LanguagePlugin::PluginError.new("Invalid language data configuration. Cannot retrieve data for language #{language} at #{language_data_l}") if obj.nil?
  obj
end