Class: Lutaml::UmlRepository::StaticSite::Configuration
- Inherits:
-
Model::Serializable
- Object
- Model::Serializable
- Lutaml::UmlRepository::StaticSite::Configuration
- Defined in:
- lib/lutaml/uml_repository/static_site/configuration.rb
Overview
Configuration for Static Site Generator using external YAML.
Follows the Dependency Inversion Principle by externalizing all configuration instead of hardcoding values. Uses lutaml-model for structured YAML parsing and validation.
Defined Under Namespace
Classes: AppearanceConfig, AuthorConfig, DocumentType, LinkConfig, LogoConfig, LogoVariant, LogosConfig, MetadataConfig, OutputConfig, OutputMode, SearchConfig, SearchField, UIConfig
Class Method Summary collapse
-
.create_default_configuration ⇒ Configuration
Create default configuration programmatically.
-
.default_config_path ⇒ String
Get default configuration file path.
-
.load(config_path = nil) ⇒ Configuration
Load configuration from YAML file.
Instance Method Summary collapse
-
#feature_enabled?(feature_name) ⇒ Boolean
Check if a feature is enabled.
-
#feature_flags ⇒ Hash
Get features as hash.
-
#transformation_options ⇒ Hash
Get data transformation options as hash.
Class Method Details
.create_default_configuration ⇒ Configuration
Create default configuration programmatically
307 308 309 310 311 312 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 307 def create_default_configuration new.tap do |config| config.version = "1.0" config.description = "Default Static Site Configuration" end end |
.default_config_path ⇒ String
Get default configuration file path
300 301 302 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 300 def default_config_path File.("../../../../config/static_site.yml", __dir__) end |
.load(config_path = nil) ⇒ Configuration
Load configuration from YAML file
286 287 288 289 290 291 292 293 294 295 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 286 def load(config_path = nil) config_path ||= default_config_path unless File.exist?(config_path) return create_default_configuration end yaml_content = File.read(config_path) from_yaml(yaml_content) end |
Instance Method Details
#feature_enabled?(feature_name) ⇒ Boolean
Check if a feature is enabled
333 334 335 336 337 338 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 333 def feature_enabled?(feature_name) flags = feature_flags return false if flags.nil? || flags.empty? flags[feature_name.to_s] == true end |
#feature_flags ⇒ Hash
Get features as hash
325 326 327 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 325 def feature_flags @feature_flags ||= parse_hash_attribute(features) end |
#transformation_options ⇒ Hash
Get data transformation options as hash
318 319 320 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 318 def @transformation_options ||= parse_hash_attribute(data_transformation) end |