rbflagr 0.1.2 → 1.1.12

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +17 -7
  4. data/docs/CreateFlagRequest.md +2 -0
  5. data/docs/CreateTagRequest.md +8 -0
  6. data/docs/Distribution.md +0 -1
  7. data/docs/EvalContext.md +4 -2
  8. data/docs/EvalResult.md +8 -7
  9. data/docs/EvaluationBatchRequest.md +3 -1
  10. data/docs/EvaluationEntity.md +1 -1
  11. data/docs/ExportApi.md +97 -0
  12. data/docs/Flag.md +7 -0
  13. data/docs/FlagApi.md +46 -1
  14. data/docs/Health.md +8 -0
  15. data/docs/HealthApi.md +9 -6
  16. data/docs/PutFlagRequest.md +5 -1
  17. data/docs/PutVariantRequest.md +1 -1
  18. data/docs/Tag.md +9 -0
  19. data/docs/TagApi.md +198 -0
  20. data/lib/rbflagr/api/constraint_api.rb +3 -3
  21. data/lib/rbflagr/api/distribution_api.rb +3 -3
  22. data/lib/rbflagr/api/evaluation_api.rb +3 -3
  23. data/lib/rbflagr/api/export_api.rb +118 -0
  24. data/lib/rbflagr/api/flag_api.rb +56 -3
  25. data/lib/rbflagr/api/health_api.rb +15 -12
  26. data/lib/rbflagr/api/segment_api.rb +3 -3
  27. data/lib/rbflagr/api/tag_api.rb +253 -0
  28. data/lib/rbflagr/api/variant_api.rb +3 -3
  29. data/lib/rbflagr/api_client.rb +8 -6
  30. data/lib/rbflagr/api_error.rb +3 -3
  31. data/lib/rbflagr/configuration.rb +5 -5
  32. data/lib/rbflagr/models/constraint.rb +5 -4
  33. data/lib/rbflagr/models/create_constraint_request.rb +5 -4
  34. data/lib/rbflagr/models/create_flag_request.rb +29 -8
  35. data/lib/rbflagr/models/create_segment_request.rb +5 -4
  36. data/lib/rbflagr/models/create_tag_request.rb +208 -0
  37. data/lib/rbflagr/models/create_variant_request.rb +5 -4
  38. data/lib/rbflagr/models/distribution.rb +6 -29
  39. data/lib/rbflagr/models/error.rb +5 -4
  40. data/lib/rbflagr/models/eval_context.rb +35 -44
  41. data/lib/rbflagr/models/eval_debug_log.rb +5 -4
  42. data/lib/rbflagr/models/eval_result.rb +15 -135
  43. data/lib/rbflagr/models/evaluation_batch_request.rb +34 -13
  44. data/lib/rbflagr/models/evaluation_batch_response.rb +5 -4
  45. data/lib/rbflagr/models/evaluation_entity.rb +5 -28
  46. data/lib/rbflagr/models/flag.rb +92 -8
  47. data/lib/rbflagr/models/flag_snapshot.rb +5 -4
  48. data/lib/rbflagr/models/health.rb +184 -0
  49. data/lib/rbflagr/models/put_distributions_request.rb +5 -4
  50. data/lib/rbflagr/models/put_flag_request.rb +49 -20
  51. data/lib/rbflagr/models/put_segment_reorder_request.rb +5 -4
  52. data/lib/rbflagr/models/put_segment_request.rb +5 -4
  53. data/lib/rbflagr/models/put_variant_request.rb +5 -9
  54. data/lib/rbflagr/models/segment.rb +5 -4
  55. data/lib/rbflagr/models/segment_debug_log.rb +5 -4
  56. data/lib/rbflagr/models/set_flag_enabled_request.rb +5 -4
  57. data/lib/rbflagr/models/tag.rb +232 -0
  58. data/lib/rbflagr/models/variant.rb +5 -4
  59. data/lib/rbflagr/version.rb +4 -4
  60. data/lib/rbflagr.rb +8 -3
  61. data/rbflagr.gemspec +5 -4
  62. data/spec/api/export_api_spec.rb +45 -0
  63. data/spec/api/tag_api_spec.rb +79 -0
  64. data/spec/models/create_tag_request_spec.rb +41 -0
  65. data/spec/models/health_spec.rb +41 -0
  66. data/spec/models/tag_spec.rb +47 -0
  67. data/swagger.yaml +309 -43
  68. data/swagger_ruby.json +1 -1
  69. metadata +72 -32
