stigg 0.1.0.pre.beta.10 → 0.1.0.pre.beta.11

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: 48fbad6c5a866ed5e457913f8fce90e65867d1bd7c55b18a2910ecbd2514e7c7
4
- data.tar.gz: 3e68338ae906ed6b1d2f99ef2602f7b81ccceb03d478cf397ec8ee4725fd8208
3
+ metadata.gz: 6c7aefe341c7a8e9afd3b3e94bda1412c18d118f9ef3d006b63f814eb996898e
4
+ data.tar.gz: 838d34a3948760afe78df21e68946e838e43f894bebfbddf89455913251c6d71
5
5
  SHA512:
6
- metadata.gz: 8241539259c2f734d4e19d976e5d2ff570d3e2c53026ece22ead43904fc9b69cd7de63bce3ecdc3225c13502bf376ae6b5c422b518a0721d4e0efc3c2e1f9f6e
7
- data.tar.gz: f50b9e83a406a241a2263bc4d6eaf562a2da8fa504b570474fa42d232e255fd0276ce26f58174291e66c498f239260a1cdb8154df3d0fd92dfaa5d2f76b9ac8b
6
+ metadata.gz: 1385491a048af9ca900314518993554b6bd32110d189018fd637f5073b9e34b8bf20e6b37b9b29e80d49200d25bbc92ac6df7591dd163b74c903e59dddcfb101
7
+ data.tar.gz: a281e66c772466768952c9e74c780c4360cec0591e87452a8bb0aaaf8ad256fc3e7fc9f4c81e3b11c080b1f9791c077482f13064cb4df66b002bc10a14837935
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-beta.11 (2026-05-26)
4
+
5
+ Full Changelog: [v0.1.0-beta.10...v0.1.0-beta.11](https://github.com/stiggio/stigg-ruby/compare/v0.1.0-beta.10...v0.1.0-beta.11)
6
+
7
+ ### Features
8
+
9
+ * **api:** add group_by parameter and tags field to credit usage ([b60f99c](https://github.com/stiggio/stigg-ruby/commit/b60f99c81952aa094717c7a8ed336df88e0f6ae4))
10
+
3
11
  ## 0.1.0-beta.10 (2026-05-26)
4
12
 
5
13
  Full Changelog: [v0.1.0-beta.9...v0.1.0-beta.10](https://github.com/stiggio/stigg-ruby/compare/v0.1.0-beta.9...v0.1.0-beta.10)
data/README.md CHANGED
@@ -24,7 +24,7 @@ To use this gem, install via Bundler by adding the following to your application
24
24
  <!-- x-release-please-start-version -->
25
25
 
26
26
  ```ruby
27
- gem "stigg", "~> 0.1.0.pre.beta.10"
27
+ gem "stigg", "~> 0.1.0.pre.beta.11"
28
28
  ```
29
29
 
30
30
  <!-- x-release-please-end -->
@@ -27,6 +27,13 @@ module Stigg
27
27
  # @return [Time, nil]
28
28
  optional :end_date, Time
29
29
 
30
+ # @!attribute group_by
31
+ # Comma-separated list of feature dimension keys to group usage series by (up to
32
+ # 3). Each key matches /^[a-zA-Z0-9_$-]+$/
33
+ #
34
+ # @return [String, nil]
35
+ optional :group_by, String
36
+
30
37
  # @!attribute resource_id
31
38
  # Filter by resource ID
32
39
  #
@@ -47,7 +54,7 @@ module Stigg
47
54
  # @return [Symbol, Stigg::Models::V1::CreditGetUsageParams::TimeRange, nil]
48
55
  optional :time_range, enum: -> { Stigg::V1::CreditGetUsageParams::TimeRange }
49
56
 
50
- # @!method initialize(customer_id:, currency_id: nil, end_date: nil, resource_id: nil, start_date: nil, time_range: nil, request_options: {})
57
+ # @!method initialize(customer_id:, currency_id: nil, end_date: nil, group_by: nil, resource_id: nil, start_date: nil, time_range: nil, request_options: {})
51
58
  # Some parameter documentations has been truncated, see
52
59
  # {Stigg::Models::V1::CreditGetUsageParams} for more details.
53
60
  #
@@ -57,6 +64,8 @@ module Stigg
57
64
  #
58
65
  # @param end_date [Time] End date for the credit usage time range (ISO 8601). Defaults to now when startD
59
66
  #
67
+ # @param group_by [String] Comma-separated list of feature dimension keys to group usage series by (up to 3
68
+ #
60
69
  # @param resource_id [String] Filter by resource ID
61
70
  #
62
71
  # @param start_date [Time] Start date for the credit usage time range (ISO 8601). Takes precedence over tim
@@ -86,16 +86,16 @@ module Stigg
86
86
 
87
87
  class Series < Stigg::Internal::Type::BaseModel
88
88
  # @!attribute feature_id
89
- # The feature ID
89
+ # The feature ID; null when grouping by dimensions only
90
90
  #
91
- # @return [String]
92
- required :feature_id, String, api_name: :featureId
91
+ # @return [String, nil]
92
+ required :feature_id, String, api_name: :featureId, nil?: true
93
93
 
94
94
  # @!attribute feature_name
95
- # The display name of the feature
95
+ # The display name of the feature; null when grouping by dimensions only
96
96
  #
97
- # @return [String]
98
- required :feature_name, String, api_name: :featureName
97
+ # @return [String, nil]
98
+ required :feature_name, String, api_name: :featureName, nil?: true
99
99
 
100
100
  # @!attribute points
101
101
  # Time-series data points for this feature
@@ -110,16 +110,25 @@ module Stigg
110
110
  # @return [Float]
111
111
  required :total_credits, Float, api_name: :totalCredits
112
112
 
113
- # @!method initialize(feature_id:, feature_name:, points:, total_credits:)
113
+ # @!attribute tags
114
+ # Dimension key/value pairs identifying this series when groupBy is applied
115
+ #
116
+ # @return [Array<Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag>, nil]
117
+ optional :tags,
118
+ -> { Stigg::Internal::Type::ArrayOf[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag] }
119
+
120
+ # @!method initialize(feature_id:, feature_name:, points:, total_credits:, tags: nil)
114
121
  # Credit usage data for a single feature
115
122
  #
116
- # @param feature_id [String] The feature ID
123
+ # @param feature_id [String, nil] The feature ID; null when grouping by dimensions only
117
124
  #
118
- # @param feature_name [String] The display name of the feature
125
+ # @param feature_name [String, nil] The display name of the feature; null when grouping by dimensions only
119
126
  #
120
127
  # @param points [Array<Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point>] Time-series data points for this feature
121
128
  #
122
129
  # @param total_credits [Float] Total credits consumed by this feature in the time range
130
+ #
131
+ # @param tags [Array<Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag>] Dimension key/value pairs identifying this series when groupBy is applied
123
132
 
124
133
  class Point < Stigg::Internal::Type::BaseModel
125
134
  # @!attribute timestamp
@@ -141,6 +150,27 @@ module Stigg
141
150
  #
142
151
  # @param value [Float] The credit usage value at this point
143
152
  end
153
+
154
+ class Tag < Stigg::Internal::Type::BaseModel
155
+ # @!attribute key
156
+ # The dimension key
157
+ #
158
+ # @return [String]
159
+ required :key, String
160
+
161
+ # @!attribute value
162
+ # The dimension value for this series
163
+ #
164
+ # @return [String]
165
+ required :value, String
166
+
167
+ # @!method initialize(key:, value:)
168
+ # Dimension key/value pair identifying a credit usage series
169
+ #
170
+ # @param key [String] The dimension key
171
+ #
172
+ # @param value [String] The dimension value for this series
173
+ end
144
174
  end
145
175
  end
146
176
  end
@@ -44,7 +44,7 @@ module Stigg
44
44
  # Retrieves credit usage time-series data for a customer, grouped by feature, over
45
45
  # a specified time range.
46
46
  #
47
- # @overload get_usage(customer_id:, currency_id: nil, end_date: nil, resource_id: nil, start_date: nil, time_range: nil, request_options: {})
47
+ # @overload get_usage(customer_id:, currency_id: nil, end_date: nil, group_by: nil, resource_id: nil, start_date: nil, time_range: nil, request_options: {})
48
48
  #
49
49
  # @param customer_id [String] Filter by customer ID (required)
50
50
  #
@@ -52,6 +52,8 @@ module Stigg
52
52
  #
53
53
  # @param end_date [Time] End date for the credit usage time range (ISO 8601). Defaults to now when startD
54
54
  #
55
+ # @param group_by [String] Comma-separated list of feature dimension keys to group usage series by (up to 3
56
+ #
55
57
  # @param resource_id [String] Filter by resource ID
56
58
  #
57
59
  # @param start_date [Time] Start date for the credit usage time range (ISO 8601). Takes precedence over tim
@@ -73,6 +75,7 @@ module Stigg
73
75
  customer_id: "customerId",
74
76
  currency_id: "currencyId",
75
77
  end_date: "endDate",
78
+ group_by: "groupBy",
76
79
  resource_id: "resourceId",
77
80
  start_date: "startDate",
78
81
  time_range: "timeRange"
data/lib/stigg/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stigg
4
- VERSION = "0.1.0.pre.beta.10"
4
+ VERSION = "0.1.0.pre.beta.11"
5
5
  end
@@ -31,6 +31,14 @@ module Stigg
31
31
  sig { params(end_date: Time).void }
32
32
  attr_writer :end_date
33
33
 
34
+ # Comma-separated list of feature dimension keys to group usage series by (up to
35
+ # 3). Each key matches /^[a-zA-Z0-9_$-]+$/
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :group_by
38
+
39
+ sig { params(group_by: String).void }
40
+ attr_writer :group_by
41
+
34
42
  # Filter by resource ID
35
43
  sig { returns(T.nilable(String)) }
36
44
  attr_reader :resource_id
@@ -67,6 +75,7 @@ module Stigg
67
75
  customer_id: String,
68
76
  currency_id: String,
69
77
  end_date: Time,
78
+ group_by: String,
70
79
  resource_id: String,
71
80
  start_date: Time,
72
81
  time_range: Stigg::V1::CreditGetUsageParams::TimeRange::OrSymbol,
@@ -81,6 +90,9 @@ module Stigg
81
90
  # End date for the credit usage time range (ISO 8601). Defaults to now when
82
91
  # startDate is provided
83
92
  end_date: nil,
93
+ # Comma-separated list of feature dimension keys to group usage series by (up to
94
+ # 3). Each key matches /^[a-zA-Z0-9_$-]+$/
95
+ group_by: nil,
84
96
  # Filter by resource ID
85
97
  resource_id: nil,
86
98
  # Start date for the credit usage time range (ISO 8601). Takes precedence over
@@ -99,6 +111,7 @@ module Stigg
99
111
  customer_id: String,
100
112
  currency_id: String,
101
113
  end_date: Time,
114
+ group_by: String,
102
115
  resource_id: String,
103
116
  start_date: Time,
104
117
  time_range: Stigg::V1::CreditGetUsageParams::TimeRange::OrSymbol,
@@ -195,12 +195,12 @@ module Stigg
195
195
  )
196
196
  end
197
197
 
198
- # The feature ID
199
- sig { returns(String) }
198
+ # The feature ID; null when grouping by dimensions only
199
+ sig { returns(T.nilable(String)) }
200
200
  attr_accessor :feature_id
201
201
 
202
- # The display name of the feature
203
- sig { returns(String) }
202
+ # The display name of the feature; null when grouping by dimensions only
203
+ sig { returns(T.nilable(String)) }
204
204
  attr_accessor :feature_name
205
205
 
206
206
  # Time-series data points for this feature
@@ -217,40 +217,72 @@ module Stigg
217
217
  sig { returns(Float) }
218
218
  attr_accessor :total_credits
219
219
 
220
+ # Dimension key/value pairs identifying this series when groupBy is applied
221
+ sig do
222
+ returns(
223
+ T.nilable(
224
+ T::Array[
225
+ Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag
226
+ ]
227
+ )
228
+ )
229
+ end
230
+ attr_reader :tags
231
+
232
+ sig do
233
+ params(
234
+ tags:
235
+ T::Array[
236
+ Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag::OrHash
237
+ ]
238
+ ).void
239
+ end
240
+ attr_writer :tags
241
+
220
242
  # Credit usage data for a single feature
221
243
  sig do
222
244
  params(
223
- feature_id: String,
224
- feature_name: String,
245
+ feature_id: T.nilable(String),
246
+ feature_name: T.nilable(String),
225
247
  points:
226
248
  T::Array[
227
249
  Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point::OrHash
228
250
  ],
229
- total_credits: Float
251
+ total_credits: Float,
252
+ tags:
253
+ T::Array[
254
+ Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag::OrHash
255
+ ]
230
256
  ).returns(T.attached_class)
231
257
  end
232
258
  def self.new(
233
- # The feature ID
259
+ # The feature ID; null when grouping by dimensions only
234
260
  feature_id:,
235
- # The display name of the feature
261
+ # The display name of the feature; null when grouping by dimensions only
236
262
  feature_name:,
237
263
  # Time-series data points for this feature
238
264
  points:,
239
265
  # Total credits consumed by this feature in the time range
240
- total_credits:
266
+ total_credits:,
267
+ # Dimension key/value pairs identifying this series when groupBy is applied
268
+ tags: nil
241
269
  )
242
270
  end
243
271
 
244
272
  sig do
245
273
  override.returns(
246
274
  {
247
- feature_id: String,
248
- feature_name: String,
275
+ feature_id: T.nilable(String),
276
+ feature_name: T.nilable(String),
249
277
  points:
250
278
  T::Array[
251
279
  Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point
252
280
  ],
253
- total_credits: Float
281
+ total_credits: Float,
282
+ tags:
283
+ T::Array[
284
+ Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag
285
+ ]
254
286
  }
255
287
  )
256
288
  end
@@ -290,6 +322,40 @@ module Stigg
290
322
  def to_hash
291
323
  end
292
324
  end
325
+
326
+ class Tag < Stigg::Internal::Type::BaseModel
327
+ OrHash =
328
+ T.type_alias do
329
+ T.any(
330
+ Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag,
331
+ Stigg::Internal::AnyHash
332
+ )
333
+ end
334
+
335
+ # The dimension key
336
+ sig { returns(String) }
337
+ attr_accessor :key
338
+
339
+ # The dimension value for this series
340
+ sig { returns(String) }
341
+ attr_accessor :value
342
+
343
+ # Dimension key/value pair identifying a credit usage series
344
+ sig do
345
+ params(key: String, value: String).returns(T.attached_class)
346
+ end
347
+ def self.new(
348
+ # The dimension key
349
+ key:,
350
+ # The dimension value for this series
351
+ value:
352
+ )
353
+ end
354
+
355
+ sig { override.returns({ key: String, value: String }) }
356
+ def to_hash
357
+ end
358
+ end
293
359
  end
294
360
  end
295
361
  end
@@ -37,6 +37,7 @@ module Stigg
37
37
  customer_id: String,
38
38
  currency_id: String,
39
39
  end_date: Time,
40
+ group_by: String,
40
41
  resource_id: String,
41
42
  start_date: Time,
42
43
  time_range: Stigg::V1::CreditGetUsageParams::TimeRange::OrSymbol,
@@ -51,6 +52,9 @@ module Stigg
51
52
  # End date for the credit usage time range (ISO 8601). Defaults to now when
52
53
  # startDate is provided
53
54
  end_date: nil,
55
+ # Comma-separated list of feature dimension keys to group usage series by (up to
56
+ # 3). Each key matches /^[a-zA-Z0-9_$-]+$/
57
+ group_by: nil,
54
58
  # Filter by resource ID
55
59
  resource_id: nil,
56
60
  # Start date for the credit usage time range (ISO 8601). Takes precedence over
@@ -6,6 +6,7 @@ module Stigg
6
6
  customer_id: String,
7
7
  currency_id: String,
8
8
  end_date: Time,
9
+ group_by: String,
9
10
  resource_id: String,
10
11
  start_date: Time,
11
12
  time_range: Stigg::Models::V1::CreditGetUsageParams::time_range
@@ -26,6 +27,10 @@ module Stigg
26
27
 
27
28
  def end_date=: (Time) -> Time
28
29
 
30
+ attr_reader group_by: String?
31
+
32
+ def group_by=: (String) -> String
33
+
29
34
  attr_reader resource_id: String?
30
35
 
31
36
  def resource_id=: (String) -> String
@@ -44,6 +49,7 @@ module Stigg
44
49
  customer_id: String,
45
50
  ?currency_id: String,
46
51
  ?end_date: Time,
52
+ ?group_by: String,
47
53
  ?resource_id: String,
48
54
  ?start_date: Time,
49
55
  ?time_range: Stigg::Models::V1::CreditGetUsageParams::time_range,
@@ -54,6 +60,7 @@ module Stigg
54
60
  customer_id: String,
55
61
  currency_id: String,
56
62
  end_date: Time,
63
+ group_by: String,
57
64
  resource_id: String,
58
65
  start_date: Time,
59
66
  time_range: Stigg::Models::V1::CreditGetUsageParams::time_range,
@@ -75,33 +75,42 @@ module Stigg
75
75
 
76
76
  type series =
77
77
  {
78
- feature_id: String,
79
- feature_name: String,
78
+ feature_id: String?,
79
+ feature_name: String?,
80
80
  points: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point],
81
- total_credits: Float
81
+ total_credits: Float,
82
+ tags: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]
82
83
  }
83
84
 
84
85
  class Series < Stigg::Internal::Type::BaseModel
85
- attr_accessor feature_id: String
86
+ attr_accessor feature_id: String?
86
87
 
87
- attr_accessor feature_name: String
88
+ attr_accessor feature_name: String?
88
89
 
89
90
  attr_accessor points: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point]
