Sha256: 5cc15ecae7964d0088d63a3e85c7ee961f94fc4377a3a5c6c09226f01db38bc3
Contents?: true
Size: 1.17 KB
Versions: 13
Compression:
Stored size: 1.17 KB
Contents
require 'logger' require 'time' require 'cgi' require 'uri' require 'net/http' require 'base64' require 'openssl' require 'rexml/document' require 'rexml/xpath' module AwsSdb class Service def query_with_attributes(domain, query, max = nil, token = nil) params = { 'Action' => 'QueryWithAttributes', 'QueryExpression' => query, 'DomainName' => domain.to_s } params['NextToken'] = token unless token.nil? || token.empty? params['MaxNumberOfItems'] = max.to_s unless max.nil? || max.to_i == 0 doc = call(:get, params) results = {} REXML::XPath.each(doc, '//Item') do |item| item_attributes={} item_name = REXML::XPath.first(item, './Name/text()').to_s REXML::XPath.each(item, "./Attribute") do |attr| key = REXML::XPath.first(attr, './Name/text()').to_s value = REXML::XPath.first(attr, './Value/text()').to_s item_attributes[key]= value end results[item_name]=item_attributes end return results, REXML::XPath.first(doc, '//NextToken/text()').to_s end end end
Version data entries
13 entries across 13 versions & 2 rubygems