knockapi 1.31.0 → 1.32.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e8273749767458d8e53e1e29f488e9430ebcd3b598b764b1e64079e3ca2b9c8
4
- data.tar.gz: 661542117145e4360155fdea359be342b0d9e8ba294534ecc0a4dc05373399a5
3
+ metadata.gz: 598e329f0dff1e745283b9d0f8f0137f58b1b28687b078589d8b267e974c6195
4
+ data.tar.gz: 06ea09631da7f7d46e602819a2b0f3b651deb1bfcd72008c8d28398257486ff0
5
5
  SHA512:
6
- metadata.gz: b49d3818135a81fe3ffdb19f7aba99201600c459ccafd057df84d38e9998eab5a9801fbdbf3ee7e72a88d0a339591817ad8eee4db8450402d1275d8e132d3521
7
- data.tar.gz: 90a026b11a74ed720c9ad74965f0a631f0d816079d173db93a2c9ec06ef102fa3f6e56d0a9d4b041e444352e0792812aae6ec05ad07b5fee0af631121c612abb
6
+ metadata.gz: 5fad9a2ca4a156142d2e0ff3ca332dad5bea1f61c427570f251484ea8837e1c04abb5177c038332c401c4167966b8bd4a0012f3b712f37b861fc3c8a9ab9eb85
7
+ data.tar.gz: 5aa94e1b6a4624d0b1de1e52d92c96171950d728f613e233b820b70ea992f6d64bf92ed1fdf51dede104b23d2c03ad4cb82eb2eb70ce6176f356f54f5108a5d0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.32.0 (2026-02-19)
4
+
5
+ Full Changelog: [v1.31.0...v1.32.0](https://github.com/knocklabs/knock-ruby/compare/v1.31.0...v1.32.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([62ad442](https://github.com/knocklabs/knock-ruby/commit/62ad442ab0bb5f6da768ee211d06484e4c1e3a70))
10
+
3
11
  ## 1.31.0 (2026-02-19)
4
12
 
5
13
  Full Changelog: [v1.30.0...v1.31.0](https://github.com/knocklabs/knock-ruby/compare/v1.30.0...v1.31.0)
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 "knockapi", "~> 1.31.0"
20
+ gem "knockapi", "~> 1.32.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -13,9 +13,17 @@ module Knockapi
13
13
  # @return [Array<Knockapi::Models::AudienceAddMembersParams::Member>]
14
14
  required :members, -> { Knockapi::Internal::Type::ArrayOf[Knockapi::AudienceAddMembersParams::Member] }
15
15
 
16
- # @!method initialize(members:, request_options: {})
16
+ # @!attribute create_audience
17
+ # Create the audience if it does not exist.
18
+ #
19
+ # @return [Boolean, nil]
20
+ optional :create_audience, Knockapi::Internal::Type::Boolean
21
+
22
+ # @!method initialize(members:, create_audience: nil, request_options: {})
17
23
  # @param members [Array<Knockapi::Models::AudienceAddMembersParams::Member>] A list of audience members to add. You can add up to 1,000 members per request.
18
24
  #
25
+ # @param create_audience [Boolean] Create the audience if it does not exist.
26
+ #
19
27
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}]
20
28
 
21
29
  class Member < Knockapi::Internal::Type::BaseModel
@@ -46,6 +46,8 @@ module Knockapi
46
46
  NOT_CONTAINS = :not_contains
47
47
  EMPTY = :empty
48
48
  NOT_EMPTY = :not_empty
49
+ EXISTS = :exists
50
+ NOT_EXISTS = :not_exists
49
51
  CONTAINS_ALL = :contains_all
50
52
  IS_TIMESTAMP = :is_timestamp
51
53
  IS_NOT_TIMESTAMP = :is_not_timestamp
@@ -3,13 +3,18 @@
3
3
  module Knockapi
4
4
  module Resources
5
5
  class Audiences
6
+ # Some parameter documentations has been truncated, see
7
+ # {Knockapi::Models::AudienceAddMembersParams} for more details.
8
+ #
6
9
  # Adds one or more members to the specified audience.
7
10
  #
8
- # @overload add_members(key, members:, request_options: {})
11
+ # @overload add_members(key, members:, create_audience: nil, request_options: {})
9
12
  #
10
- # @param key [String] The key of the audience.
13
+ # @param key [String] Path param: The key of the audience.
11
14
  #
12
- # @param members [Array<Knockapi::Models::AudienceAddMembersParams::Member>] A list of audience members to add. You can add up to 1,000 members per request.
15
+ # @param members [Array<Knockapi::Models::AudienceAddMembersParams::Member>] Body param: A list of audience members to add. You can add up to 1,000 members p
16
+ #
17
+ # @param create_audience [Boolean] Query param: Create the audience if it does not exist.
13
18
  #
14
19
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
15
20
  #
@@ -18,10 +23,12 @@ module Knockapi
18
23
  # @see Knockapi::Models::AudienceAddMembersParams
19
24
  def add_members(key, params)
20
25
  parsed, options = Knockapi::AudienceAddMembersParams.dump_request(params)
