test/mocks/rest.rb in rockstar-0.5.0 vs test/mocks/rest.rb in rockstar-0.5.1
- old
+ new
@@ -2,10 +2,18 @@
require 'digest/md5'
module Rockstar
module REST
class Connection
+
+ def flatten(arg)
+ if arg.class == Hash
+ return arg.keys.sort_by{|a|a.to_s}.collect { |k| "%s_%s" % [k.to_s, flatten(arg[k])] }.join("_").gsub(" ", "_")
+ end
+ arg.to_s
+ end
+
# reads xml fixture file instead of hitting up the internets
def request(resource, method = "get", args = {}, sign_request=false)
@now_playing_url = 'http://62.216.251.203:80/nowplaying'
@submission_url = 'http://62.216.251.205:80/protocol_1.2'
@session_id = '17E61E13454CDD8B68E8D7DEEEDF6170'
@@ -13,11 +21,11 @@
if @base_url == Rockstar::API_URL + Rockstar::API_VERSION + "/"
folder, file = resource.downcase.split(".")
query = ""
if args.size > 0
- query = "_" + args.keys.sort_by{|a|a.to_s}.collect { |k| "%s_%s" % [k.to_s, args[k].to_s] }.join("_").gsub(" ", "_")
- end
+ query = "_" + flatten(args)
+ end
file = File.dirname(__FILE__) + "/../fixtures/xml/#{folder}/#{file}#{query}.xml"
if (!File.exists? file)
puts "Mock file not found : #{file}"