lib/adknowledge/performance.rb in adknowledge-0.0.4 vs lib/adknowledge/performance.rb in adknowledge-0.0.6
- old
+ new
@@ -186,24 +186,29 @@
# @return [Array] query result records
def records
unless Adknowledge.token
raise ArgumentError, 'Adknowledge token required to perform queries'
end
- results.body['data'] if results.body.has_key?('data')
+ results
end
private
def base_params
{token: Adknowledge.token}
end
def results
- @results ||= conn.get do |req|
+ raw_result = conn.get do |req|
req.url '/performance.json', query_params
+ end.body
+
+ if raw_result['code'] > 200
+ raise Adknowledge::Exception, get_error_str(raw_result)
end
+ @results ||= raw_result['data']
end
def conn
@conn ||= Faraday.new(:url => URL) do |b|
b.response :multi_json
@@ -222,9 +227,15 @@
def booleanize name, value
unless !!value == value #Boolean check
raise ArgumentError, "#{name} option must be a boolean"
end
value ? '1' : '0'
+ end
+
+ def get_error_str raw_result
+ raw_result['messages'].map do |msg|
+ msg['message']
+ end.join(' ')
end
def valid_pivot_values
dimensions.keys + ['*']
end