Class: Infogram::Resources
- Inherits:
-
Object
- Object
- Infogram::Resources
show all
- Defined in:
- lib/infogram/resources.rb
Instance Method Summary
collapse
Instance Method Details
#decode_params(params) ⇒ Object
7
8
9
|
# File 'lib/infogram/resources.rb', line 7
def decode_params(params)
params.keys.sort.map { |k| "#{k.to_s}=#{url_escaping(params[k].to_s)}" }.join('&')
end
|
#signature(method, path, params, config) ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'lib/infogram/resources.rb', line 11
def signature(method, path, params, config)
string_to_sign = [
method.upcase,
url_escaping("#{config[:api_url]}/#{path}"),
url_escaping(decode_params(params))
].compact.join('&')
raw_hmac = OpenSSL::HMAC.digest('sha1', config[:api_secret], string_to_sign)
Base64.encode64(raw_hmac)[0..-2]
end
|
#url_escaping(string) ⇒ Object
3
4
5
|
# File 'lib/infogram/resources.rb', line 3
def url_escaping(string)
CGI.escape(string).gsub('+', '%20')
end
|