Module: I18nContextGenerator::AppleStringLiteral
- Defined in:
- lib/i18n_context_generator/apple_string_literal.rb
Overview
Shared parsing and decoding for Apple/Swift quoted string literals.
Constant Summary collapse
- BODY_PATTERN =
'(?:\\\\.|[^"\\\\])*'- ASSIGNMENT_PATTERN =
/\A\s*"(?<key>#{BODY_PATTERN})"\s*=/
Class Method Summary collapse
Class Method Details
.assignment_key(content) ⇒ Object
11 12 13 14 |
# File 'lib/i18n_context_generator/apple_string_literal.rb', line 11 def assignment_key(content) match = ASSIGNMENT_PATTERN.match(content) decode(match[:key]) if match end |
.decode(content) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/i18n_context_generator/apple_string_literal.rb', line 16 def decode(content) return if content.nil? content .gsub('\\"', '"') .gsub("\\'", "'") .gsub('\\\\', '\\') .gsub('\\n', "\n") .gsub('\\r', "\r") .gsub('\\t', "\t") end |