Class: AnsibleDocGenerator::DocGenerator::Interpolator::VariableExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb

Defined Under Namespace

Classes: MissingInterpolationError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input, task, role_path) ⇒ VariableExtractor

Returns a new instance of VariableExtractor.



12
13
14
15
16
17
18
19
# File 'lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb', line 12

def initialize input, task, role_path
  @input = input
  @task = task
  @role_path = role_path
  @filters = {
    join: ', '
  }
end

Instance Attribute Details

#inputObject (readonly)

Returns the value of attribute input.



10
11
12
# File 'lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb', line 10

def input
  @input
end

#role_pathObject (readonly)

Returns the value of attribute role_path.



10
11
12
# File 'lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb', line 10

def role_path
  @role_path
end

#taskObject (readonly)

Returns the value of attribute task.



10
11
12
# File 'lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb', line 10

def task
  @task
end

Instance Method Details

#callObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/ansible_doc_generator/doc_generator/interpolator/variable_extractor.rb', line 21

def call
  output = input

  input.scan(/#\{[^\}]+\}/).each do |interpolation|
    new_string = get_string(interpolation)
    output.gsub!(interpolation, new_string)
  end

  output
end