promoted-ruby-client 0.1.19 → 0.1.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +9 -2
- data/dev.md +1 -1
- data/lib/promoted/ruby/client.rb +4 -4
- data/lib/promoted/ruby/client/pager.rb +4 -4
- data/lib/promoted/ruby/client/request_builder.rb +1 -1
- data/lib/promoted/ruby/client/version.rb +1 -1
- data/promoted-ruby-client.gemspec +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 340cf31fbc7680c1b9abb8df8dd1226e4a13fed103e21815afb82fb43b85f481
|
4
|
+
data.tar.gz: d5448efcb375ac090847ac6c37fcda3b57babf0dca6043d82967e8ecdb42ae52
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df18a2f73308fd9771b55a8762592a4041059b5d5fe72e0de07fa9566eb8627647eef75276a401c6f9da7d03bfc7158deb94bfd6b5824d22635a22b7d11848f0
|
7
|
+
data.tar.gz: 7ed68c19270dcd13b8ed2347138aa845dd767d19bc257312e1a001f0e858879e75186142b9719b31e9c132d95fc7d48049baaf3e57b442f39f2b969cf2c835b8
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -103,6 +103,14 @@ Field Name | Type | Optional? | Description
|
|
103
103
|
```:height``` | Integer | No | Screen height
|
104
104
|
---
|
105
105
|
|
106
|
+
### Screen
|
107
|
+
State of the screen including scaling.
|
108
|
+
Field Name | Type | Optional? | Description
|
109
|
+
---------- | ---- | --------- | -----------
|
110
|
+
```:size``` | Size | Yes | Screen size
|
111
|
+
```:scale``` | Float | Yes | Current screen scaling factor
|
112
|
+
---
|
113
|
+
|
106
114
|
### ClientHints
|
107
115
|
Alternative to user-agent strings. See https://raw.githubusercontent.com/snowplow/iglu-central/master/schemas/org.ietf/http_client_hints/jsonschema/1-0-0
|
108
116
|
Field Name | Type | Optional? | Description
|
@@ -131,7 +139,6 @@ Field Name | Type | Optional? | Description
|
|
131
139
|
```:latitude``` | Float | No | Location latitude
|
132
140
|
```:longitude``` | Float | No | Location longitude
|
133
141
|
```:accuracy_in_meters``` | Integer | Yes | Location accuracy if available
|
134
|
-
```:client_hints``` | ClientHints | Yes | HTTP client hints structure
|
135
142
|
---
|
136
143
|
|
137
144
|
### Browser
|
@@ -140,7 +147,7 @@ Field Name | Type | Optional? | Description
|
|
140
147
|
---------- | ---- | --------- | -----------
|
141
148
|
```:user_agent``` | String | Yes | Browser user agent string
|
142
149
|
```:viewport_size``` | Size | Yes | Size of the browser viewport
|
143
|
-
```:
|
150
|
+
```:client_hints``` | ClientHints | Yes | HTTP client hints structure
|
144
151
|
---
|
145
152
|
### Device
|
146
153
|
Information about the user's device.
|
data/dev.md
CHANGED
@@ -4,5 +4,5 @@
|
|
4
4
|
2. Get credentials for deployment from 1password.
|
5
5
|
3. Modify `promoted-ruby-client.gemspec`'s push block.
|
6
6
|
4. Run `gem build promoted-ruby-client.gemspec` to generate `gem`.
|
7
|
-
5. Run (using new output) `gem push promoted-ruby-client-0.1.
|
7
|
+
5. Run (using new output) `gem push promoted-ruby-client-0.1.20.gem`
|
8
8
|
6. Update README with new version.
|
data/lib/promoted/ruby/client.rb
CHANGED
@@ -39,7 +39,7 @@ module Promoted
|
|
39
39
|
|
40
40
|
##
|
41
41
|
# Create and configure a new Promoted client.
|
42
|
-
def initialize
|
42
|
+
def initialize(params={})
|
43
43
|
@perform_checks = true
|
44
44
|
if params[:perform_checks] != nil
|
45
45
|
@perform_checks = params[:perform_checks]
|
@@ -175,7 +175,7 @@ module Promoted
|
|
175
175
|
|
176
176
|
insertions_from_delivery = (response != nil && !deliver_err);
|
177
177
|
response_insertions = delivery_request_builder.fill_details_from_response(
|
178
|
-
response
|
178
|
+
response && response[:insertion] || [])
|
179
179
|
end
|
180
180
|
end
|
181
181
|
|
@@ -318,7 +318,7 @@ module Promoted
|
|
318
318
|
|
319
319
|
ellapsed_time = Time.now - start_time
|
320
320
|
@logger.debug("Sync send_request completed in #{ellapsed_time.to_f * 1000} ms") if @logger
|
321
|
-
|
321
|
+
end
|
322
322
|
|
323
323
|
return resp
|
324
324
|
end
|
@@ -357,7 +357,7 @@ module Promoted
|
|
357
357
|
|
358
358
|
if !@async_shadow_traffic
|
359
359
|
ellapsed_time = Time.now - start_time
|
360
|
-
insertions = response
|
360
|
+
insertions = response && response[:insertion] || []
|
361
361
|
@logger.info("Shadow traffic call completed in #{ellapsed_time.to_f * 1000} ms with #{insertions.length} insertions") if @logger
|
362
362
|
end
|
363
363
|
end
|
@@ -11,13 +11,13 @@ module Promoted
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class Pager
|
14
|
-
def validate_paging
|
14
|
+
def validate_paging(insertions, paging)
|
15
15
|
if paging && paging[:offset] && paging[:offset] >= insertions.length
|
16
16
|
raise InvalidPagingError.new("Invalid page offset (insertion size #{insertions.length}, offset #{paging[:offset]})", [])
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
def apply_paging
|
20
|
+
def apply_paging(insertions, insertion_page_type, paging = nil)
|
21
21
|
begin
|
22
22
|
validate_paging(insertions, paging)
|
23
23
|
rescue InvalidPagingError => err
|
@@ -47,7 +47,7 @@ module Promoted
|
|
47
47
|
size = insertions.length
|
48
48
|
end
|
49
49
|
|
50
|
-
final_insertion_size = [size, insertions.length].min
|
50
|
+
final_insertion_size = [size, insertions.length - index].min
|
51
51
|
insertion_page = Array.new(final_insertion_size)
|
52
52
|
0.upto(final_insertion_size - 1) {|i|
|
53
53
|
insertion = insertions[index]
|
@@ -63,5 +63,5 @@ module Promoted
|
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
66
|
-
|
66
|
+
end
|
67
67
|
end
|
@@ -78,7 +78,7 @@ module Promoted
|
|
78
78
|
# to the responses.
|
79
79
|
def fill_details_from_response response_insertions
|
80
80
|
if !response_insertions then
|
81
|
-
response_insertions =
|
81
|
+
response_insertions = []
|
82
82
|
end
|
83
83
|
|
84
84
|
props = @full_insertion.each_with_object({}) do |insertion, hash|
|
@@ -14,6 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.homepage = 'https://github.com/promotedai/promoted-ruby-client'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
|
17
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org/"
|
17
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
19
|
spec.metadata["source_code_uri"] = "https://github.com/promotedai/promoted-ruby-client"
|
19
20
|
spec.metadata["changelog_uri"] = "https://github.com/promotedai/promoted-ruby-client/blob/master/CHANGELOG.md"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: promoted-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- scottmcmaster
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -150,6 +150,7 @@ homepage: https://github.com/promotedai/promoted-ruby-client
|
|
150
150
|
licenses:
|
151
151
|
- MIT
|
152
152
|
metadata:
|
153
|
+
allowed_push_host: https://rubygems.org/
|
153
154
|
homepage_uri: https://github.com/promotedai/promoted-ruby-client
|
154
155
|
source_code_uri: https://github.com/promotedai/promoted-ruby-client
|
155
156
|
changelog_uri: https://github.com/promotedai/promoted-ruby-client/blob/master/CHANGELOG.md
|