oursprivacy-ingest 1.1.3 → 1.2.1

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: a395008c699e38a5d9e8d08435fc62c502fb7e6edf15d72163f9c1204a9f0723
4
- data.tar.gz: 4c6d6835353d0784b9eecfb868aa3307b4a6e33c75100e65563214bab1858826
3
+ metadata.gz: e84a12ba489e284c23e77f1a1f527956f76302e8194b45919c906ada1a6b5e11
4
+ data.tar.gz: e553fb308d5402075bd3b8e514c38aa2201a3689ab4764f451db56dbf5023b00
5
5
  SHA512:
6
- metadata.gz: b05710f17092e276f0a3d4aa25a72202617e7ff88d8b471c12b41e4d59d23a85626c1d4e9f6d29ae68085059e5d20e3f5b2233ddbfa2cd811543d1623610dd0e
7
- data.tar.gz: 1d8edc8de137c5d230677e2a957af8c0a586e35990775113c7b2214ff7eed9c91717f057927a7e2b5e687d8b8a7e7c6263404129c2407b169ce71df6660c78e7
6
+ metadata.gz: 9e6d9b910d788a60bf40acefe932d1909bd12a60675bc83f5de886a2ac329de759b9b0a4eaeeb5df7630e92fecc44a3bceb44d93b40f78a519dae79aa651911f
7
+ data.tar.gz: 52c01fb00105fc7bcb3119de94f41f571ab7066938a8940bff50170205e3bdf0b01e5115b542ca25c982284b6b2858446460d1caccae1fb259569f3ca38f753e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.1 (2026-04-01)
4
+
5
+ Full Changelog: [v1.2.0...v1.2.1](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.2.0...v1.2.1)
6
+
7
+ ### Bug Fixes
8
+
9
+ * align path encoding with RFC 3986 section 3.3 ([0580237](https://github.com/with-ours/ingest-sdk-ruby/commit/0580237426058ddfc9b8d38d85158ac159fe8182))
10
+ * variable name typo ([ff3f737](https://github.com/with-ours/ingest-sdk-ruby/commit/ff3f7376cb0a2d34c318b83e14c22ae8b19ba615))
11
+
12
+ ## 1.2.0 (2026-03-28)
13
+
14
+ Full Changelog: [v1.1.3...v1.2.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.1.3...v1.2.0)
15
+
16
+ ### Features
17
+
18
+ * **api:** api update ([ad794cf](https://github.com/with-ours/ingest-sdk-ruby/commit/ad794cf098081e7d48cc92784e77a34ac2714044))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * **internal:** correct multipart form field name encoding ([b52a0a0](https://github.com/with-ours/ingest-sdk-ruby/commit/b52a0a02de05377a9420446553f4b42aa7ca94d5))
24
+
25
+
26
+ ### Chores
27
+
28
+ * **ci:** support opting out of skipping builds on metadata-only commits ([3aa53c0](https://github.com/with-ours/ingest-sdk-ruby/commit/3aa53c031bcd290bb5f4970da64227257fee7736))
29
+
3
30
  ## 1.1.3 (2026-03-25)
4
31
 
5
32
  Full Changelog: [v1.1.2...v1.1.3](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.1.2...v1.1.3)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "oursprivacy-ingest", "~> 1.1.3"
20
+ gem "oursprivacy-ingest", "~> 1.2.1"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -157,7 +157,7 @@ module OursprivacyIngest
157
157
  in Hash | nil => coerced
158
158
  coerced
159
159
  else
160
- message = "Expected a #{Hash} or #{OursprivacyIngest::Internal::Type::BaseModel}, got #{data.inspect}"
160
+ message = "Expected a #{Hash} or #{OursprivacyIngest::Internal::Type::BaseModel}, got #{input.inspect}"
161
161
  raise ArgumentError.new(message)
162
162
  end
163
163
  end
@@ -237,6 +237,11 @@ module OursprivacyIngest
237
237
  end
238
238
  end
239
239
 
240
+ # @type [Regexp]
241
+ #
242
+ # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
243
+ RFC_3986_NOT_PCHARS = /[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/
244
+
240
245
  class << self
241
246
  # @api private
242
247
  #
@@ -247,6 +252,15 @@ module OursprivacyIngest
247
252
  "#{uri.scheme}://#{uri.host}#{":#{uri.port}" unless uri.port == uri.default_port}"
248
253
  end
249
254
 
255
+ # @api private
256
+ #
257
+ # @param path [String, Integer]
258
+ #
259
+ # @return [String]
260
+ def encode_path(path)
261
+ path.to_s.gsub(OursprivacyIngest::Internal::Util::RFC_3986_NOT_PCHARS) { ERB::Util.url_encode(_1) }
262
+ end
263
+
250
264
  # @api private
251
265
  #
252
266
  # @param path [String, Array<String>]
@@ -259,7 +273,7 @@ module OursprivacyIngest
259
273
  in []
260
274
  ""
261
275
  in [String => p, *interpolations]
262
- encoded = interpolations.map { ERB::Util.url_encode(_1) }
276
+ encoded = interpolations.map { encode_path(_1) }
263
277
  format(p, *encoded)
264
278
  end
265
279
  end
@@ -571,16 +585,15 @@ module OursprivacyIngest
571
585
  y << "Content-Disposition: form-data"
572
586
 
573
587
  unless key.nil?
574
- name = ERB::Util.url_encode(key.to_s)
575
- y << "; name=\"#{name}\""
588
+ y << "; name=\"#{key}\""
576
589
  end
577
590
 
578
591
  case val
579
592
  in OursprivacyIngest::FilePart unless val.filename.nil?
580
- filename = ERB::Util.url_encode(val.filename)
593
+ filename = encode_path(val.filename)
581
594
  y << "; filename=\"#{filename}\""
582
595
  in Pathname | IO
583
- filename = ERB::Util.url_encode(::File.basename(val.to_path))
596
+ filename = encode_path(::File.basename(val.to_path))
584
597
  y << "; filename=\"#{filename}\""
585
598
  else
586
599
  end
@@ -157,6 +157,12 @@ module OursprivacyIngest
157
157
  # @return [String, nil]
158
158
  optional :aleid, String, nil?: true
159
159
 
160
+ # @!attribute axwrt
161
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
162
+ #
163
+ # @return [String, nil]
164
+ optional :axwrt, String, nil?: true
165
+
160
166
  # @!attribute basis_cid
161
167
  # The Basis DSP Click ID. Ex: basis_cid123
162
168
  #
@@ -553,7 +559,7 @@ module OursprivacyIngest
553
559
  # @return [Boolean, nil]
554
560
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
555
561
 
556
- # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, basis_cid: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, wbraid: nil, webview: nil)
562
+ # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, wbraid: nil, webview: nil)
557
563
  # Some parameter documentations has been truncated, see
558
564
  # {OursprivacyIngest::Models::TrackEventParams::DefaultProperties} for more
559
565
  # details.
@@ -571,6 +577,8 @@ module OursprivacyIngest
571
577
  #
572
578
  # @param aleid [String, nil] The AppLovin aleid query parameter. Ex: aleid123
573
579
  #
580
+ # @param axwrt [String, nil] The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
581
+ #
574
582
  # @param basis_cid [String, nil] The Basis DSP Click ID. Ex: basis_cid123
575
583
  #
576
584
  # @param browser_language [String, nil] The language of the browser. Ex: en-US
@@ -746,6 +754,11 @@ module OursprivacyIngest
746
754
  # @return [String, nil]
747
755
  optional :aleid, String, nil?: true
748
756
 
757
+ # @!attribute axwrt
758
+ #
759
+ # @return [String, nil]
760
+ optional :axwrt, String, nil?: true
761
+
749
762
  # @!attribute basis_cid
750
763
  #
751
764
  # @return [String, nil]
@@ -1007,7 +1020,7 @@ module OursprivacyIngest
1007
1020
  # @return [String, nil]
1008
1021
  optional :zip, String, nil?: true
1009
1022
 
1010
- # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, basis_cid: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, wbraid: nil, zip: nil)
1023
+ # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, wbraid: nil, zip: nil)
1011
1024
  # Properties to set on the visitor. (optional) You can also update these
1012
1025
  # properties via the identify endpoint.
1013
1026
  #
@@ -1019,6 +1032,8 @@ module OursprivacyIngest
1019
1032
  #
1020
1033
  # @param aleid [String, nil]
1021
1034
  #
1035
+ # @param axwrt [String, nil]
1036
+ #
1022
1037
  # @param basis_cid [String, nil]
1023
1038
  #
1024
1039
  # @param campaign_id [String, nil]
@@ -109,6 +109,11 @@ module OursprivacyIngest
109
109
  # @return [String, nil]
110
110
  optional :aleid, String, nil?: true
111
111
 
112
+ # @!attribute axwrt
113
+ #
114
+ # @return [String, nil]
115
+ optional :axwrt, String, nil?: true
116
+
112
117
  # @!attribute basis_cid
113
118
  #
114
119
  # @return [String, nil]
@@ -370,7 +375,7 @@ module OursprivacyIngest
370
375
  # @return [String, nil]
371
376
  optional :zip, String, nil?: true
372
377
 
373
- # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, basis_cid: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, wbraid: nil, zip: nil)
378
+ # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, wbraid: nil, zip: nil)
374
379
  # User properties to associate with this user. The existing user properties will
375
380
  # be updated. And all future events will have these properties associated with
376
381
  # them.
@@ -383,6 +388,8 @@ module OursprivacyIngest
383
388
  #
384
389
  # @param aleid [String, nil]
385
390
  #
391
+ # @param axwrt [String, nil]
392
+ #
386
393
  # @param basis_cid [String, nil]
387
394
  #
388
395
  # @param campaign_id [String, nil]
@@ -520,6 +527,12 @@ module OursprivacyIngest
520
527
  # @return [String, nil]
521
528
  optional :aleid, String, nil?: true
522
529
 
530
+ # @!attribute axwrt
531
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
532
+ #
533
+ # @return [String, nil]
534
+ optional :axwrt, String, nil?: true
535
+
523
536
  # @!attribute basis_cid
524
537
  # The Basis DSP Click ID. Ex: basis_cid123
525
538
  #
@@ -916,7 +929,7 @@ module OursprivacyIngest
916
929
  # @return [Boolean, nil]
917
930
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
918
931
 
919
- # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, basis_cid: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, wbraid: nil, webview: nil)
932
+ # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, wbraid: nil, webview: nil)
920
933
  # Some parameter documentations has been truncated, see
921
934
  # {OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties} for more
922
935
  # details.
@@ -934,6 +947,8 @@ module OursprivacyIngest
934
947
  #
935
948
  # @param aleid [String, nil] The AppLovin aleid query parameter. Ex: aleid123
936
949
  #
950
+ # @param axwrt [String, nil] The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
951
+ #
937
952
  # @param basis_cid [String, nil] The Basis DSP Click ID. Ex: basis_cid123
938
953
  #
939
954
  # @param browser_language [String, nil] The language of the browser. Ex: en-US
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OursprivacyIngest
4
- VERSION = "1.1.3"
4
+ VERSION = "1.2.1"
5
5
  end
@@ -148,12 +148,20 @@ module OursprivacyIngest
148
148
  end
149
149
  end
150
150
 
151
+ # https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
152
+ RFC_3986_NOT_PCHARS = T.let(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/, Regexp)
153
+
151
154
  class << self
152
155
  # @api private
153
156
  sig { params(uri: URI::Generic).returns(String) }
154
157
  def uri_origin(uri)
155
158
  end
156
159
 
160
+ # @api private
161
+ sig { params(path: T.any(String, Integer)).returns(String) }
162
+ def encode_path(path)
163
+ end
164
+
157
165
  # @api private
158
166
  sig { params(path: T.any(String, T::Array[String])).returns(String) }
159
167
  def interpolate_path(path)
@@ -226,6 +226,10 @@ module OursprivacyIngest
226
226
  sig { returns(T.nilable(String)) }
227
227
  attr_accessor :aleid
228
228
 
229
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
230
+ sig { returns(T.nilable(String)) }
231
+ attr_accessor :axwrt
232
+
229
233
  # The Basis DSP Click ID. Ex: basis_cid123
230
234
  sig { returns(T.nilable(String)) }
231
235
  attr_accessor :basis_cid
@@ -501,6 +505,7 @@ module OursprivacyIngest
501
505
  adset_id: T.nilable(String),
502
506
  alart: T.nilable(String),
503
507
  aleid: T.nilable(String),
508
+ axwrt: T.nilable(String),
504
509
  basis_cid: T.nilable(String),
505
510
  browser_language: T.nilable(String),
506
511
  browser_name: T.nilable(String),
@@ -580,6 +585,8 @@ module OursprivacyIngest
580
585
  alart: nil,
581
586
  # The AppLovin aleid query parameter. Ex: aleid123
582
587
  aleid: nil,
588
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
589
+ axwrt: nil,
583
590
  # The Basis DSP Click ID. Ex: basis_cid123
584
591
  basis_cid: nil,
585
592
  # The language of the browser. Ex: en-US
@@ -727,6 +734,7 @@ module OursprivacyIngest
727
734
  adset_id: T.nilable(String),
728
735
  alart: T.nilable(String),
729
736
  aleid: T.nilable(String),
737
+ axwrt: T.nilable(String),
730
738
  basis_cid: T.nilable(String),
731
739
  browser_language: T.nilable(String),
732
740
  browser_name: T.nilable(String),
@@ -854,6 +862,9 @@ module OursprivacyIngest
854
862
  sig { returns(T.nilable(String)) }
855
863
  attr_accessor :aleid
856
864
 
865
+ sig { returns(T.nilable(String)) }
866
+ attr_accessor :axwrt
867
+
857
868
  sig { returns(T.nilable(String)) }
858
869
  attr_accessor :basis_cid
859
870
 
@@ -1019,6 +1030,7 @@ module OursprivacyIngest
1019
1030
  adset_id: T.nilable(String),
1020
1031
  alart: T.nilable(String),
1021
1032
  aleid: T.nilable(String),
1033
+ axwrt: T.nilable(String),
1022
1034
  basis_cid: T.nilable(String),
1023
1035
  campaign_id: T.nilable(String),
1024
1036
  city: T.nilable(String),
@@ -1078,6 +1090,7 @@ module OursprivacyIngest
1078
1090
  adset_id: nil,
1079
1091
  alart: nil,
1080
1092
  aleid: nil,
1093
+ axwrt: nil,
1081
1094
  basis_cid: nil,
1082
1095
  campaign_id: nil,
1083
1096
  city: nil,
@@ -1141,6 +1154,7 @@ module OursprivacyIngest
1141
1154
  adset_id: T.nilable(String),
1142
1155
  alart: T.nilable(String),
1143
1156
  aleid: T.nilable(String),
1157
+ axwrt: T.nilable(String),
1144
1158
  basis_cid: T.nilable(String),
1145
1159
  campaign_id: T.nilable(String),
1146
1160
  city: T.nilable(String),
@@ -183,6 +183,9 @@ module OursprivacyIngest
183
183
  sig { returns(T.nilable(String)) }
184
184
  attr_accessor :aleid
185
185
 
186
+ sig { returns(T.nilable(String)) }
187
+ attr_accessor :axwrt
188
+
186
189
  sig { returns(T.nilable(String)) }
187
190
  attr_accessor :basis_cid
188
191
 
@@ -349,6 +352,7 @@ module OursprivacyIngest
349
352
  adset_id: T.nilable(String),
350
353
  alart: T.nilable(String),
351
354
  aleid: T.nilable(String),
355
+ axwrt: T.nilable(String),
352
356
  basis_cid: T.nilable(String),
353
357
  campaign_id: T.nilable(String),
354
358
  city: T.nilable(String),
@@ -408,6 +412,7 @@ module OursprivacyIngest
408
412
  adset_id: nil,
409
413
  alart: nil,
410
414
  aleid: nil,
415
+ axwrt: nil,
411
416
  basis_cid: nil,
412
417
  campaign_id: nil,
413
418
  city: nil,
@@ -471,6 +476,7 @@ module OursprivacyIngest
471
476
  adset_id: T.nilable(String),
472
477
  alart: T.nilable(String),
473
478
  aleid: T.nilable(String),
479
+ axwrt: T.nilable(String),
474
480
  basis_cid: T.nilable(String),
475
481
  campaign_id: T.nilable(String),
476
482
  city: T.nilable(String),
@@ -560,6 +566,10 @@ module OursprivacyIngest
560
566
  sig { returns(T.nilable(String)) }
561
567
  attr_accessor :aleid
562
568
 
569
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
570
+ sig { returns(T.nilable(String)) }
571
+ attr_accessor :axwrt
572
+
563
573
  # The Basis DSP Click ID. Ex: basis_cid123
564
574
  sig { returns(T.nilable(String)) }
565
575
  attr_accessor :basis_cid
@@ -835,6 +845,7 @@ module OursprivacyIngest
835
845
  adset_id: T.nilable(String),
836
846
  alart: T.nilable(String),
837
847
  aleid: T.nilable(String),
848
+ axwrt: T.nilable(String),
838
849
  basis_cid: T.nilable(String),
839
850
  browser_language: T.nilable(String),
840
851
  browser_name: T.nilable(String),
@@ -914,6 +925,8 @@ module OursprivacyIngest
914
925
  alart: nil,
915
926
  # The AppLovin aleid query parameter. Ex: aleid123
916
927
  aleid: nil,
928
+ # The AppLovin Axon pixel cookie value (\_axwrt). Web-only.
929
+ axwrt: nil,
917
930
  # The Basis DSP Click ID. Ex: basis_cid123
918
931
  basis_cid: nil,
919
932
  # The language of the browser. Ex: en-US
@@ -1061,6 +1074,7 @@ module OursprivacyIngest
1061
1074
  adset_id: T.nilable(String),
1062
1075
  alart: T.nilable(String),
1063
1076
  aleid: T.nilable(String),
1077
+ axwrt: T.nilable(String),
1064
1078
  basis_cid: T.nilable(String),
1065
1079
  browser_language: T.nilable(String),
1066
1080
  browser_name: T.nilable(String),
@@ -45,8 +45,12 @@ module OursprivacyIngest
45
45
  -> top?
46
46
  } -> top?
47
47
 
48
+ RFC_3986_NOT_PCHARS: Regexp
49
+
48
50
  def self?.uri_origin: (URI::Generic uri) -> String
49
51
 
52
+ def self?.encode_path: (String | Integer path) -> String
53
+
50
54
  def self?.interpolate_path: (String | ::Array[String] path) -> String
51
55
 
52
56
  def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
@@ -79,6 +79,7 @@ module OursprivacyIngest
79
79
  adset_id: String?,
80
80
  alart: String?,
81
81
  aleid: String?,
82
+ axwrt: String?,
82
83
  basis_cid: String?,
83
84
  browser_language: String?,
84
85
  browser_name: String?,
@@ -157,6 +158,8 @@ module OursprivacyIngest
157
158
 
158
159
  attr_accessor aleid: String?
159
160
 
161
+ attr_accessor axwrt: String?
162
+
160
163
  attr_accessor basis_cid: String?
161
164
 
162
165
  attr_accessor browser_language: String?
@@ -293,6 +296,7 @@ module OursprivacyIngest
293
296
  ?adset_id: String?,
294
297
  ?alart: String?,
295
298
  ?aleid: String?,
299
+ ?axwrt: String?,
296
300
  ?basis_cid: String?,
297
301
  ?browser_language: String?,
298
302
  ?browser_name: String?,
@@ -366,6 +370,7 @@ module OursprivacyIngest
366
370
  adset_id: String?,
367
371
  alart: String?,
368
372
  aleid: String?,
373
+ axwrt: String?,
369
374
  basis_cid: String?,
370
375
  browser_language: String?,
371
376
  browser_name: String?,
@@ -452,6 +457,7 @@ module OursprivacyIngest
452
457
  adset_id: String?,
453
458
  alart: String?,
454
459
  aleid: String?,
460
+ axwrt: String?,
455
461
  basis_cid: String?,
456
462
  campaign_id: String?,
457
463
  city: String?,
@@ -515,6 +521,8 @@ module OursprivacyIngest
515
521
 
516
522
  attr_accessor aleid: String?
517
523
 
524
+ attr_accessor axwrt: String?
525
+
518
526
  attr_accessor basis_cid: String?
519
527
 
520
528
  attr_accessor campaign_id: String?
@@ -624,6 +632,7 @@ module OursprivacyIngest
624
632
  ?adset_id: String?,
625
633
  ?alart: String?,
626
634
  ?aleid: String?,
635
+ ?axwrt: String?,
627
636
  ?basis_cid: String?,
628
637
  ?campaign_id: String?,
629
638
  ?city: String?,
@@ -683,6 +692,7 @@ module OursprivacyIngest
683
692
  adset_id: String?,
684
693
  alart: String?,
685
694
  aleid: String?,
695
+ axwrt: String?,
686
696
  basis_cid: String?,
687
697
  campaign_id: String?,
688
698
  city: String?,
@@ -58,6 +58,7 @@ module OursprivacyIngest
58
58
  adset_id: String?,
59
59
  alart: String?,
60
60
  aleid: String?,
61
+ axwrt: String?,
61
62
  basis_cid: String?,
62
63
  campaign_id: String?,
63
64
  city: String?,
@@ -121,6 +122,8 @@ module OursprivacyIngest
121
122
 
122
123
  attr_accessor aleid: String?
123
124
 
125
+ attr_accessor axwrt: String?
126
+
124
127
  attr_accessor basis_cid: String?
125
128
 
126
129
  attr_accessor campaign_id: String?
@@ -230,6 +233,7 @@ module OursprivacyIngest
230
233
  ?adset_id: String?,
231
234
  ?alart: String?,
232
235
  ?aleid: String?,
236
+ ?axwrt: String?,
233
237
  ?basis_cid: String?,
234
238
  ?campaign_id: String?,
235
239
  ?city: String?,
@@ -289,6 +293,7 @@ module OursprivacyIngest
289
293
  adset_id: String?,
290
294
  alart: String?,
291
295
  aleid: String?,
296
+ axwrt: String?,
292
297
  basis_cid: String?,
293
298
  campaign_id: String?,
294
299
  city: String?,
@@ -351,6 +356,7 @@ module OursprivacyIngest
351
356
  adset_id: String?,
352
357
  alart: String?,
353
358
  aleid: String?,
359
+ axwrt: String?,
354
360
  basis_cid: String?,
355
361
  browser_language: String?,
356
362
  browser_name: String?,
@@ -429,6 +435,8 @@ module OursprivacyIngest
429
435
 
430
436
  attr_accessor aleid: String?
431
437
 
438
+ attr_accessor axwrt: String?
439
+
432
440
  attr_accessor basis_cid: String?
433
441
 
434
442
  attr_accessor browser_language: String?
@@ -565,6 +573,7 @@ module OursprivacyIngest
565
573
  ?adset_id: String?,
566
574
  ?alart: String?,
567
575
  ?aleid: String?,
576
+ ?axwrt: String?,
568
577
  ?basis_cid: String?,
569
578
  ?browser_language: String?,
570
579
  ?browser_name: String?,
@@ -638,6 +647,7 @@ module OursprivacyIngest
638
647
  adset_id: String?,
639
648
  alart: String?,
640
649
  aleid: String?,
650
+ axwrt: String?,
641
651
  basis_cid: String?,
642
652
  browser_language: String?,
643
653
  browser_name: String?,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oursprivacy-ingest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ours Privacy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-03-26 00:00:00.000000000 Z
11
+ date: 2026-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi