Class: DefMastership::ModifierBase

Inherits:
Object
  • Object
show all
Defined in:
lib/defmastership/modifier_base.rb

Overview

Change references from temporary to definitive with multiple RefChangers

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ ModifierBase

Returns a new instance of ModifierBase.



9
10
11
12
# File 'lib/defmastership/modifier_base.rb', line 9

def initialize(config)
  @config = config
  @changes = []
end

Instance Attribute Details

#changesObject (readonly)

Returns the value of attribute changes.



7
8
9
# File 'lib/defmastership/modifier_base.rb', line 7

def changes
  @changes
end

#configObject (readonly)

Returns the value of attribute config.



7
8
9
# File 'lib/defmastership/modifier_base.rb', line 7

def config
  @config
end

Instance Method Details

#do_modifications(adoc_texts) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/defmastership/modifier_base.rb', line 14

def do_modifications(adoc_texts)
  line_modifier = new_line_modifier(@config, adoc_texts)

  adoc_texts =
    replacements.reduce(adoc_texts) do |texts, method|
      texts.transform_values do |text|
        text.lines.map { |line| line_modifier.public_send(method, line) }.join
      end
    end

  @config = line_modifier.config
  @changes = line_modifier.changes
  adoc_texts
end