rbflagr 1.1.0 → 1.1.10

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 (64) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +1 -1
  3. data/README.md +14 -6
  4. data/docs/CreateFlagRequest.md +1 -0
  5. data/docs/CreateTagRequest.md +8 -0
  6. data/docs/EvalContext.md +1 -0
  7. data/docs/EvaluationBatchRequest.md +2 -1
  8. data/docs/ExportApi.md +54 -6
  9. data/docs/Flag.md +2 -0
  10. data/docs/FlagApi.md +2 -0
  11. data/docs/Health.md +8 -0
  12. data/docs/HealthApi.md +4 -3
  13. data/docs/PutFlagRequest.md +1 -0
  14. data/docs/Tag.md +9 -0
  15. data/docs/TagApi.md +198 -0
  16. data/lib/rbflagr.rb +6 -2
  17. data/lib/rbflagr/api/constraint_api.rb +2 -2
  18. data/lib/rbflagr/api/distribution_api.rb +2 -2
  19. data/lib/rbflagr/api/evaluation_api.rb +2 -2
  20. data/lib/rbflagr/api/export_api.rb +56 -7
  21. data/lib/rbflagr/api/flag_api.rb +5 -2
  22. data/lib/rbflagr/api/health_api.rb +8 -7
  23. data/lib/rbflagr/api/segment_api.rb +2 -2
  24. data/lib/rbflagr/api/tag_api.rb +253 -0
  25. data/lib/rbflagr/api/variant_api.rb +2 -2
  26. data/lib/rbflagr/api_client.rb +4 -2
  27. data/lib/rbflagr/api_error.rb +2 -2
  28. data/lib/rbflagr/configuration.rb +2 -2
  29. data/lib/rbflagr/models/constraint.rb +4 -3
  30. data/lib/rbflagr/models/create_constraint_request.rb +4 -3
  31. data/lib/rbflagr/models/create_flag_request.rb +18 -7
  32. data/lib/rbflagr/models/create_segment_request.rb +4 -3
  33. data/lib/rbflagr/models/create_tag_request.rb +208 -0
  34. data/lib/rbflagr/models/create_variant_request.rb +4 -3
  35. data/lib/rbflagr/models/distribution.rb +4 -3
  36. data/lib/rbflagr/models/error.rb +4 -3
  37. data/lib/rbflagr/models/eval_context.rb +20 -7
  38. data/lib/rbflagr/models/eval_debug_log.rb +4 -3
  39. data/lib/rbflagr/models/eval_result.rb +4 -3
  40. data/lib/rbflagr/models/evaluation_batch_request.rb +21 -8
  41. data/lib/rbflagr/models/evaluation_batch_response.rb +4 -3
  42. data/lib/rbflagr/models/evaluation_entity.rb +4 -3
  43. data/lib/rbflagr/models/flag.rb +26 -4
  44. data/lib/rbflagr/models/flag_snapshot.rb +4 -3
  45. data/lib/rbflagr/models/health.rb +184 -0
  46. data/lib/rbflagr/models/put_distributions_request.rb +4 -3
  47. data/lib/rbflagr/models/put_flag_request.rb +17 -7
  48. data/lib/rbflagr/models/put_segment_reorder_request.rb +4 -3
  49. data/lib/rbflagr/models/put_segment_request.rb +4 -3
  50. data/lib/rbflagr/models/put_variant_request.rb +4 -3
  51. data/lib/rbflagr/models/segment.rb +4 -3
  52. data/lib/rbflagr/models/segment_debug_log.rb +4 -3
  53. data/lib/rbflagr/models/set_flag_enabled_request.rb +4 -3
  54. data/lib/rbflagr/models/tag.rb +232 -0
  55. data/lib/rbflagr/models/variant.rb +4 -3
  56. data/lib/rbflagr/version.rb +3 -3
  57. data/rbflagr.gemspec +2 -2
  58. data/spec/api/tag_api_spec.rb +79 -0
  59. data/spec/models/create_tag_request_spec.rb +41 -0
  60. data/spec/models/health_spec.rb +41 -0
  61. data/spec/models/tag_spec.rb +47 -0
  62. data/swagger.yaml +201 -5
  63. data/swagger_ruby.json +1 -1
  64. metadata +28 -13
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -111,6 +111,8 @@ module Flagr
111
111
  :verbose => @config.debugging
112
112
  }
113
113
 
114
+ req_opts.merge!(multipart: true) if header_params['Content-Type'].start_with? "multipart/"
115
+
114
116
  # set custom cert, if provided
115
117
  req_opts[:cainfo] = @config.ssl_ca_cert if @config.ssl_ca_cert