90
91
 
91
92
  attr_accessor total_credits: Float
92
93
 
94
+ attr_reader tags: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]?
95
+
96
+ def tags=: (
97
+ ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]
98
+ ) -> ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]
99
+
93
100
  def initialize: (
94
- feature_id: String,
95
- feature_name: String,
101
+ feature_id: String?,
102
+ feature_name: String?,
96
103
  points: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point],
97
- total_credits: Float
104
+ total_credits: Float,
105
+ ?tags: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]
98
106
  ) -> void
99
107
 
100
108
  def to_hash: -> {
101
- feature_id: String,
102
- feature_name: String,
109
+ feature_id: String?,
110
+ feature_name: String?,
103
111
  points: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Point],
104
- total_credits: Float
112
+ total_credits: Float,
113
+ tags: ::Array[Stigg::Models::V1::CreditGetUsageResponse::Data::Series::Tag]
105
114
  }
106
115
 
107
116
  type point = { timestamp: Time, value: Float }
@@ -115,6 +124,18 @@ module Stigg
115
124
 
116
125
  def to_hash: -> { timestamp: Time, value: Float }
117
126
  end
127
+
128
+ type tag = { key: String, value: String }
129
+
130
+ class Tag < Stigg::Internal::Type::BaseModel
131
+ attr_accessor key: String
132
+
133
+ attr_accessor value: String
134
+
135
+ def initialize: (key: String, value: String) -> void
136
+
137
+ def to_hash: -> { key: String, value: String }
138
+ end
118
139
  end
119
140
  end
120
141
  end
@@ -16,6 +16,7 @@ module Stigg
16
16
  customer_id: String,
17
17
  ?currency_id: String,
18
18
  ?end_date: Time,
19
+ ?group_by: String,
19
20
  ?resource_id: String,
20
21
  ?start_date: Time,
21
22
  ?time_range: Stigg::Models::V1::CreditGetUsageParams::time_range,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stigg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.beta.10
4
+ version: 0.1.0.pre.beta.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stigg