Sha256: c314dc8a6ca0c178a9a59719e47263d7e7c978ce47ee0e0c8d02ea158b63c431
Contents?: true
Size: 883 Bytes
Versions: 1
Compression:
Stored size: 883 Bytes
Contents
require 'rest-core' module RestGW2 Client = RC::Builder.client do use RC::DefaultSite , 'https://api.guildwars2.com/v2/' use RC::DefaultHeaders, {'Accept' => 'application/json'} use RC::Oauth2Header , 'Bearer', nil use RC::Timeout , 10 use RC::ErrorHandler , lambda{ |env| RuntimeError.new(env[RC::RESPONSE_BODY]) } use RC::ErrorDetectorHttp use RC::JsonResponse , true use RC::CommonLogger , nil use RC::Cache , nil, 600 end Client.include(Module.new{ def with_item_detail path, query={} items = get(path, query) ids = items.map{ |i| i && i['id'] } detail = ids.compact.each_slice(5).map do |slice| get('items', :ids => slice.join(',')) end.flatten.group_by{ |i| i['id'] } items.map{ |i| i && detail[i['id']].first.merge('count' => i['count']) } end }) end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rest-gw2-0.1.0 | lib/rest-gw2/client.rb |