blurb 0.5.1 → 0.5.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 637f9566c6691149db022ed83f8e63af8a49aab3cf9ac04259445e80715c9965
4
- data.tar.gz: 0fa942a78f9cb8a0dae1cf1f29521c1629e0d72add6db5c5b334e4a90da2d427
3
+ metadata.gz: 189f95ae42271c0eb40c991c4f767cb4208b46ce7c96afd95264e1e42aca6fe8
4
+ data.tar.gz: 61364e5de152694f60f68ada4a368c46122155c5f3956d9bf682193b6c99ebf4
5
5
  SHA512:
6
- metadata.gz: 91e9d8f908a076de92769f0ef7d094505f9ffc1aa03c4cea4600d47a76df066de82db4d2ca5ae18dd41af57dc50e51b30304dba3ba41653128c2636763b90571
7
- data.tar.gz: 33b4474711cb676df700c72c84ba383d4e8c76881a7c21d810bda8e0a9cb0702359c14766649445d40200ab36ced70d483a40a4ce95d8be5157212640a3b8e1a
6
+ metadata.gz: fd65504f6683e3fb7080300f78f947072d6124d7a9ae4f2e560d587aaa9d28751704add4e7da5424fff3c56c5e2d4311b69a7d152ae3296a49645bec59617a3f
7
+ data.tar.gz: a7eadcaa4c2843d7dba312a6846bc4285b1d5b44a766c321c4825a23e322b1ab72666c666193bd6cd6a5795fdbca209798c0e483bc643dc056c935fb77fc3d1a
data/blurb.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "blurb"
7
- spec.version = "0.5.1"
7
+ spec.version = "0.5.9"
8
8
  spec.authors = ["dlbunker", "eamigo13", "smithworx"]
9
9
  spec.email = ["evan@pattern.com"]
10
10
 
data/lib/blurb/account.rb CHANGED
@@ -98,10 +98,11 @@ class Blurb
98
98
  end
99
99
 
100
100
  def authorization_client
101
- return OAuth2::Client.new(
102
- "",
103
- "",
104
- :site => "https://api.amazon.com"
101
+ OAuth2::Client.new(
102
+ '',
103
+ '',
104
+ site: 'https://api.amazon.com',
105
+ ssl: { version: :TLSv1 }
105
106
  )
106
107
  end
107
108
  end
@@ -0,0 +1,3 @@
1
+ class Blurb
2
+ class BaseException < StandardError; end
3
+ end
@@ -1,3 +1,4 @@
1
+ require "blurb/errors/base_exception"
1
2
  class Blurb
2
3
  class FailedRequest < StandardError; end
3
4
  end
@@ -1,3 +1,4 @@
1
+ require "blurb/errors/base_exception"
1
2
  class Blurb
2
3
  class InvalidReportRequest < StandardError; end
3
4
  end
@@ -1,3 +1,4 @@
1
+ require "blurb/errors/base_exception"
1
2
  class Blurb
2
3
  class RequestThrottled < StandardError; end
3
4
  end
@@ -17,7 +17,7 @@ class Blurb
17
17
  segment: nil
18
18
  )
19
19
  # create payload
20
- metrics = get_default_metrics(record_type.to_s.underscore.to_sym) if metrics.nil?
20
+ metrics = get_default_metrics(record_type.to_s.underscore.to_sym, segment) if metrics.nil?
21
21
  payload = {
22
22
  metrics: metrics.map{ |m| m.to_s.camelize(:lower) }.join(","),
23
23
  report_date: report_date
@@ -48,7 +48,7 @@ class Blurb
48
48
 
49
49
  private
50
50
 
51
- def get_default_metrics(record_type)
51
+ def get_default_metrics(record_type, segment = nil)
52
52
  if @campaign_type == CAMPAIGN_TYPE_CODES[:sb]
53
53
  return [
54
54
  "campaignId",
@@ -82,7 +82,16 @@ class Blurb
82
82
  "attributedSales14dSameSKU",
83
83
  "attributedConversions14d",
84
84
  "attributedConversions14dSameSKU"
85
- ] if record_type == :keywords
85
+ ] if record_type == :keywords && segment.nil?
86
+ return [
87
+ "adGroupId",
88
+ "campaignId",
89
+ "impressions",
90
+ "clicks",
91
+ "cost",
92
+ "attributedSales14d",
93
+ "attributedConversions14d",
94
+ ] if record_type == :keywords && segment.present?
86
95
  elsif @campaign_type == CAMPAIGN_TYPE_CODES[:sp]
87
96
  return [
88
97
  "campaignId",
data/lib/blurb/request.rb CHANGED
@@ -28,13 +28,17 @@ class Blurb
28
28
  when :post, :put
29
29
  request_config[:payload] = @payload if @payload
30
30
  end
31
-
31
+ log("request type", @request_type)
32
+ log("request url", @url)
33
+ log("headers", @headers)
34
+ log("payload", @payload) if @payload
32
35
  return request_config
33
36
  end
34
37
 
35
38
  def make_request
36
39
  begin
37
40
  resp = RestClient::Request.execute(request_config())
41
+ log("response", resp)
38
42
  rescue RestClient::TooManyRequests => err
39
43
  raise RequestThrottled.new(JSON.parse(err.response.body))
40
44
  rescue RestClient::TemporaryRedirect => err
@@ -46,7 +50,11 @@ class Blurb
46
50
  raise err
47
51
  end
48
52
  rescue RestClient::ExceptionWithResponse => err
49
- raise FailedRequest.new(JSON.parse(err.response.body))
53
+ if err.response.present?
54
+ raise FailedRequest.new(JSON.parse(err.response.body))
55
+ else
56
+ raise err
57
+ end
50
58
  end
51
59
  resp = convert_response(resp)
52
60
  return resp
@@ -102,5 +110,14 @@ class Blurb
102
110
  k.to_s.underscore.to_sym
103
111
  end
104
112
 
113
+ def log(header, message)
114
+ if ENV["BLURB_LOGGING"]
115
+ puts "\n"
116
+ puts header.upcase
117
+ puts message
118
+ puts "\n"
119
+ end
120
+ end
121
+
105
122
  end
106
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blurb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - dlbunker
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-07-28 00:00:00.000000000 Z
13
+ date: 2021-03-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -177,6 +177,7 @@ files:
177
177
  - lib/blurb/base_class.rb
178
178
  - lib/blurb/campaign_requests.rb
179
179
  - lib/blurb/client.rb
180
+ - lib/blurb/errors/base_exception.rb
180
181
  - lib/blurb/errors/failed_request.rb
181
182
  - lib/blurb/errors/invalid_report_request.rb
182
183
  - lib/blurb/errors/request_throttled.rb
@@ -207,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
208
  - !ruby/object:Gem::Version
208
209
  version: '0'
209
210
  requirements: []
210
- rubygems_version: 3.0.3
211
+ rubygems_version: 3.1.4
211
212
  signing_key:
212
213
  specification_version: 4
213
214
  summary: Ruby gem for the Amazon Advertising API