Module: GoogleSpreadsheet::Util

Included in:
Session, Session, Spreadsheet, Table, Worksheet
Defined in:
lib/google_spreadsheet.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.as_utf8(str) ⇒ Object



102
103
104
# File 'lib/google_spreadsheet.rb', line 102

def as_utf8(str)
  str.force_encoding("UTF-8")
end

.encode_query(params) ⇒ Object



90
91
92
# File 'lib/google_spreadsheet.rb', line 90

def encode_query(params)
  return params.map(){ |k, v| uri_encode(k) + "=" + uri_encode(v) }.join("&")
end

.h(str) ⇒ Object



98
99
100
# File 'lib/google_spreadsheet.rb', line 98

def h(str)
  return CGI.escapeHTML(str.to_s())
end

.http_request(method, url, data, header = {}) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/google_spreadsheet.rb', line 70

def http_request(method, url, data, header = {})
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.scheme == "https"
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  http.start() do
    path = uri.path + (uri.query ? "?#{uri.query}" : "")
    if method == :delete
      response = http.__send__(method, path, header)
    else
      response = http.__send__(method, path, data, header)
    end
    if !(response.code =~ /^2/)
      raise(GoogleSpreadsheet::Error, "Response code #{response.code} for POST #{url}: " +
        CGI.unescapeHTML(response.body))
    end
    return response.body
  end
end

.uri_encode(str) ⇒ Object



94
95
96
# File 'lib/google_spreadsheet.rb', line 94

def uri_encode(str)
  return URI.encode(str, /#{URI::UNSAFE}|&/n)
end