Sha256: 59ce33a5ca32cc04ccc585f3821bf6ba7c91983288b44432ef2981397aefbab8
Contents?: true
Size: 933 Bytes
Versions: 2
Compression:
Stored size: 933 Bytes
Contents
# Copyright (c) 2020 Jerome Arbez-Gindre # frozen_string_literal: true module DefMastership # Change references from temporary to definitive with multiple RefChangers class BatchModifier attr_reader :config, :adoc_texts, :changes def initialize(config, adoc_texts) @config = config @adoc_texts = adoc_texts @changes = [] end def apply(modifs) modifs.split(/\s*,\s*/).each do |modif| modifier = modifier_from(modif) @adoc_texts = modifier.do_modifications(@adoc_texts) @config[modif.to_sym][:config] = modifier.config modifier.changes.each do |change| @changes << [modif] + change end end end private def modifier_from(modif) class_name = "#{@config[modif.to_sym][:type].split('_').map(&:capitalize).join}Modifier" DefMastership.const_get(class_name).new(@config[modif.to_sym][:config]) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
defmastership-1.0.7 | lib/defmastership/batch_modifier.rb |
defmastership-1.0.6 | lib/defmastership/batch_modifier.rb |