Module: HatiConfig::Schema
- Included in:
- Setting
- Defined in:
- lib/hati_config/schema.rb
Overview
Schema module provides functionality for managing configuration schemas and versioning.
Defined Under Namespace
Classes: MigrationError, SchemaDefinition, ValidationError
Instance Method Summary collapse
-
#migration(versions) {|config| ... } ⇒ Object
Defines a migration between schema versions.
-
#schema(version: '1.0') { ... } ⇒ Object
Defines a schema for configuration validation.
-
#schema_definition ⇒ SchemaDefinition
Gets the schema definition.
-
#schema_version ⇒ String
Gets the current schema version.
Instance Method Details
#migration(versions) {|config| ... } ⇒ Object
Defines a migration between schema versions.
45 46 47 |
# File 'lib/hati_config/schema.rb', line 45 def migration(versions, &block) schema_definition.add_migration(versions, block) end |
#schema(version: '1.0') { ... } ⇒ Object
Defines a schema for configuration validation.
16 17 18 19 20 21 |
# File 'lib/hati_config/schema.rb', line 16 def schema(version: '1.0', &block) @schema_version = version @schema_definition = SchemaDefinition.new(version) @schema_definition.instance_eval(&block) if block_given? @schema_definition end |
#schema_definition ⇒ SchemaDefinition
Gets the schema definition.
33 34 35 |
# File 'lib/hati_config/schema.rb', line 33 def schema_definition @schema_definition ||= SchemaDefinition.new(schema_version) end |
#schema_version ⇒ String
Gets the current schema version.
26 27 28 |
# File 'lib/hati_config/schema.rb', line 26 def schema_version @schema_version || '1.0' end |