Class: Jekyll::L10n::SiteConfigAccessor
- Inherits:
-
Object
- Object
- Jekyll::L10n::SiteConfigAccessor
- Defined in:
- lib/jekyll-l10n/utils/site_config_accessor.rb
Overview
Accesses Jekyll site configuration properties.
SiteConfigAccessor provides a unified interface for accessing Jekyll site properties, handling both normal Jekyll site objects and test doubles (hashes). This enables easier testing and more flexible configuration handling.
Key responsibilities:
-
Extract localization data from site configuration
-
Access site source directory
-
Access site destination directory
-
Handle both Jekyll site objects and hash-based doubles
Class Method Summary collapse
-
.dest(site) ⇒ String
Get the site destination directory.
-
.extract_locales_data(site) ⇒ Hash
Extract localization configuration from site.
-
.source(site) ⇒ String
Get the site source directory.
Class Method Details
.dest(site) ⇒ String
Get the site destination directory.
48 49 50 |
# File 'lib/jekyll-l10n/utils/site_config_accessor.rb', line 48 def self.dest(site) site.is_a?(Hash) ? site['dest'] : site.dest end |
.extract_locales_data(site) ⇒ Hash
Extract localization configuration from site.
Accesses the with_locales_data configuration which contains the locales, extraction settings, and other localization options.
29 30 31 32 33 34 |
# File 'lib/jekyll-l10n/utils/site_config_accessor.rb', line 29 def self.extract_locales_data(site) config = site.is_a?(Hash) ? site['config'] : site.config defaults = config['defaults'] || [] entry = defaults.find { |d| d.dig('values', 'with_locales_data') } entry&.dig('values', 'with_locales_data') || {} end |
.source(site) ⇒ String
Get the site source directory.
40 41 42 |
# File 'lib/jekyll-l10n/utils/site_config_accessor.rb', line 40 def self.source(site) site.is_a?(Hash) ? site['source'] : site.source end |