class Kiba::Uncommon::Sources::ZOQL
Attributes
zoql_query[R]
zuora_client[R]
Public Class Methods
new(zuora_client, zoql_query)
click to toggle source
# File lib/kiba/uncommon/sources/zoql.rb, line 18 def initialize(zuora_client, zoql_query) @zuora_client = zuora_client @zoql_query = zoql_query Hashie.logger = Logger.new(nil) end
Public Instance Methods
each() { |result| ... }
click to toggle source
# File lib/kiba/uncommon/sources/zoql.rb, line 26 def each results = query loop do results.records.each do |result| yield result end break if results['done'] == 'true' results = query(results['query_locator']) end end
query(query_locator=nil)
click to toggle source
# File lib/kiba/uncommon/sources/zoql.rb, line 40 def query(query_locator=nil) unless query_locator response = zuora_client.call! :query, zoql_query result = response.to_h['envelope']['body']['query_response']['result'] else response = zuora_client.call! :query_more, query_locator result = response.to_h['envelope']['body']['query_more_response']['result'] end # Remove XML fields result.records.each do |record| record.delete(:ns2) record.delete(:type) record.delete(:xsi) end result end