class XcodeArchiveCache::BuildSettings::Parser
Constants
- SETTING_ALL_CHARACTERS
- SETTING_ENTRY_PART_CHARACTERS
- SETTING_NAME_CHARACTERS
- SETTING_NAME_GROUP
- SETTING_VALUE_GROUP
Attributes
setting_entry_name_regex[R]
@return [Regexp]
setting_entry_part_regex[R]
setting_entry_regex[R]
@return [Regexp]
setting_name_regex[R]
@return [Regexp]
setting_value_regex[R]
@return [Regexp]
Public Class Methods
new()
click to toggle source
# File lib/build_settings/parser.rb, line 17 def initialize @setting_name_regex = Regexp.new("^(?<#{SETTING_NAME_GROUP}>#{SETTING_NAME_CHARACTERS})\s=") @setting_value_regex = Regexp.new("^#{SETTING_NAME_CHARACTERS}\s=\s(?<#{SETTING_VALUE_GROUP}>.+)$") @setting_entry_regex = create_entry_regex @setting_entry_part_regex = Regexp.new("#{SETTING_ENTRY_PART_CHARACTERS}") @setting_entry_name_regex = Regexp.new(SETTING_NAME_CHARACTERS) end
Public Instance Methods
create_entry_regex(characters = SETTING_ALL_CHARACTERS)
click to toggle source
@param [String] characters
@return [Regexp]
# File lib/build_settings/parser.rb, line 69 def create_entry_regex(characters = SETTING_ALL_CHARACTERS) Regexp.new("\\$[({]#{characters}[)}]") end
find_all_entries(string)
click to toggle source
@param [String] string
@return [Array<String>]
# File lib/build_settings/parser.rb, line 29 def find_all_entries(string) return nil if string == nil string.scan(setting_entry_regex) .map {|entry| parts = entry.scan(setting_entry_part_regex) name = parts.first modifiers = parts.drop(1) name != nil ? SettingEntry.new(name, modifiers, entry) : nil } .compact end
parse_name(string)
click to toggle source
@param [String] string
@return [String]
# File lib/build_settings/parser.rb, line 47 def parse_name(string) match = setting_name_regex.match(string) return nil unless match match[SETTING_NAME_GROUP] end
parse_value(string)
click to toggle source
@param [String] string
@return [String]
# File lib/build_settings/parser.rb, line 58 def parse_value(string) match = setting_value_regex.match(string) return nil unless match match[SETTING_VALUE_GROUP] end