class Applocale::ContentUtil

Constants

REGEX_ESCAPED_QUOTE
REGEX_NON_ESCAPE_QUOTE

Public Class Methods

add_escape(platform, content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 30
def self.add_escape(platform, content)
  if platform == Platform::IOS
    return self.add_escaped_double_quote(content)
  elsif platform == Platform::ANDROID
    return self.add_escaped_android(content)
  end
  return content
end
add_escaped_android(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 39
def self.add_escaped_android(content)
  new_value = content
  new_value = new_value.gsub(/'/, "\\'")
  reg = /(?<!\\)((?:\\{2})+)*(\\r)/
  new_value = new_value.gsub(reg) {|match|
    match.slice!(-1)
    match + 'n'
  }
  reg = /(?<!\\)((?:\\{2})+)"|(?<!\\)"|^"/
  new_value = new_value.gsub(reg) {|match|
    "\\" + match
  }
  new_value = new_value.gsub(/&/, '&amp;')
  new_value = new_value.gsub(/%@/, '%s')
  new_value = new_value.gsub(/</, '&lt;')
  new_value = new_value.gsub(/>/, '&gt;')
  return new_value
end
add_escaped_double_quote(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 65
def self.add_escaped_double_quote(content)
  new_value = content
  reg = /(?<!\\)((?:\\{2})+)"|(?<!\\)"|^"/
  new_value = new_value.gsub(reg) {|match|
      "\\" + match
  }
  return new_value
end
from_excel(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 83
def self.from_excel(content)
  reg = /(?<!\\)((?:\\{2})+)*\\"/
  new_value = content.gsub(reg) {|match|
    match.slice!(0)
    match
  }
  new_value = new_value.gsub(/\n/, "\\n")
  new_value = new_value.gsub(/\t/, "\\t")
  return new_value
end
remove_escape(platform, content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 21
def self.remove_escape(platform, content)
  if platform == Platform::IOS
    return self.remove_escaped_double_quote(content)
  elsif platform == Platform::ANDROID
    return self.remove_escaped_android(content)
  end
  return content
end
remove_escaped_android(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 58
def self.remove_escaped_android(content)
  new_value = content
  new_value = new_value.gsub(/%s/, '%@')
  new_value = new_value.gsub(/\\'/, "'")
  return new_value
end
remove_escaped_double_quote(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 74
def self.remove_escaped_double_quote(content)
  reg = /(?<!\\)((?:\\{2})+)*\\"/
  new_value = content.gsub(reg) {|match|
    match.slice!(0)
    match
  }
  return new_value
end
remove_escaped_new_line(content) click to toggle source
# File lib/applocale/Util/regex_util.rb, line 94
def self.remove_escaped_new_line(content)
  reg = /(?<!\\)((?:\\{2})+)*\\"/
  new_value = content.gsub(reg) {|match|
    match.slice!(0)
    match
  }
  new_value
      .gsub(/\\n/, "\n")
      .gsub(/\\t/, "\t")
end