class XcodeArchiveCache::BuildSettings::StringInterpolator
Attributes
parser[RW]
@return [Parser]
Public Class Methods
new()
click to toggle source
# File lib/build_settings/string_interpolator.rb, line 5 def initialize @parser = Parser.new end
Public Instance Methods
interpolate(string, build_settings)
click to toggle source
@param [String] string @param [Container] build_settings
@return [String]
# 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
Private Instance Methods
modify_setting_value(value, modifiers)
click to toggle source
# File lib/build_settings/string_interpolator.rb, line 37 def modify_setting_value(value, modifiers) modified_value = value modifiers.each do |modifier| case modifier when "c99extidentifier" modified_value = modified_value.gsub(/[-\s]/, "_") else end end modified_value end