Class: Glossarist::SchemaMigration

Inherits:
Object
  • Object
show all
Defined in:
lib/glossarist/schema_migration.rb,
lib/glossarist/schema_migration/v0_to_v1.rb,
lib/glossarist/schema_migration/v2_to_v3.rb,
lib/glossarist/schema_migration/cli_pipeline.rb

Defined Under Namespace

Modules: V2ToV3 Classes: CliPipeline, V0ToV1

Constant Summary collapse

CURRENT_SCHEMA_VERSION =
"1"

Class Method Summary collapse

Class Method Details

.concept_version(concept) ⇒ Object



35
36
37
# File 'lib/glossarist/schema_migration.rb', line 35

def self.concept_version(concept)
  V2ToV3.concept_version(concept)
end

.migrate_concept(concept, target_version: Glossarist::SCHEMA_VERSION) ⇒ Object



31
32
33
# File 'lib/glossarist/schema_migration.rb', line 31

def self.migrate_concept(concept, target_version: Glossarist::SCHEMA_VERSION)
  V2ToV3.migrate_concept(concept, target_version: target_version)
end

.newObject

Convenience: SchemaMigration.new(input, **opts) is shorthand for V0ToV1.new(input, **opts). Preserved for backward compatibility.



27
28
29
# File 'lib/glossarist/schema_migration.rb', line 27

def self.new(...)
  V0ToV1.new(...)
end

.upgrade_directory(source_dir, output:, target_version: CURRENT_SCHEMA_VERSION, cross_references: nil, dry_run: false) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/glossarist/schema_migration.rb', line 39

def self.upgrade_directory(source_dir, output:, target_version: CURRENT_SCHEMA_VERSION,
                           cross_references: nil, dry_run: false)
  CliPipeline.new(
    source_dir,
    output: output,
    target_version: target_version,
    cross_references: cross_references,
    dry_run: dry_run,
  ).run
end