Class: XcodeArchiveCache::BuildSettings::StringInterpolator

Inherits:
Object
  • Object
show all
Defined in:
lib/build_settings/string_interpolator.rb

Instance Method Summary collapse

Constructor Details

#initializeStringInterpolator

Returns a new instance of StringInterpolator.



5
6
7
# File 'lib/build_settings/string_interpolator.rb', line 5

def initialize
  @parser = Parser.new
end

Instance Method Details

#interpolate(string, build_settings) ⇒ String

Parameters:

Returns:

  • (String)


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/build_settings/string_interpolator.rb', line 14

def interpolate(string, build_settings)
  return nil if string == nil

  entries = parser.find_all_entries(string)
  result = string

  entries.each do |entry|
    value = build_settings[entry.name]
    next unless value

    modified_value = modify_setting_value(value, entry.modifiers)
    result = result.gsub(entry.full_string, modified_value)
  end

  result
end