116
118
 
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -217,7 +217,7 @@ module Flagr
217
217
  return nil unless attributes.is_a?(Hash)
218
218
  self.class.swagger_types.each_pair do |key, type|
219
219
  if type =~ /\AArray<(.*)>/i
220
- # check to ensure the input is an array given that the the attribute
220
+ # check to ensure the input is an array given that the attribute
221
221
  # is documented as an array but the input is not
222
222
  if attributes[self.class.attribute_map[key]].is_a?(Array)
223
223
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -313,5 +313,6 @@ module Flagr
313
313
  value
314
314
  end
315
315
  end
316
+
316
317
  end
317
318
  end
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -173,7 +173,7 @@ module Flagr
173
173
  return nil unless attributes.is_a?(Hash)
174
174
  self.class.swagger_types.each_pair do |key, type|
175
175
  if type =~ /\AArray<(.*)>/i
176
- # check to ensure the input is an array given that the the attribute
176
+ # check to ensure the input is an array given that the attribute
177
177
  # is documented as an array but the input is not
178
178
  if attributes[self.class.attribute_map[key]].is_a?(Array)
179
179
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -269,5 +269,6 @@ module Flagr
269
269
  value
270
270
  end
271
271
  end
272
+
272
273
  end
273
274
  end
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -19,11 +19,15 @@ module Flagr
19
19
  # unique key representation of the flag
20
20
  attr_accessor :key
21
21
 
22
+ # template for flag creation
23
+ attr_accessor :template
24
+
22
25
  # Attribute mapping from ruby-style variable name to JSON key.
23
26
  def self.attribute_map
24
27
  {
25
28
  :'description' => :'description',
26
- :'key' => :'key'
29
+ :'key' => :'key',
30
+ :'template' => :'template'
27
31
  }
28
32
  end
29
33
 
@@ -31,7 +35,8 @@ module Flagr
31
35
  def self.swagger_types
32
36
  {
33
37
  :'description' => :'String',
34
- :'key' => :'String'
38
+ :'key' => :'String',
39
+ :'template' => :'String'
35
40
  }
36
41
  end
37
42
 
@@ -50,6 +55,10 @@ module Flagr
50
55
  if attributes.has_key?(:'key')
51
56
  self.key = attributes[:'key']
52
57
  end
58
+
59
+ if attributes.has_key?(:'template')
60
+ self.template = attributes[:'template']
61
+ end
53
62
  end
54
63
 
55
64
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -95,7 +104,8 @@ module Flagr
95
104
  return true if self.equal?(o)
96
105
  self.class == o.class &&
97
106
  description == o.description &&
98
- key == o.key
107
+ key == o.key &&
108
+ template == o.template
99
109
  end
100
110
 
101
111
  # @see the `==` method
@@ -107,7 +117,7 @@ module Flagr
107
117
  # Calculates hash code according to all attributes.
108
118
  # @return [Fixnum] Hash code
109
119
  def hash
110
- [description, key].hash
120
+ [description, key, template].hash
111
121
  end
112
122
 
113
123
  # Builds the object from hash
@@ -117,7 +127,7 @@ module Flagr
117
127
  return nil unless attributes.is_a?(Hash)
118
128
  self.class.swagger_types.each_pair do |key, type|
119
129
  if type =~ /\AArray<(.*)>/i
120
- # check to ensure the input is an array given that the the attribute
130
+ # check to ensure the input is an array given that the attribute
121
131
  # is documented as an array but the input is not
122
132
  if attributes[self.class.attribute_map[key]].is_a?(Array)
123
133
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -213,5 +223,6 @@ module Flagr
213
223
  value
214
224
  end
215
225
  end
226
+
216
227
  end
217
228
  end
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -149,7 +149,7 @@ module Flagr
149
149
  return nil unless attributes.is_a?(Hash)
150
150
  self.class.swagger_types.each_pair do |key, type|
151
151
  if type =~ /\AArray<(.*)>/i
152
- # check to ensure the input is an array given that the the attribute
152
+ # check to ensure the input is an array given that the attribute
153
153
  # is documented as an array but the input is not
154
154
  if attributes[self.class.attribute_map[key]].is_a?(Array)
155
155
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -245,5 +245,6 @@ module Flagr
245
245
  value
246
246
  end
247
247
  end
248
+
248
249
  end
249
250
  end
