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