@@ -4,6 +4,6 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **key** | **String** | |
7
- **attachment** | **Object** | |
7
+ **attachment** | **Object** | | [optional]
8
8
 
9
9
 
data/docs/Tag.md ADDED
@@ -0,0 +1,9 @@
1
+ # Flagr::Tag
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **Integer** | | [optional]
7
+ **value** | **String** | |
8
+
9
+
data/docs/TagApi.md ADDED
@@ -0,0 +1,198 @@
1
+ # Flagr::TagApi
2
+
3
+ All URIs are relative to *http://localhost/api/v1*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**create_tag**](TagApi.md#create_tag) | **POST** /flags/{flagID}/tags |
8
+ [**delete_tag**](TagApi.md#delete_tag) | **DELETE** /flags/{flagID}/tags/{tagID} |
9
+ [**find_all_tags**](TagApi.md#find_all_tags) | **GET** /tags |
10
+ [**find_tags**](TagApi.md#find_tags) | **GET** /flags/{flagID}/tags |
11
+
12
+
13
+ # **create_tag**
14
+ > Tag create_tag(flag_id, body)
15
+
16
+
17
+
18
+ ### Example
19
+ ```ruby
20
+ # load the gem
21
+ require 'rbflagr'
22
+
23
+ api_instance = Flagr::TagApi.new
24
+
25
+ flag_id = 789 # Integer | numeric ID of the flag
26
+
27
+ body = Flagr::CreateTagRequest.new # CreateTagRequest | create a tag
28
+
29
+
30
+ begin
31
+ result = api_instance.create_tag(flag_id, body)
32
+ p result
33
+ rescue Flagr::ApiError => e
34
+ puts "Exception when calling TagApi->create_tag: #{e}"
35
+ end
36
+ ```
37
+
38
+ ### Parameters
39
+
40
+ Name | Type | Description | Notes
41
+ ------------- | ------------- | ------------- | -------------
42
+ **flag_id** | **Integer**| numeric ID of the flag |
43
+ **body** | [**CreateTagRequest**](CreateTagRequest.md)| create a tag |
44
+
45
+ ### Return type
46
+
47
+ [**Tag**](Tag.md)
48
+
49
+ ### Authorization
50
+
51
+ No authorization required
52
+
53
+ ### HTTP request headers
54
+
55
+ - **Content-Type**: application/json
56
+ - **Accept**: application/json
57
+
58
+
59
+
60
+ # **delete_tag**
61
+ > delete_tag(flag_id, tag_id)
62
+
63
+
64
+
65
+ ### Example
66
+ ```ruby
67
+ # load the gem
68
+ require 'rbflagr'
69
+
70
+ api_instance = Flagr::TagApi.new
71
+
72
+ flag_id = 789 # Integer | numeric ID of the flag
73
+
74
+ tag_id = 789 # Integer | numeric ID of the tag
75
+
76
+
77
+ begin
78
+ api_instance.delete_tag(flag_id, tag_id)
79
+ rescue Flagr::ApiError => e
80
+ puts "Exception when calling TagApi->delete_tag: #{e}"
81
+ end
82
+ ```
83
+
84
+ ### Parameters
85
+
86
+ Name | Type | Description | Notes
87
+ ------------- | ------------- | ------------- | -------------
88
+ **flag_id** | **Integer**| numeric ID of the flag |
89
+ **tag_id** | **Integer**| numeric ID of the tag |
90
+
91
+ ### Return type
92
+
93
+ nil (empty response body)
94
+
95
+ ### Authorization
96
+
97
+ No authorization required
98
+
99
+ ### HTTP request headers
100
+
101
+ - **Content-Type**: application/json
102
+ - **Accept**: application/json
103
+
104
+
105
+
106
+ # **find_all_tags**
107
+ > Array<Tag> find_all_tags(opts)
108
+
109
+
110
+
111
+ ### Example
112
+ ```ruby
113
+ # load the gem
114
+ require 'rbflagr'
115
+
116
+ api_instance = Flagr::TagApi.new
117
+
118
+ opts = {
119
+ limit: 789, # Integer | the numbers of tags to return
120
+ offset: 789, # Integer | return tags given the offset, it should usually set together with limit
121
+ value_like: 'value_like_example' # String | return tags partially matching given value
122
+ }
123
+
124
+ begin
125
+ result = api_instance.find_all_tags(opts)
126
+ p result
127
+ rescue Flagr::ApiError => e
128
+ puts "Exception when calling TagApi->find_all_tags: #{e}"
129
+ end
130
+ ```
131
+
132
+ ### Parameters
133
+
134
+ Name | Type | Description | Notes
135
+ ------------- | ------------- | ------------- | -------------
136
+ **limit** | **Integer**| the numbers of tags to return | [optional]
137
+ **offset** | **Integer**| return tags given the offset, it should usually set together with limit | [optional]
138
+ **value_like** | **String**| return tags partially matching given value | [optional]
139
+
140
+ ### Return type
141
+
142
+ [**Array<Tag>**](Tag.md)
143
+
144
+ ### Authorization
145
+
146
+ No authorization required
147
+
148
+ ### HTTP request headers
149
+
150
+ - **Content-Type**: application/json
151
+ - **Accept**: application/json
152
+
153
+
154
+
155
+ # **find_tags**
156
+ > Array<Tag> find_tags(flag_id)
157
+
158
+
159
+
160
+ ### Example
161
+ ```ruby
162
+ # load the gem
163
+ require 'rbflagr'
164
+
165
+ api_instance = Flagr::TagApi.new
166
+
167
+ flag_id = 789 # Integer | numeric ID of the flag
168
+
169
+
170
+ begin
171
+ result = api_instance.find_tags(flag_id)
172
+ p result
173
+ rescue Flagr::ApiError => e
174
+ puts "Exception when calling TagApi->find_tags: #{e}"
175
+ end
176
+ ```
177
+
178
+ ### Parameters
179
+
180
+ Name | Type | Description | Notes
181
+ ------------- | ------------- | ------------- | -------------
182
+ **flag_id** | **Integer**| numeric ID of the flag |
183
+
184
+ ### Return type
185
+
186
+ [**Array<Tag>**](Tag.md)
187
+
188
+ ### Authorization
189
+
190
+ No authorization required
191
+
192
+ ### HTTP request headers
193
+
194
+ - **Content-Type**: application/json
195
+ - **Accept**: application/json
196
+
197
+
198
+
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flagr
3
3
 
4
- #Flagr is a feature flagging, A/B testing and dynamic configuration microservice
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
5
 
6
- OpenAPI spec version: 1.0.8
6
+ OpenAPI spec version: 1.1.12
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
9
+ Swagger Codegen version: 2.4.21
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flagr
3
3
 
4
- #Flagr is a feature flagging, A/B testing and dynamic configuration microservice
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
5
 
6
- OpenAPI spec version: 1.0.8
6
+ OpenAPI spec version: 1.1.12
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
9
+ Swagger Codegen version: 2.4.21
10
10
 
11
11
  =end
12
12
 
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flagr
3
3
 
4
- #Flagr is a feature flagging, A/B testing and dynamic configuration microservice
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
5
 
6
- OpenAPI spec version: 1.0.8
6
+ OpenAPI spec version: 1.1.12
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
9
+ Swagger Codegen version: 2.4.21
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,118 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.1.12
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.21
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module Flagr
16
+ class ExportApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Export JSON format of the eval cache dump
23
+ # @param [Hash] opts the optional parameters
24
+ # @return [Object]
25
+ def get_export_eval_cache_json(opts = {})
26
+ data, _status_code, _headers = get_export_eval_cache_json_with_http_info(opts)
27
+ data
28
+ end
29
+
30
+ # Export JSON format of the eval cache dump
31
+ # @param [Hash] opts the optional parameters
32
+ # @return [Array<(Object, Fixnum, Hash)>] Object data, response status code and response headers
33
+ def get_export_eval_cache_json_with_http_info(opts = {})
34
+ if @api_client.config.debugging
35
+ @api_client.config.logger.debug 'Calling API: ExportApi.get_export_eval_cache_json ...'
36
+ end
37
+ # resource path
38
+ local_var_path = '/export/eval_cache/json'
39
+
40
+ # query parameters
41
+ query_params = {}
42
+
43
+ # header parameters
44
+ header_params = {}
45
+ # HTTP header 'Accept' (if needed)
46
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
47
+ # HTTP header 'Content-Type'
48
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
49
+
50
+ # form parameters
51
+ form_params = {}
52
+
53
+ # http body (model)
54
+ post_body = nil
55
+ auth_names = []
56
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
57
+ :header_params => header_params,
58
+ :query_params => query_params,
59
+ :form_params => form_params,
60
+ :body => post_body,
61
+ :auth_names => auth_names,
62
+ :return_type => 'Object')
63
+ if @api_client.config.debugging
64
+ @api_client.config.logger.debug "API called: ExportApi#get_export_eval_cache_json\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
65
+ end
66
+ return data, status_code, headers
67
+ end
68
+ # Export sqlite3 format of the db dump, which is converted from the main database.
69
+ # @param [Hash] opts the optional parameters
70
+ # @option opts [BOOLEAN] :exclude_snapshots export without snapshots data - useful for smaller db without snapshots
71
+ # @return [File]
72
+ def get_export_sqlite(opts = {})
73
+ data, _status_code, _headers = get_export_sqlite_with_http_info(opts)
74
+ data
75
+ end
76
+
77
+ # Export sqlite3 format of the db dump, which is converted from the main database.
78
+ # @param [Hash] opts the optional parameters
79
+ # @option opts [BOOLEAN] :exclude_snapshots export without snapshots data - useful for smaller db without snapshots
80
+ # @return [Array<(File, Fixnum, Hash)>] File data, response status code and response headers
81
+ def get_export_sqlite_with_http_info(opts = {})
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug 'Calling API: ExportApi.get_export_sqlite ...'
84
+ end
85
+ # resource path
86
+ local_var_path = '/export/sqlite'
87
+
88
+ # query parameters
89
+ query_params = {}
90
+ query_params[:'exclude_snapshots'] = opts[:'exclude_snapshots'] if !opts[:'exclude_snapshots'].nil?
91
+
92
+ # header parameters
93
+ header_params = {}
94
+ # HTTP header 'Accept' (if needed)
95
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
96
+ # HTTP header 'Content-Type'
97
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
98
+
99
+ # form parameters
100
+ form_params = {}
101
+
102
+ # http body (model)
103
+ post_body = nil
104
+ auth_names = []
105
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
106
+ :header_params => header_params,
107
+ :query_params => query_params,
108
+ :form_params => form_params,
109
+ :body => post_body,
110
+ :auth_names => auth_names,
111
+ :return_type => 'File')
112
+ if @api_client.config.debugging
113
+ @api_client.config.logger.debug "API called: ExportApi#get_export_sqlite\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
114
+ end
115
+ return data, status_code, headers
116
+ end
117
+ end
118
+ end
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Flagr
3
3
 
4
- #Flagr is a feature flagging, A/B testing and dynamic configuration microservice
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
5
 
6
- OpenAPI spec version: 1.0.8
6
+ OpenAPI spec version: 1.1.12
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.0-SNAPSHOT
9
+ Swagger Codegen version: 2.4.21
10
10
 
11
11
  =end
12
12
 
@@ -126,8 +126,11 @@ module Flagr
126
126
  # @option opts [Integer] :limit the numbers of flags to return
127
127
  # @option opts [BOOLEAN] :enabled return flags having given enabled status
128
128
  # @option opts [String] :description return flags exactly matching given description
129
+ # @option opts [String] :tags return flags with the given tags (comma separated)
129
130
  # @option opts [String] :description_like return flags partially matching given description
131
+ # @option opts [String] :key return flags matching given key
130
132
  # @option opts [Integer] :offset return flags given the offset, it should usually set together with limit
133
+ # @option opts [BOOLEAN] :preload return flags with preloaded segments and variants
131
134
  # @return [Array<Flag>]
132
135
  def find_flags(opts = {})
133
136
  data, _status_code, _headers = find_flags_with_http_info(opts)
@@ -138,8 +141,11 @@ module Flagr
138
141
  # @option opts [Integer] :limit the numbers of flags to return
139
142
  # @option opts [BOOLEAN] :enabled return flags having given enabled status
140
143
  # @option opts [String] :description return flags exactly matching given description
144
+ # @option opts [String] :tags return flags with the given tags (comma separated)
141
145
  # @option opts [String] :description_like return flags partially matching given description
146
+ # @option opts [String] :key return flags matching given key
142
147
  # @option opts [Integer] :offset return flags given the offset, it should usually set together with limit
148
+ # @option opts [BOOLEAN] :preload return flags with preloaded segments and variants
143
149
  # @return [Array<(Array<Flag>, Fixnum, Hash)>] Array<Flag> data, response status code and response headers
144
150
  def find_flags_with_http_info(opts = {})
145
151
  if @api_client.config.debugging
@@ -153,8 +159,11 @@ module Flagr
153
159
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
154
160
  query_params[:'enabled'] = opts[:'enabled'] if !opts[:'enabled'].nil?
155
161
  query_params[:'description'] = opts[:'description'] if !opts[:'description'].nil?
162
+ query_params[:'tags'] = opts[:'tags'] if !opts[:'tags'].nil?
156
163
  query_params[:'description_like'] = opts[:'description_like'] if !opts[:'description_like'].nil?
164
+ query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil?
157
165
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
166
+ query_params[:'preload'] = opts[:'preload'] if !opts[:'preload'].nil?
158
167
 
159
168
  # header parameters
160
169
  header_params = {}
@@ -235,6 +244,50 @@ module Flagr
235
244
  end
236
245
  return data, status_code, headers
237
246
  end
247
+ # @param [Hash] opts the optional parameters
248
+ # @return [Array<String>]
249
+ def get_flag_entity_types(opts = {})
250
+ data, _status_code, _headers = get_flag_entity_types_with_http_info(opts)
251
+ data
252
+ end
253
+
254
+ # @param [Hash] opts the optional parameters
255
+ # @return [Array<(Array<String>, Fixnum, Hash)>] Array<String> data, response status code and response headers
256
+ def get_flag_entity_types_with_http_info(opts = {})
257
+ if @api_client.config.debugging
258
+ @api_client.config.logger.debug 'Calling API: FlagApi.get_flag_entity_types ...'
259
+ end
260
+ # resource path
261
+ local_var_path = '/flags/entity_types'
262
+
263
+ # query parameters
264
+ query_params = {}
265
+
266
+ # header parameters
267
+ header_params = {}
268
+ # HTTP header 'Accept' (if needed)
269
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
270
+ # HTTP header 'Content-Type'
271
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
272
+
273
+ # form parameters
274
+ form_params = {}
275
+
276
+ # http body (model)
277
+ post_body = nil
278
+ auth_names = []
279
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
280
+ :header_params => header_params,
281
+ :query_params => query_params,
282
+ :form_params => form_params,
283
+ :body => post_body,
284
+ :auth_names => auth_names,
285
+ :return_type => 'Array<String>')
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug "API called: FlagApi#get_flag_entity_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
288
+ end
289
+ return data, status_code, headers
290
+ end
238
291
  # @param flag_id numeric ID of the flag to get
239
292
  # @param [Hash] opts the optional parameters
240
293
  # @return [Array<FlagSnapshot>]