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: DocumentType, 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
198 199 200 201 202 203 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 198 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
191 192 193 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 191 def default_config_path File.("../../../../config/static_site.yml", __dir__) end |
.load(config_path = nil) ⇒ Configuration
Load configuration from YAML file
177 178 179 180 181 182 183 184 185 186 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 177 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
224 225 226 227 228 229 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 224 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
216 217 218 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 216 def feature_flags @feature_flags ||= parse_hash_attribute(features) end |
#transformation_options ⇒ Hash
Get data transformation options as hash
209 210 211 |
# File 'lib/lutaml/uml_repository/static_site/configuration.rb', line 209 def @transformation_options ||= parse_hash_attribute(data_transformation) end |