knockapi 1.25.1 → 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 +15 -0
- data/README.md +1 -1
- 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,20 @@
|
|
|
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
|
+
|
|
3
18
|
## 1.25.1 (2026-01-05)
|
|
4
19
|
|
|
5
20
|
Full Changelog: [v1.25.0...v1.25.1](https://github.com/knocklabs/knock-ruby/compare/v1.25.0...v1.25.1)
|
data/README.md
CHANGED
|
@@ -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: 2026-01-
|
|
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
|