@@ -0,0 +1,208 @@
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.10
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Flagr
16
+ class CreateTagRequest
17
+ attr_accessor :value
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ :'value' => :'value'
23
+ }
24
+ end
25
+
26
+ # Attribute type mapping.
27
+ def self.swagger_types
28
+ {
29
+ :'value' => :'String'
30
+ }
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ return unless attributes.is_a?(Hash)
37
+
38
+ # convert string to symbol for hash key
39
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
40
+
41
+ if attributes.has_key?(:'value')
42
+ self.value = attributes[:'value']
43
+ end
44
+ end
45
+
46
+ # Show invalid properties with the reasons. Usually used together with valid?
47
+ # @return Array for valid properties with the reasons
48
+ def list_invalid_properties
49
+ invalid_properties = Array.new
50
+ if @value.nil?
51
+ invalid_properties.push('invalid value for "value", value cannot be nil.')
52
+ end
53
+
54
+ if @value.to_s.length < 1
55
+ invalid_properties.push('invalid value for "value", the character length must be great than or equal to 1.')
56
+ end
57
+
58
+ invalid_properties
59
+ end
60
+
61
+ # Check to see if the all the properties in the model are valid
62
+ # @return true if the model is valid
63
+ def valid?
64
+ return false if @value.nil?
65
+ return false if @value.to_s.length < 1
66
+ true
67
+ end
68
+
69
+ # Custom attribute writer method with validation
70
+ # @param [Object] value Value to be assigned
71
+ def value=(value)
72
+ if value.nil?
73
+ fail ArgumentError, 'value cannot be nil'
74
+ end
75
+
76
+ if value.to_s.length < 1
77
+ fail ArgumentError, 'invalid value for "value", the character length must be great than or equal to 1.'
78
+ end
79
+
80
+ @value = value
81
+ end
82
+
83
+ # Checks equality by comparing each attribute.
84
+ # @param [Object] Object to be compared
85
+ def ==(o)
86
+ return true if self.equal?(o)
87
+ self.class == o.class &&
88
+ value == o.value
89
+ end
90
+
91
+ # @see the `==` method
92
+ # @param [Object] Object to be compared
93
+ def eql?(o)
94
+ self == o
95
+ end
96
+
97
+ # Calculates hash code according to all attributes.
98
+ # @return [Fixnum] Hash code
99
+ def hash
100
+ [value].hash
101
+ end
102
+
103
+ # Builds the object from hash
104
+ # @param [Hash] attributes Model attributes in the form of hash
105
+ # @return [Object] Returns the model itself
106
+ def build_from_hash(attributes)
107
+ return nil unless attributes.is_a?(Hash)
108
+ self.class.swagger_types.each_pair do |key, type|
109
+ if type =~ /\AArray<(.*)>/i
110
+ # check to ensure the input is an array given that the attribute
111
+ # is documented as an array but the input is not
112
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
113
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
114
+ end
115
+ elsif !attributes[self.class.attribute_map[key]].nil?
116
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
117
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
118
+ end
119
+
120
+ self
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def _deserialize(type, value)
128
+ case type.to_sym
129
+ when :DateTime
130
+ DateTime.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :BOOLEAN
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ temp_model = Flagr.const_get(type).new
161
+ temp_model.build_from_hash(value)
162
+ end
163
+ end
164
+
165
+ # Returns the string representation of the object
166
+ # @return [String] String presentation of the object
167
+ def to_s
168
+ to_hash.to_s
169
+ end
170
+
171
+ # to_body is an alias to to_hash (backward compatibility)
172
+ # @return [Hash] Returns the object in the form of hash
173
+ def to_body
174
+ to_hash
175
+ end
176
+
177
+ # Returns the object in the form of hash
178
+ # @return [Hash] Returns the object in the form of hash
179
+ def to_hash
180
+ hash = {}
181
+ self.class.attribute_map.each_pair do |attr, param|
182
+ value = self.send(attr)
183
+ next if value.nil?
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map { |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+
207
+ end
208
+ end
@@ -3,10 +3,10 @@
3
3
 
4
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.1.0
6
+ OpenAPI spec version: 1.1.10
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.14
10
10
 
11
11
  =end
12
12
 
@@ -116,7 +116,7 @@ module Flagr
116
116
  return nil unless attributes.is_a?(Hash)
117
117
  self.class.swagger_types.each_pair do |key, type|
118
118
  if type =~ /\AArray<(.*)>/i
119
- # check to ensure the input is an array given that the the attribute
119
+ # check to ensure the input is an array given that the attribute
120
120
  # is documented as an array but the input is not
121
121
  if attributes[self.class.attribute_map[key]].is_a?(Array)
122
122
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -212,5 +212,6 @@ module Flagr
212
212
  value
213
213
  end
214
214
  end
215
+
215
216
  end
216
217
  end