oursprivacy-ingest 1.16.2 → 1.18.0
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 +4 -4
- data/CHANGELOG.md +15 -0
- data/README.md +1 -3
- data/lib/oursprivacy_ingest/models/experiment_personalization_response.rb +32 -1
- data/lib/oursprivacy_ingest/resources/batch.rb +4 -3
- data/lib/oursprivacy_ingest/resources/experiments.rb +7 -4
- data/lib/oursprivacy_ingest/version.rb +1 -1
- data/rbi/oursprivacy_ingest/models/experiment_personalization_response.rbi +53 -1
- data/rbi/oursprivacy_ingest/resources/batch.rbi +4 -3
- data/rbi/oursprivacy_ingest/resources/experiments.rbi +7 -4
- data/sig/oursprivacy_ingest/models/experiment_personalization_response.rbs +13 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22e4ba859643905caf56c7cf4e161514503d2cf4c47662d87232bd5d22229f27
|
|
4
|
+
data.tar.gz: d14639768b9c3cd94b9e842bb64bdd8784ba109746be2d6eb2af0ebf24454d45
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3a8582c10816b4ecbbe89a80c302c7c8ddd6654db913d12a0dd4d5eb99e9761531180b8c97a0b459b34b3cb94b64a65631e3eaf29753f4ccc0d380d16f0a08e4
|
|
7
|
+
data.tar.gz: b03ea599196cb64ed9bfc7e4b212df77289fba26e5b3480eebc4dde1a6fd1f1f3b97d4ec6b653cd091ac4f8e2bf32314b1585d293b35774a34facea01db1bf93
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.18.0 (2026-09-11)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.17.0...v1.18.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.17.0...v1.18.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** API update.
|
|
10
|
+
## 1.17.0 (2026-08-21)
|
|
11
|
+
|
|
12
|
+
Full Changelog: [v1.16.2...v1.17.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.16.2...v1.17.0)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **api:** api update ([b8020be](https://github.com/with-ours/ingest-sdk-ruby/commit/b8020be57eff92f2009805eee4d558bd9dab78f0))
|
|
17
|
+
|
|
3
18
|
## 1.16.2 (2026-08-03)
|
|
4
19
|
|
|
5
20
|
Full Changelog: [v1.16.1...v1.16.2](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.16.1...v1.16.2)
|
data/README.md
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
The Ours Privacy Ruby library provides convenient access to the Ours Privacy REST API from any Ruby 3.2.0+ application. It ships with comprehensive types & docstrings in Yard, RBS, and RBI – [see below](https://github.com/with-ours/ingest-sdk-ruby#Sorbet) for usage with Sorbet. The standard library's `net/http` is used as the HTTP transport, with connection pooling via the `connection_pool` gem.
|
|
4
4
|
|
|
5
|
-
It is generated with [Stainless](https://www.stainless.com/).
|
|
6
|
-
|
|
7
5
|
## Documentation
|
|
8
6
|
|
|
9
7
|
Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/oursprivacy-ingest).
|
|
@@ -17,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
17
15
|
<!-- x-release-please-start-version -->
|
|
18
16
|
|
|
19
17
|
```ruby
|
|
20
|
-
gem "oursprivacy-ingest", "~> 1.
|
|
18
|
+
gem "oursprivacy-ingest", "~> 1.18.0"
|
|
21
19
|
```
|
|
22
20
|
|
|
23
21
|
<!-- x-release-please-end -->
|
|
@@ -10,13 +10,31 @@ module OursprivacyIngest
|
|
|
10
10
|
required :personalizations,
|
|
11
11
|
-> { OursprivacyIngest::Internal::Type::ArrayOf[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization] }
|
|
12
12
|
|
|
13
|
+
# @!attribute properties
|
|
14
|
+
# The visitor traits accumulated by your personalization property rules, keyed by
|
|
15
|
+
# property key. Values are always scalars — a string, number, or boolean, or null
|
|
16
|
+
# when the captured field was itself empty. Empty for a visitor who has not
|
|
17
|
+
# matched any rule yet. These same values are delivered to the visitor's browser
|
|
18
|
+
# and are readable by anyone who knows the visitor_id, so never accumulate
|
|
19
|
+
# secrets, credentials, PHI, or confidential data into a property.
|
|
20
|
+
#
|
|
21
|
+
# @return [Hash{Symbol=>String, Float, Boolean}]
|
|
22
|
+
required :properties,
|
|
23
|
+
-> { OursprivacyIngest::Internal::Type::HashOf[union: OursprivacyIngest::Models::ExperimentPersonalizationResponse::Property] }
|
|
24
|
+
|
|
13
25
|
# @!attribute success
|
|
14
26
|
#
|
|
15
27
|
# @return [Boolean, OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success]
|
|
16
28
|
required :success, enum: -> { OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success }
|
|
17
29
|
|
|
18
|
-
# @!method initialize(personalizations:, success:)
|
|
30
|
+
# @!method initialize(personalizations:, properties:, success:)
|
|
31
|
+
# Some parameter documentations has been truncated, see
|
|
32
|
+
# {OursprivacyIngest::Models::ExperimentPersonalizationResponse} for more details.
|
|
33
|
+
#
|
|
19
34
|
# @param personalizations [Array<OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization>]
|
|
35
|
+
#
|
|
36
|
+
# @param properties [Hash{Symbol=>String, Float, Boolean}] The visitor traits accumulated by your personalization property rules, keyed by
|
|
37
|
+
#
|
|
20
38
|
# @param success [Boolean, OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success]
|
|
21
39
|
|
|
22
40
|
class Personalization < OursprivacyIngest::Internal::Type::BaseModel
|
|
@@ -59,6 +77,19 @@ module OursprivacyIngest
|
|
|
59
77
|
# @param variant_name [String, nil]
|
|
60
78
|
end
|
|
61
79
|
|
|
80
|
+
module Property
|
|
81
|
+
extend OursprivacyIngest::Internal::Type::Union
|
|
82
|
+
|
|
83
|
+
variant String
|
|
84
|
+
|
|
85
|
+
variant Float
|
|
86
|
+
|
|
87
|
+
variant OursprivacyIngest::Internal::Type::Boolean
|
|
88
|
+
|
|
89
|
+
# @!method self.variants
|
|
90
|
+
# @return [Array(String, Float, Boolean)]
|
|
91
|
+
end
|
|
92
|
+
|
|
62
93
|
# @see OursprivacyIngest::Models::ExperimentPersonalizationResponse#success
|
|
63
94
|
module Success
|
|
64
95
|
extend OursprivacyIngest::Internal::Type::Enum
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
module OursprivacyIngest
|
|
4
4
|
module Resources
|
|
5
5
|
class Batch
|
|
6
|
-
# Send multiple `/track`-shaped events in a single request.
|
|
7
|
-
#
|
|
8
|
-
#
|
|
6
|
+
# Send multiple `/track`-shaped events in a single request. This endpoint is
|
|
7
|
+
# intended for replay, backfill, and asynchronous bulk delivery. The top-level
|
|
8
|
+
# token is authorized once for the full batch. Each batch row must include
|
|
9
|
+
# `distinctId`, and mixed validation or queue outcomes are reported per row.
|
|
9
10
|
#
|
|
10
11
|
# @overload create(token:, events:, request_options: {})
|
|
11
12
|
#
|
|
@@ -51,10 +51,13 @@ module OursprivacyIngest
|
|
|
51
51
|
)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
# Return
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
54
|
+
# Return a visitor's active personalization assignments and accumulated
|
|
55
|
+
# personalization properties. Read-only and never records an impression.
|
|
56
|
+
# `personalizations` lists the personalization experiences the visitor is
|
|
57
|
+
# currently assigned to; `properties` returns the visitor traits your
|
|
58
|
+
# personalization property rules have accumulated, ready to use in server-rendered
|
|
59
|
+
# copy or targeting. Both are empty for a visitor who has not matched anything
|
|
60
|
+
# yet.
|
|
58
61
|
#
|
|
59
62
|
# @overload personalization(token:, visitor_id:, request_options: {})
|
|
60
63
|
#
|
|
@@ -20,6 +20,22 @@ module OursprivacyIngest
|
|
|
20
20
|
end
|
|
21
21
|
attr_accessor :personalizations
|
|
22
22
|
|
|
23
|
+
# The visitor traits accumulated by your personalization property rules, keyed by
|
|
24
|
+
# property key. Values are always scalars — a string, number, or boolean, or null
|
|
25
|
+
# when the captured field was itself empty. Empty for a visitor who has not
|
|
26
|
+
# matched any rule yet. These same values are delivered to the visitor's browser
|
|
27
|
+
# and are readable by anyone who knows the visitor_id, so never accumulate
|
|
28
|
+
# secrets, credentials, PHI, or confidential data into a property.
|
|
29
|
+
sig do
|
|
30
|
+
returns(
|
|
31
|
+
T::Hash[
|
|
32
|
+
Symbol,
|
|
33
|
+
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Property::Variants
|
|
34
|
+
]
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
attr_accessor :properties
|
|
38
|
+
|
|
23
39
|
sig do
|
|
24
40
|
returns(
|
|
25
41
|
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success::TaggedBoolean
|
|
@@ -33,11 +49,26 @@ module OursprivacyIngest
|
|
|
33
49
|
T::Array[
|
|
34
50
|
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization::OrHash
|
|
35
51
|
],
|
|
52
|
+
properties:
|
|
53
|
+
T::Hash[
|
|
54
|
+
Symbol,
|
|
55
|
+
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Property::Variants
|
|
56
|
+
],
|
|
36
57
|
success:
|
|
37
58
|
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success::OrBoolean
|
|
38
59
|
).returns(T.attached_class)
|
|
39
60
|
end
|
|
40
|
-
def self.new(
|
|
61
|
+
def self.new(
|
|
62
|
+
personalizations:,
|
|
63
|
+
# The visitor traits accumulated by your personalization property rules, keyed by
|
|
64
|
+
# property key. Values are always scalars — a string, number, or boolean, or null
|
|
65
|
+
# when the captured field was itself empty. Empty for a visitor who has not
|
|
66
|
+
# matched any rule yet. These same values are delivered to the visitor's browser
|
|
67
|
+
# and are readable by anyone who knows the visitor_id, so never accumulate
|
|
68
|
+
# secrets, credentials, PHI, or confidential data into a property.
|
|
69
|
+
properties:,
|
|
70
|
+
success:
|
|
71
|
+
)
|
|
41
72
|
end
|
|
42
73
|
|
|
43
74
|
sig do
|
|
@@ -47,6 +78,11 @@ module OursprivacyIngest
|
|
|
47
78
|
T::Array[
|
|
48
79
|
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization
|
|
49
80
|
],
|
|
81
|
+
properties:
|
|
82
|
+
T::Hash[
|
|
83
|
+
Symbol,
|
|
84
|
+
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Property::Variants
|
|
85
|
+
],
|
|
50
86
|
success:
|
|
51
87
|
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success::TaggedBoolean
|
|
52
88
|
}
|
|
@@ -118,6 +154,22 @@ module OursprivacyIngest
|
|
|
118
154
|
end
|
|
119
155
|
end
|
|
120
156
|
|
|
157
|
+
module Property
|
|
158
|
+
extend OursprivacyIngest::Internal::Type::Union
|
|
159
|
+
|
|
160
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
161
|
+
|
|
162
|
+
sig do
|
|
163
|
+
override.returns(
|
|
164
|
+
T::Array[
|
|
165
|
+
OursprivacyIngest::Models::ExperimentPersonalizationResponse::Property::Variants
|
|
166
|
+
]
|
|
167
|
+
)
|
|
168
|
+
end
|
|
169
|
+
def self.variants
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
|
|
121
173
|
module Success
|
|
122
174
|
extend OursprivacyIngest::Internal::Type::Enum
|
|
123
175
|
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
module OursprivacyIngest
|
|
4
4
|
module Resources
|
|
5
5
|
class Batch
|
|
6
|
-
# Send multiple `/track`-shaped events in a single request.
|
|
7
|
-
#
|
|
8
|
-
#
|
|
6
|
+
# Send multiple `/track`-shaped events in a single request. This endpoint is
|
|
7
|
+
# intended for replay, backfill, and asynchronous bulk delivery. The top-level
|
|
8
|
+
# token is authorized once for the full batch. Each batch row must include
|
|
9
|
+
# `distinctId`, and mixed validation or queue outcomes are reported per row.
|
|
9
10
|
sig do
|
|
10
11
|
params(
|
|
11
12
|
token: String,
|
|
@@ -45,10 +45,13 @@ module OursprivacyIngest
|
|
|
45
45
|
)
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
# Return
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
48
|
+
# Return a visitor's active personalization assignments and accumulated
|
|
49
|
+
# personalization properties. Read-only and never records an impression.
|
|
50
|
+
# `personalizations` lists the personalization experiences the visitor is
|
|
51
|
+
# currently assigned to; `properties` returns the visitor traits your
|
|
52
|
+
# personalization property rules have accumulated, ready to use in server-rendered
|
|
53
|
+
# copy or targeting. Both are empty for a visitor who has not matched anything
|
|
54
|
+
# yet.
|
|
52
55
|
sig do
|
|
53
56
|
params(
|
|
54
57
|
token: String,
|
|
@@ -3,21 +3,26 @@ module OursprivacyIngest
|
|
|
3
3
|
type experiment_personalization_response =
|
|
4
4
|
{
|
|
5
5
|
personalizations: ::Array[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization],
|
|
6
|
+
properties: ::Hash[Symbol, OursprivacyIngest::Models::ExperimentPersonalizationResponse::property],
|
|
6
7
|
success: OursprivacyIngest::Models::ExperimentPersonalizationResponse::success
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
class ExperimentPersonalizationResponse < OursprivacyIngest::Internal::Type::BaseModel
|
|
10
11
|
attr_accessor personalizations: ::Array[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization]
|
|
11
12
|
|
|
13
|
+
attr_accessor properties: ::Hash[Symbol, OursprivacyIngest::Models::ExperimentPersonalizationResponse::property]
|
|
14
|
+
|
|
12
15
|
attr_accessor success: OursprivacyIngest::Models::ExperimentPersonalizationResponse::success
|
|
13
16
|
|
|
14
17
|
def initialize: (
|
|
15
18
|
personalizations: ::Array[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization],
|
|
19
|
+
properties: ::Hash[Symbol, OursprivacyIngest::Models::ExperimentPersonalizationResponse::property],
|
|
16
20
|
success: OursprivacyIngest::Models::ExperimentPersonalizationResponse::success
|
|
17
21
|
) -> void
|
|
18
22
|
|
|
19
23
|
def to_hash: -> {
|
|
20
24
|
personalizations: ::Array[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization],
|
|
25
|
+
properties: ::Hash[Symbol, OursprivacyIngest::Models::ExperimentPersonalizationResponse::property],
|
|
21
26
|
success: OursprivacyIngest::Models::ExperimentPersonalizationResponse::success
|
|
22
27
|
}
|
|
23
28
|
|
|
@@ -63,6 +68,14 @@ module OursprivacyIngest
|
|
|
63
68
|
}
|
|
64
69
|
end
|
|
65
70
|
|
|
71
|
+
type property = String | Float | bool
|
|
72
|
+
|
|
73
|
+
module Property
|
|
74
|
+
extend OursprivacyIngest::Internal::Type::Union
|
|
75
|
+
|
|
76
|
+
def self?.variants: -> ::Array[OursprivacyIngest::Models::ExperimentPersonalizationResponse::property]
|
|
77
|
+
end
|
|
78
|
+
|
|
66
79
|
type success = true
|
|
67
80
|
|
|
68
81
|
module Success
|
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.
|
|
4
|
+
version: 1.18.0
|
|
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-
|
|
11
|
+
date: 2026-09-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|