26
+ query_params = [:create_audience]
21
27
  @client.request(
22
28
  method: :post,
23
29
  path: ["v1/audiences/%1$s/members", key],
24
- body: parsed,
30
+ query: parsed.slice(*query_params),
31
+ body: parsed.except(*query_params),
25
32
  model: NilClass,
26
33
  options: options
27
34
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knockapi
4
- VERSION = "1.31.0"
4
+ VERSION = "1.32.0"
5
5
  end
@@ -15,15 +15,25 @@ module Knockapi
15
15
  sig { returns(T::Array[Knockapi::AudienceAddMembersParams::Member]) }
16
16
  attr_accessor :members
17
17
 
18
+ # Create the audience if it does not exist.
19
+ sig { returns(T.nilable(T::Boolean)) }
20
+ attr_reader :create_audience
21
+
22
+ sig { params(create_audience: T::Boolean).void }
23
+ attr_writer :create_audience
24
+
18
25
  sig do
19
26
  params(
20
27
  members: T::Array[Knockapi::AudienceAddMembersParams::Member::OrHash],
28
+ create_audience: T::Boolean,
21
29
  request_options: Knockapi::RequestOptions::OrHash
22
30
  ).returns(T.attached_class)
23
31
  end
24
32
  def self.new(
25
33
  # A list of audience members to add. You can add up to 1,000 members per request.
26
34
  members:,
35
+ # Create the audience if it does not exist.
36
+ create_audience: nil,
27
37
  request_options: {}
28
38
  )
29
39
  end
@@ -32,6 +42,7 @@ module Knockapi
32
42
  override.returns(
33
43
  {
34
44
  members: T::Array[Knockapi::AudienceAddMembersParams::Member],
45
+ create_audience: T::Boolean,
35
46
  request_options: Knockapi::RequestOptions
36
47
  }
37
48
  )
@@ -79,6 +79,9 @@ module Knockapi
79
79
  EMPTY = T.let(:empty, Knockapi::Condition::Operator::TaggedSymbol)
80
80
  NOT_EMPTY =
81
81
  T.let(:not_empty, Knockapi::Condition::Operator::TaggedSymbol)
82
+ EXISTS = T.let(:exists, Knockapi::Condition::Operator::TaggedSymbol)
83
+ NOT_EXISTS =
84
+ T.let(:not_exists, Knockapi::Condition::Operator::TaggedSymbol)
82
85
  CONTAINS_ALL =
83
86
  T.let(:contains_all, Knockapi::Condition::Operator::TaggedSymbol)
84
87
  IS_TIMESTAMP =
@@ -8,14 +8,18 @@ module Knockapi
8
8
  params(
9
9
  key: String,
10
10
  members: T::Array[Knockapi::AudienceAddMembersParams::Member::OrHash],
11
+ create_audience: T::Boolean,
11
12
  request_options: Knockapi::RequestOptions::OrHash
12
13
  ).void
13
14
  end
14
15
  def add_members(
15
- # The key of the audience.
16
+ # Path param: The key of the audience.
16
17
  key,
17
- # A list of audience members to add. You can add up to 1,000 members per request.
18
+ # Body param: A list of audience members to add. You can add up to 1,000 members
19
+ # per request.
18
20
  members:,
21
+ # Query param: Create the audience if it does not exist.
22
+ create_audience: nil,
19
23
  request_options: {}
20
24
  )
21
25
  end
@@ -1,7 +1,10 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  type audience_add_members_params =
4
- { members: ::Array[Knockapi::AudienceAddMembersParams::Member] }
4
+ {
5
+ members: ::Array[Knockapi::AudienceAddMembersParams::Member],
6
+ create_audience: bool
7
+ }
5
8
  & Knockapi::Internal::Type::request_parameters
6
9
 
7
10
  class AudienceAddMembersParams < Knockapi::Internal::Type::BaseModel
@@ -10,13 +13,19 @@ module Knockapi
10
13
 
11
14
  attr_accessor members: ::Array[Knockapi::AudienceAddMembersParams::Member]
12
15
 
16
+ attr_reader create_audience: bool?
17
+
18
+ def create_audience=: (bool) -> bool
19
+
13
20
  def initialize: (
14
21
  members: ::Array[Knockapi::AudienceAddMembersParams::Member],
22
+ ?create_audience: bool,
15
23
  ?request_options: Knockapi::request_opts
16
24
  ) -> void
17
25
 
18
26
  def to_hash: -> {
19
27
  members: ::Array[Knockapi::AudienceAddMembersParams::Member],
28
+ create_audience: bool,
20
29
  request_options: Knockapi::RequestOptions
21
30
  }
22
31
 
@@ -37,6 +37,8 @@ module Knockapi
37
37
  | :not_contains
38
38
  | :empty
39
39
  | :not_empty
40
+ | :exists
41
+ | :not_exists
40
42
  | :contains_all
41
43
  | :is_timestamp
42
44
  | :is_not_timestamp
@@ -61,6 +63,8 @@ module Knockapi
61
63
  NOT_CONTAINS: :not_contains
62
64
  EMPTY: :empty
63
65
  NOT_EMPTY: :not_empty
66
+ EXISTS: :exists
67
+ NOT_EXISTS: :not_exists
64
68
  CONTAINS_ALL: :contains_all
65
69
  IS_TIMESTAMP: :is_timestamp
66
70
  IS_NOT_TIMESTAMP: :is_not_timestamp
@@ -4,6 +4,7 @@ module Knockapi
4
4
  def add_members: (
5
5
  String key,
6
6
  members: ::Array[Knockapi::AudienceAddMembersParams::Member],
7
+ ?create_audience: bool,
7
8
  ?request_options: Knockapi::request_opts
8
9
  ) -> nil
9
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knockapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.31.0
4
+ version: 1.32.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Knock