class OauthUtil
def sign( parsed_url )
def sign( parsed_url ) @params = { 'oauth_consumer_key' => @consumer_key, 'oauth_nonce' => nonce, 'oauth_signature_method' => @sig_method, 'oauth_timestamp' => Time.now.to_i.to_s, 'oauth_version' => @oauth_version } # if url has query, merge key/values into params obj overwriting defaults if parsed_url.query CGI.parse( parsed_url.query ).each do |k,v| if v.is_a?(Array) && v.count == 1 @params[k] = v.first else @params[k] = v end end end # @ref http://oauth.net/core/1.0/#rfc.section.9.1.2 @req_url = parsed_url.scheme + '://' + parsed_url.host + parsed_url.path # create base str. make it an object attr for ez debugging # ref http://oauth.net/core/1.0/#anchor14 @base_str = [ @req_method, percent_encode( req_url ), # normalization is just x-www-form-urlencoded percent_encode( query_string ) ].join( '&' ) # add signature @params[ 'oauth_signature' ] = signature return self end