knockapi 1.25.0 → 1.26.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 +29 -0
- data/README.md +1 -1
- data/lib/knockapi/internal/transport/pooled_net_requester.rb +12 -10
- data/lib/knockapi/internal/util.rb +7 -2
- data/lib/knockapi/models/condition.rb +1 -1
- data/lib/knockapi/models/users/guide_get_channel_response.rb +52 -1
- data/lib/knockapi/version.rb +1 -1
- data/rbi/knockapi/models/condition.rbi +2 -2
- data/rbi/knockapi/models/users/guide_get_channel_response.rbi +123 -1
- data/sig/knockapi/models/condition.rbs +2 -2
- data/sig/knockapi/models/users/guide_get_channel_response.rbs +52 -3
- metadata +16 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 42cb0fe9e17a3aa6604e9b5059e49852d7289815cc62c96ea60dfcc95a9f3d83
|
|
4
|
+
data.tar.gz: dc86f87556acc0929eb541f2102b12f397363cf8e2498329e2969202038313da
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 804874b733eb20bacb0b382660825015558e582a7f450538d9226b4f9be6fc58f2175c9740d36a79cc4363e2b214ec3361c399e6a9832878364485e9e0164f06
|
|
7
|
+
data.tar.gz: 9d1bc8e9d15cc4b0113e8df8351f7d3309199132d8adcf24475d0fcfa1d1e48cb695a596725c3d93caf65fa9a7144f581c0606e99f6d7ee0fe2c67faab3dbf97
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.26.0 (2026-01-16)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.25.1...v1.26.0](https://github.com/knocklabs/knock-ruby/compare/v1.25.1...v1.26.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([04d2e5a](https://github.com/knocklabs/knock-ruby/commit/04d2e5a33c984fc502525a4994cd3e15023b028a))
|
|
10
|
+
* **api:** api update ([0e52398](https://github.com/knocklabs/knock-ruby/commit/0e52398502d88f25790725df54813f5cece44a69))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Chores
|
|
14
|
+
|
|
15
|
+
* **internal:** update `actions/checkout` version ([aa18733](https://github.com/knocklabs/knock-ruby/commit/aa187339691334c36410d2eb2d35eeb62addc122))
|
|
16
|
+
* move `cgi` into dependencies for ruby 4 ([e06fcea](https://github.com/knocklabs/knock-ruby/commit/e06fcea3affc4265c987a44731bd7c6c83ef291d))
|
|
17
|
+
|
|
18
|
+
## 1.25.1 (2026-01-05)
|
|
19
|
+
|
|
20
|
+
Full Changelog: [v1.25.0...v1.25.1](https://github.com/knocklabs/knock-ruby/compare/v1.25.0...v1.25.1)
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* calling `break` out of streams should be instantaneous ([e0aaa94](https://github.com/knocklabs/knock-ruby/commit/e0aaa946c031e505099b14ce116c8c759cd8a0d8))
|
|
25
|
+
* issue where json.parse errors when receiving HTTP 204 with nobody ([a3db935](https://github.com/knocklabs/knock-ruby/commit/a3db935b41a2910e81827c7de0a89a5598b7e7b2))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Chores
|
|
29
|
+
|
|
30
|
+
* **internal:** codegen related update ([c826f27](https://github.com/knocklabs/knock-ruby/commit/c826f27bab301d7b42e57433eb370a8593723a8f))
|
|
31
|
+
|
|
3
32
|
## 1.25.0 (2025-12-09)
|
|
4
33
|
|
|
5
34
|
Full Changelog: [v1.24.0...v1.25.0](https://github.com/knocklabs/knock-ruby/compare/v1.24.0...v1.25.0)
|
data/README.md
CHANGED
|
@@ -153,17 +153,19 @@ module Knockapi
|
|
|
153
153
|
end
|
|
154
154
|
|
|
155
155
|
self.class.calibrate_socket_timeout(conn, deadline)
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
156
|
+
::Kernel.catch(:jump) do
|
|
157
|
+
conn.request(req) do |rsp|
|
|
158
|
+
y << [req, rsp]
|
|
159
|
+
::Kernel.throw(:jump) if finished
|
|
160
|
+
|
|
161
|
+
rsp.read_body do |bytes|
|
|
162
|
+
y << bytes.force_encoding(Encoding::BINARY)
|
|
163
|
+
::Kernel.throw(:jump) if finished
|
|
164
|
+
|
|
165
|
+
self.class.calibrate_socket_timeout(conn, deadline)
|
|
166
|
+
end
|
|
167
|
+
eof = true
|
|
165
168
|
end
|
|
166
|
-
eof = true
|
|
167
169
|
end
|
|
168
170
|
end
|
|
169
171
|
ensure
|
|
@@ -657,7 +657,8 @@ module Knockapi
|
|
|
657
657
|
def decode_content(headers, stream:, suppress_error: false)
|
|
658
658
|
case (content_type = headers["content-type"])
|
|
659
659
|
in Knockapi::Internal::Util::JSON_CONTENT
|
|
660
|
-
json = stream.to_a.join
|
|
660
|
+
return nil if (json = stream.to_a.join).empty?
|
|
661
|
+
|
|
661
662
|
begin
|
|
662
663
|
JSON.parse(json, symbolize_names: true)
|
|
663
664
|
rescue JSON::ParserError => e
|
|
@@ -667,7 +668,11 @@ module Knockapi
|
|
|
667
668
|
in Knockapi::Internal::Util::JSONL_CONTENT
|
|
668
669
|
lines = decode_lines(stream)
|
|
669
670
|
chain_fused(lines) do |y|
|
|
670
|
-
lines.each
|
|
671
|
+
lines.each do
|
|
672
|
+
next if _1.empty?
|
|
673
|
+
|
|
674
|
+
y << JSON.parse(_1, symbolize_names: true)
|
|
675
|
+
end
|
|
671
676
|
end
|
|
672
677
|
in %r{^text/event-stream}
|
|
673
678
|
lines = decode_lines(stream)
|
|
@@ -49,7 +49,7 @@ module Knockapi
|
|
|
49
49
|
CONTAINS_ALL = :contains_all
|
|
50
50
|
IS_TIMESTAMP = :is_timestamp
|
|
51
51
|
IS_NOT_TIMESTAMP = :is_not_timestamp
|
|
52
|
-
|
|
52
|
+
IS_TIMESTAMP_ON_OR_AFTER = :is_timestamp_on_or_after
|
|
53
53
|
IS_TIMESTAMP_BEFORE = :is_timestamp_before
|
|
54
54
|
IS_TIMESTAMP_BETWEEN = :is_timestamp_between
|
|
55
55
|
IS_AUDIENCE_MEMBER = :is_audience_member
|
|
@@ -25,7 +25,14 @@ module Knockapi
|
|
|
25
25
|
required :guide_groups,
|
|
26
26
|
-> { Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup] }
|
|
27
27
|
|
|
28
|
-
# @!
|
|
28
|
+
# @!attribute ineligible_guides
|
|
29
|
+
# Markers for guides the user is not eligible to see.
|
|
30
|
+
#
|
|
31
|
+
# @return [Array<Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide>]
|
|
32
|
+
required :ineligible_guides,
|
|
33
|
+
-> { Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide] }
|
|
34
|
+
|
|
35
|
+
# @!method initialize(entries:, guide_group_display_logs:, guide_groups:, ineligible_guides:)
|
|
29
36
|
# A response for a list of guides.
|
|
30
37
|
#
|
|
31
38
|
# @param entries [Array<Knockapi::Models::Users::GuideGetChannelResponse::Entry>] A list of guides.
|
|
@@ -33,6 +40,8 @@ module Knockapi
|
|
|
33
40
|
# @param guide_group_display_logs [Hash{Symbol=>Time}] A map of guide group keys to their last display timestamps.
|
|
34
41
|
#
|
|
35
42
|
# @param guide_groups [Array<Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup>] A list of guide groups with their display sequences and intervals.
|
|
43
|
+
#
|
|
44
|
+
# @param ineligible_guides [Array<Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide>] Markers for guides the user is not eligible to see.
|
|
36
45
|
|
|
37
46
|
class Entry < Knockapi::Internal::Type::BaseModel
|
|
38
47
|
# @!attribute id
|
|
@@ -317,6 +326,48 @@ module Knockapi
|
|
|
317
326
|
# @param key [String]
|
|
318
327
|
# @param updated_at [Time]
|
|
319
328
|
end
|
|
329
|
+
|
|
330
|
+
class IneligibleGuide < Knockapi::Internal::Type::BaseModel
|
|
331
|
+
# @!attribute key
|
|
332
|
+
# The guide's key identifier
|
|
333
|
+
#
|
|
334
|
+
# @return [String]
|
|
335
|
+
required :key, String
|
|
336
|
+
|
|
337
|
+
# @!attribute message
|
|
338
|
+
# Human-readable explanation of ineligibility
|
|
339
|
+
#
|
|
340
|
+
# @return [String]
|
|
341
|
+
required :message, String
|
|
342
|
+
|
|
343
|
+
# @!attribute reason
|
|
344
|
+
# Reason code for ineligibility
|
|
345
|
+
#
|
|
346
|
+
# @return [Symbol, Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason]
|
|
347
|
+
required :reason, enum: -> { Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason }
|
|
348
|
+
|
|
349
|
+
# @!method initialize(key:, message:, reason:)
|
|
350
|
+
# @param key [String] The guide's key identifier
|
|
351
|
+
#
|
|
352
|
+
# @param message [String] Human-readable explanation of ineligibility
|
|
353
|
+
#
|
|
354
|
+
# @param reason [Symbol, Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason] Reason code for ineligibility
|
|
355
|
+
|
|
356
|
+
# Reason code for ineligibility
|
|
357
|
+
#
|
|
358
|
+
# @see Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide#reason
|
|
359
|
+
module Reason
|
|
360
|
+
extend Knockapi::Internal::Type::Enum
|
|
361
|
+
|
|
362
|
+
GUIDE_NOT_ACTIVE = :guide_not_active
|
|
363
|
+
MARKED_AS_ARCHIVED = :marked_as_archived
|
|
364
|
+
TARGET_CONDITIONS_NOT_MET = :target_conditions_not_met
|
|
365
|
+
NOT_IN_TARGET_AUDIENCE = :not_in_target_audience
|
|
366
|
+
|
|
367
|
+
# @!method self.values
|
|
368
|
+
# @return [Array<Symbol>]
|
|
369
|
+
end
|
|
370
|
+
end
|
|
320
371
|
end
|
|
321
372
|
end
|
|
322
373
|
end
|
data/lib/knockapi/version.rb
CHANGED
|
@@ -85,9 +85,9 @@ module Knockapi
|
|
|
85
85
|
T.let(:is_timestamp, Knockapi::Condition::Operator::TaggedSymbol)
|
|
86
86
|
IS_NOT_TIMESTAMP =
|
|
87
87
|
T.let(:is_not_timestamp, Knockapi::Condition::Operator::TaggedSymbol)
|
|
88
|
-
|
|
88
|
+
IS_TIMESTAMP_ON_OR_AFTER =
|
|
89
89
|
T.let(
|
|
90
|
-
:
|
|
90
|
+
:is_timestamp_on_or_after,
|
|
91
91
|
Knockapi::Condition::Operator::TaggedSymbol
|
|
92
92
|
)
|
|
93
93
|
IS_TIMESTAMP_BEFORE =
|
|
@@ -34,6 +34,16 @@ module Knockapi
|
|
|
34
34
|
end
|
|
35
35
|
attr_accessor :guide_groups
|
|
36
36
|
|
|
37
|
+
# Markers for guides the user is not eligible to see.
|
|
38
|
+
sig do
|
|
39
|
+
returns(
|
|
40
|
+
T::Array[
|
|
41
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide
|
|
42
|
+
]
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
attr_accessor :ineligible_guides
|
|
46
|
+
|
|
37
47
|
# A response for a list of guides.
|
|
38
48
|
sig do
|
|
39
49
|
params(
|
|
@@ -45,6 +55,10 @@ module Knockapi
|
|
|
45
55
|
guide_groups:
|
|
46
56
|
T::Array[
|
|
47
57
|
Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup::OrHash
|
|
58
|
+
],
|
|
59
|
+
ineligible_guides:
|
|
60
|
+
T::Array[
|
|
61
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::OrHash
|
|
48
62
|
]
|
|
49
63
|
).returns(T.attached_class)
|
|
50
64
|
end
|
|
@@ -54,7 +68,9 @@ module Knockapi
|
|
|
54
68
|
# A map of guide group keys to their last display timestamps.
|
|
55
69
|
guide_group_display_logs:,
|
|
56
70
|
# A list of guide groups with their display sequences and intervals.
|
|
57
|
-
guide_groups
|
|
71
|
+
guide_groups:,
|
|
72
|
+
# Markers for guides the user is not eligible to see.
|
|
73
|
+
ineligible_guides:
|
|
58
74
|
)
|
|
59
75
|
end
|
|
60
76
|
|
|
@@ -69,6 +85,10 @@ module Knockapi
|
|
|
69
85
|
guide_groups:
|
|
70
86
|
T::Array[
|
|
71
87
|
Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup
|
|
88
|
+
],
|
|
89
|
+
ineligible_guides:
|
|
90
|
+
T::Array[
|
|
91
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide
|
|
72
92
|
]
|
|
73
93
|
}
|
|
74
94
|
)
|
|
@@ -650,6 +670,108 @@ module Knockapi
|
|
|
650
670
|
def to_hash
|
|
651
671
|
end
|
|
652
672
|
end
|
|
673
|
+
|
|
674
|
+
class IneligibleGuide < Knockapi::Internal::Type::BaseModel
|
|
675
|
+
OrHash =
|
|
676
|
+
T.type_alias do
|
|
677
|
+
T.any(
|
|
678
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide,
|
|
679
|
+
Knockapi::Internal::AnyHash
|
|
680
|
+
)
|
|
681
|
+
end
|
|
682
|
+
|
|
683
|
+
# The guide's key identifier
|
|
684
|
+
sig { returns(String) }
|
|
685
|
+
attr_accessor :key
|
|
686
|
+
|
|
687
|
+
# Human-readable explanation of ineligibility
|
|
688
|
+
sig { returns(String) }
|
|
689
|
+
attr_accessor :message
|
|
690
|
+
|
|
691
|
+
# Reason code for ineligibility
|
|
692
|
+
sig do
|
|
693
|
+
returns(
|
|
694
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
695
|
+
)
|
|
696
|
+
end
|
|
697
|
+
attr_accessor :reason
|
|
698
|
+
|
|
699
|
+
sig do
|
|
700
|
+
params(
|
|
701
|
+
key: String,
|
|
702
|
+
message: String,
|
|
703
|
+
reason:
|
|
704
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::OrSymbol
|
|
705
|
+
).returns(T.attached_class)
|
|
706
|
+
end
|
|
707
|
+
def self.new(
|
|
708
|
+
# The guide's key identifier
|
|
709
|
+
key:,
|
|
710
|
+
# Human-readable explanation of ineligibility
|
|
711
|
+
message:,
|
|
712
|
+
# Reason code for ineligibility
|
|
713
|
+
reason:
|
|
714
|
+
)
|
|
715
|
+
end
|
|
716
|
+
|
|
717
|
+
sig do
|
|
718
|
+
override.returns(
|
|
719
|
+
{
|
|
720
|
+
key: String,
|
|
721
|
+
message: String,
|
|
722
|
+
reason:
|
|
723
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
724
|
+
}
|
|
725
|
+
)
|
|
726
|
+
end
|
|
727
|
+
def to_hash
|
|
728
|
+
end
|
|
729
|
+
|
|
730
|
+
# Reason code for ineligibility
|
|
731
|
+
module Reason
|
|
732
|
+
extend Knockapi::Internal::Type::Enum
|
|
733
|
+
|
|
734
|
+
TaggedSymbol =
|
|
735
|
+
T.type_alias do
|
|
736
|
+
T.all(
|
|
737
|
+
Symbol,
|
|
738
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason
|
|
739
|
+
)
|
|
740
|
+
end
|
|
741
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
742
|
+
|
|
743
|
+
GUIDE_NOT_ACTIVE =
|
|
744
|
+
T.let(
|
|
745
|
+
:guide_not_active,
|
|
746
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
747
|
+
)
|
|
748
|
+
MARKED_AS_ARCHIVED =
|
|
749
|
+
T.let(
|
|
750
|
+
:marked_as_archived,
|
|
751
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
752
|
+
)
|
|
753
|
+
TARGET_CONDITIONS_NOT_MET =
|
|
754
|
+
T.let(
|
|
755
|
+
:target_conditions_not_met,
|
|
756
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
757
|
+
)
|
|
758
|
+
NOT_IN_TARGET_AUDIENCE =
|
|
759
|
+
T.let(
|
|
760
|
+
:not_in_target_audience,
|
|
761
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
762
|
+
)
|
|
763
|
+
|
|
764
|
+
sig do
|
|
765
|
+
override.returns(
|
|
766
|
+
T::Array[
|
|
767
|
+
Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::Reason::TaggedSymbol
|
|
768
|
+
]
|
|
769
|
+
)
|
|
770
|
+
end
|
|
771
|
+
def self.values
|
|
772
|
+
end
|
|
773
|
+
end
|
|
774
|
+
end
|
|
653
775
|
end
|
|
654
776
|
end
|
|
655
777
|
end
|
|
@@ -40,7 +40,7 @@ module Knockapi
|
|
|
40
40
|
| :contains_all
|
|
41
41
|
| :is_timestamp
|
|
42
42
|
| :is_not_timestamp
|
|
43
|
-
| :
|
|
43
|
+
| :is_timestamp_on_or_after
|
|
44
44
|
| :is_timestamp_before
|
|
45
45
|
| :is_timestamp_between
|
|
46
46
|
| :is_audience_member
|
|
@@ -62,7 +62,7 @@ module Knockapi
|
|
|
62
62
|
CONTAINS_ALL: :contains_all
|
|
63
63
|
IS_TIMESTAMP: :is_timestamp
|
|
64
64
|
IS_NOT_TIMESTAMP: :is_not_timestamp
|
|
65
|
-
|
|
65
|
+
IS_TIMESTAMP_ON_OR_AFTER: :is_timestamp_on_or_after
|
|
66
66
|
IS_TIMESTAMP_BEFORE: :is_timestamp_before
|
|
67
67
|
IS_TIMESTAMP_BETWEEN: :is_timestamp_between
|
|
68
68
|
IS_AUDIENCE_MEMBER: :is_audience_member
|
|
@@ -5,7 +5,8 @@ module Knockapi
|
|
|
5
5
|
{
|
|
6
6
|
entries: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::Entry],
|
|
7
7
|
guide_group_display_logs: ::Hash[Symbol, Time],
|
|
8
|
-
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup]
|
|
8
|
+
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup],
|
|
9
|
+
ineligible_guides: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide]
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
class GuideGetChannelResponse < Knockapi::Internal::Type::BaseModel
|
|
@@ -15,16 +16,20 @@ module Knockapi
|
|
|
15
16
|
|
|
16
17
|
attr_accessor guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup]
|
|
17
18
|
|
|
19
|
+
attr_accessor ineligible_guides: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide]
|
|
20
|
+
|
|
18
21
|
def initialize: (
|
|
19
22
|
entries: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::Entry],
|
|
20
23
|
guide_group_display_logs: ::Hash[Symbol, Time],
|
|
21
|
-
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup]
|
|
24
|
+
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup],
|
|
25
|
+
ineligible_guides: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide]
|
|
22
26
|
) -> void
|
|
23
27
|
|
|
24
28
|
def to_hash: -> {
|
|
25
29
|
entries: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::Entry],
|
|
26
30
|
guide_group_display_logs: ::Hash[Symbol, Time],
|
|
27
|
-
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup]
|
|
31
|
+
guide_groups: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::GuideGroup],
|
|
32
|
+
ineligible_guides: ::Array[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide]
|
|
28
33
|
}
|
|
29
34
|
|
|
30
35
|
type entry =
|
|
@@ -343,6 +348,50 @@ module Knockapi
|
|
|
343
348
|
updated_at: Time
|
|
344
349
|
}
|
|
345
350
|
end
|
|
351
|
+
|
|
352
|
+
type ineligible_guide =
|
|
353
|
+
{
|
|
354
|
+
key: String,
|
|
355
|
+
message: String,
|
|
356
|
+
reason: Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::reason
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
class IneligibleGuide < Knockapi::Internal::Type::BaseModel
|
|
360
|
+
attr_accessor key: String
|
|
361
|
+
|
|
362
|
+
attr_accessor message: String
|
|
363
|
+
|
|
364
|
+
attr_accessor reason: Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::reason
|
|
365
|
+
|
|
366
|
+
def initialize: (
|
|
367
|
+
key: String,
|
|
368
|
+
message: String,
|
|
369
|
+
reason: Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::reason
|
|
370
|
+
) -> void
|
|
371
|
+
|
|
372
|
+
def to_hash: -> {
|
|
373
|
+
key: String,
|
|
374
|
+
message: String,
|
|
375
|
+
reason: Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::reason
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
type reason =
|
|
379
|
+
:guide_not_active
|
|
380
|
+
| :marked_as_archived
|
|
381
|
+
| :target_conditions_not_met
|
|
382
|
+
| :not_in_target_audience
|
|
383
|
+
|
|
384
|
+
module Reason
|
|
385
|
+
extend Knockapi::Internal::Type::Enum
|
|
386
|
+
|
|
387
|
+
GUIDE_NOT_ACTIVE: :guide_not_active
|
|
388
|
+
MARKED_AS_ARCHIVED: :marked_as_archived
|
|
389
|
+
TARGET_CONDITIONS_NOT_MET: :target_conditions_not_met
|
|
390
|
+
NOT_IN_TARGET_AUDIENCE: :not_in_target_audience
|
|
391
|
+
|
|
392
|
+
def self?.values: -> ::Array[Knockapi::Models::Users::GuideGetChannelResponse::IneligibleGuide::reason]
|
|
393
|
+
end
|
|
394
|
+
end
|
|
346
395
|
end
|
|
347
396
|
end
|
|
348
397
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: knockapi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.26.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Knock
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: cgi
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: connection_pool
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|