class EnClient::Formatter

Constants

IS_FORCE_ENCODING_SUPPORTED

Public Class Methods

decode_base64(b64str) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1697
def self.decode_base64(b64str)
  Base64.decode64 b64str
end
decode_base64_list(b64list) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1701
def self.decode_base64_list(b64list)
  b64list.map do |elem|
    decode_base64 elem
  end
end
encode_base64(str) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1686
def self.encode_base64(str)
  b64str = Base64.encode64 str
  b64str.delete "\n\r"
end
encode_base64_list(str_list) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1691
def self.encode_base64_list(str_list)
  str_list.map do |elem|
    encode_base64 elem
  end
end
get_edit_mode(src_app) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1672
def self.get_edit_mode(src_app)
  result = "XHTML"
  if src_app != nil
    src_app = src_app.strip
    if src_app =~ /\Aemacs-enclient\s*\{.*:editmode\s*=>\s*"(.*)"[^\}]*\}\z/
      result = $1
      unless result == "TEXT" || result == "XHTML"
        result = "TEXT"
      end
    end
  end
  result
end
obj_to_sexp(obj) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1707
def self.obj_to_sexp(obj)
  case obj
  when Integer
    return "#{obj}"
  when TrueClass
    return "t"
  when FalseClass, NilClass
    return "nil"
  when String
    return %Q|"#{obj}"| # must be base64ed
  when Time
    return %Q|"#{obj}"|
  when Array
    str = "("
    obj.each do |elem|
      str += obj_to_sexp elem
      str += " "
    end
    str += ")"
  when Serializable
    obj.to_sexp
  else
    str = "("
    class_name = Formatter.remove_package_names obj.class.name
    str += "(class . #{class_name})"
    obj.instance_variables.each do |varsym|
      varname = varsym.to_s[1 .. -1] # remove "@"
      str += "(#{varname} . #{obj_to_sexp obj.instance_variable_get(varsym)})"
    end
    str += ")"
  end
end
remove_package_names(full_class_name) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1744
def self.remove_package_names(full_class_name)
  full_class_name.split("::")[-1]
end
sexp_string_escape(str) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1740
def self.sexp_string_escape(str)
  str.gsub(/\/,'\&\&').gsub(/"/, '\"')
end
to_ascii(*rest) click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 1749
def self.to_ascii(*rest)
  if IS_FORCE_ENCODING_SUPPORTED
    rest.each do |elem|
      elem.force_encoding Encoding::ASCII_8BIT if elem
    end
  end
end