Sha256: a57de2a76b942b5dd1f422e11c1dca8ffc9017ca4361ac4e5f9bad3807d33261
Contents?: true
Size: 834 Bytes
Versions: 2
Compression:
Stored size: 834 Bytes
Contents
require 'openssl' require 'base64' require 'cgi' module OAuth module Helper extend self def escape(value) CGI.escape(value.to_s).gsub("%7E", '~').gsub("+", "%20") end def generate_key(size=32) Base64.encode64(OpenSSL::Random.random_bytes(size)).gsub(/\W/, '') end alias_method :generate_nonce, :generate_key def generate_timestamp Time.now.to_i.to_s end def normalize(params) params.sort.map do |k, values| if values.is_a?(Array) # multiple values were provided for a single key values.sort.collect do |v| [escape(k),escape(v)] * "=" end else [escape(k),escape(values)] * "=" end end * "&" end def unescape(value) URI.unescape(value.gsub('+', '%2B')) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mojodna-oauth-0.3.1.4 | lib/oauth/helper.rb |
mojodna-oauth-0.3.1.5 | lib/oauth/helper.rb |