Sha256: d1c284716d7a9be657496db29a980424cfb54ee5b25528bd621d9864d4d866c6

Contents?: true

Size: 999 Bytes

Versions: 1

Compression:

Stored size: 999 Bytes

Contents

module Jekyll
  module LanguagePlugin
    module Loaders
      class JekyllDataLoader < BaseLoader
        def initialize(site)
          super
          @is_loaded = true
        end
        
        def get(key, language)
          key = resolve_dot_notation(key)

          data = get_language_data(language)
          traverse_hash(data, key)
        end

        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
      end
    end
  end
end

Jekyll::LanguagePlugin.register_loader(Jekyll::LanguagePlugin::Loaders::JekyllDataLoader)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-language-plugin-1.2.0 lib/jekyll/language-plugin/loaders/jekyll_data_loader.rb