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.
46 47 48 |
# File 'lib/jekyll-l10n/utils/site_config_accessor.rb', line 46 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 |
# 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 config.dig('defaults', 0, 'values', 'with_locales_data') || {} end |
.source(site) ⇒ String
Get the site source directory.
38 39 40 |
# File 'lib/jekyll-l10n/utils/site_config_accessor.rb', line 38 def self.source(site) site.is_a?(Hash) ? site['source'] : site.source end |