rbflagr 0.1.2 → 0.2.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -7
  3. data/docs/CreateFlagRequest.md +1 -0
  4. data/docs/Distribution.md +0 -1
  5. data/docs/EvalContext.md +3 -2
  6. data/docs/EvalResult.md +1 -0
  7. data/docs/EvaluationBatchRequest.md +2 -1
  8. data/docs/EvaluationEntity.md +1 -1
  9. data/docs/ExportApi.md +49 -0
  10. data/docs/Flag.md +5 -0
  11. data/docs/FlagApi.md +41 -0
  12. data/docs/HealthApi.md +7 -5
  13. data/docs/PutFlagRequest.md +4 -1
  14. data/docs/PutVariantRequest.md +1 -1
  15. data/lib/rbflagr.rb +3 -2
  16. data/lib/rbflagr/api/constraint_api.rb +2 -2
  17. data/lib/rbflagr/api/distribution_api.rb +2 -2
  18. data/lib/rbflagr/api/evaluation_api.rb +2 -2
  19. data/lib/rbflagr/api/export_api.rb +69 -0
  20. data/lib/rbflagr/api/flag_api.rb +49 -2
  21. data/lib/rbflagr/api/health_api.rb +9 -7
  22. data/lib/rbflagr/api/segment_api.rb +2 -2
  23. data/lib/rbflagr/api/variant_api.rb +2 -2
  24. data/lib/rbflagr/api_client.rb +2 -2
  25. data/lib/rbflagr/api_error.rb +2 -2
  26. data/lib/rbflagr/configuration.rb +2 -2
  27. data/lib/rbflagr/models/constraint.rb +2 -2
  28. data/lib/rbflagr/models/create_constraint_request.rb +2 -2
  29. data/lib/rbflagr/models/create_flag_request.rb +16 -6
  30. data/lib/rbflagr/models/create_segment_request.rb +2 -2
  31. data/lib/rbflagr/models/create_variant_request.rb +2 -2
  32. data/lib/rbflagr/models/distribution.rb +3 -27
  33. data/lib/rbflagr/models/error.rb +2 -2
  34. data/lib/rbflagr/models/eval_context.rb +20 -42
  35. data/lib/rbflagr/models/eval_debug_log.rb +2 -2
  36. data/lib/rbflagr/models/eval_result.rb +17 -3
  37. data/lib/rbflagr/models/evaluation_batch_request.rb +19 -11
  38. data/lib/rbflagr/models/evaluation_batch_response.rb +2 -2
  39. data/lib/rbflagr/models/evaluation_entity.rb +2 -26
  40. data/lib/rbflagr/models/flag.rb +68 -6
  41. data/lib/rbflagr/models/flag_snapshot.rb +2 -2
  42. data/lib/rbflagr/models/put_distributions_request.rb +2 -2
  43. data/lib/rbflagr/models/put_flag_request.rb +37 -18
  44. data/lib/rbflagr/models/put_segment_reorder_request.rb +2 -2
  45. data/lib/rbflagr/models/put_segment_request.rb +2 -2
  46. data/lib/rbflagr/models/put_variant_request.rb +2 -7
  47. data/lib/rbflagr/models/segment.rb +2 -2
  48. data/lib/rbflagr/models/segment_debug_log.rb +2 -2
  49. data/lib/rbflagr/models/set_flag_enabled_request.rb +2 -2
  50. data/lib/rbflagr/models/variant.rb +2 -2
  51. data/lib/rbflagr/version.rb +3 -3
  52. data/rbflagr.gemspec +3 -3
  53. data/spec/api/export_api_spec.rb +45 -0
  54. data/swagger.yaml +115 -35
  55. data/swagger_ruby.json +1 -1
  56. metadata +8 -3
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -16,6 +16,8 @@ module Flagr
16
16
  class EvalResult
17
17
  attr_accessor :flag_id
18
18
 
19
+ attr_accessor :flag_key
20
+
19
21
  attr_accessor :flag_snapshot_id
20
22
 
21
23
  attr_accessor :segment_id
@@ -36,6 +38,7 @@ module Flagr
36
38
  def self.attribute_map
37
39
  {
38
40
  :'flag_id' => :'flagID',
41
+ :'flag_key' => :'flagKey',
39
42
  :'flag_snapshot_id' => :'flagSnapshotID',
40
43
  :'segment_id' => :'segmentID',
41
44
  :'variant_id' => :'variantID',
@@ -51,6 +54,7 @@ module Flagr
51
54
  def self.swagger_types
52
55
  {
53
56
  :'flag_id' => :'Integer',
57
+ :'flag_key' => :'String',
54
58
  :'flag_snapshot_id' => :'Integer',
55
59
  :'segment_id' => :'Integer',
56
60
  :'variant_id' => :'Integer',
@@ -74,6 +78,10 @@ module Flagr
74
78
  self.flag_id = attributes[:'flagID']
75
79
  end
76
80
 
81
+ if attributes.has_key?(:'flagKey')
82
+ self.flag_key = attributes[:'flagKey']
83
+ end
84
+
77
85
  if attributes.has_key?(:'flagSnapshotID')
78
86
  self.flag_snapshot_id = attributes[:'flagSnapshotID']
79
87
  end
@@ -119,6 +127,10 @@ module Flagr
119
127
  invalid_properties.push('invalid value for "flag_id", must be greater than or equal to 1.')
120
128
  end
121
129
 
130
+ if @flag_key.nil?
131
+ invalid_properties.push('invalid value for "flag_key", flag_key cannot be nil.')
132
+ end
133
+
122
134
  if @segment_id.nil?
123
135
  invalid_properties.push('invalid value for "segment_id", segment_id cannot be nil.')
124
136
  end
@@ -167,6 +179,7 @@ module Flagr
167
179
  def valid?
168
180
  return false if @flag_id.nil?
169
181
  return false if @flag_id < 1
182
+ return false if @flag_key.nil?
170
183
  return false if @segment_id.nil?
171
184
  return false if @segment_id < 1
172
185
  return false if @variant_id.nil?
@@ -256,6 +269,7 @@ module Flagr
256
269
  return true if self.equal?(o)
257
270
  self.class == o.class &&
258
271
  flag_id == o.flag_id &&
272
+ flag_key == o.flag_key &&
259
273
  flag_snapshot_id == o.flag_snapshot_id &&
260
274
  segment_id == o.segment_id &&
261
275
  variant_id == o.variant_id &&
@@ -275,7 +289,7 @@ module Flagr
275
289
  # Calculates hash code according to all attributes.
276
290
  # @return [Fixnum] Hash code
277
291
  def hash
278
- [flag_id, flag_snapshot_id, segment_id, variant_id, variant_key, variant_attachment, eval_context, timestamp, eval_debug_log].hash
292
+ [flag_id, flag_key, flag_snapshot_id, segment_id, variant_id, variant_key, variant_attachment, eval_context, timestamp, eval_debug_log].hash
279
293
  end
280
294
 
281
295
  # Builds the object from hash
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -18,14 +18,19 @@ module Flagr
18
18
 
19
19
  attr_accessor :enable_debug
20
20
 
21
+ # flagIDs
21
22
  attr_accessor :flag_i_ds
22
23
 
24
+ # flagKeys. Either flagIDs or flagKeys works. If pass in both, Flagr may return duplicate results.
25
+ attr_accessor :flag_keys
26
+
23
27
  # Attribute mapping from ruby-style variable name to JSON key.
24
28
  def self.attribute_map
25
29
  {
26
30
  :'entities' => :'entities',
27
31
  :'enable_debug' => :'enableDebug',
28
- :'flag_i_ds' => :'flagIDs'
32
+ :'flag_i_ds' => :'flagIDs',
33
+ :'flag_keys' => :'flagKeys'
29
34
  }
30
35
  end
31
36
 
@@ -34,7 +39,8 @@ module Flagr
34
39
  {
35
40
  :'entities' => :'Array<EvaluationEntity>',
36
41
  :'enable_debug' => :'BOOLEAN',
37
- :'flag_i_ds' => :'Array<Integer>'
42
+ :'flag_i_ds' => :'Array<Integer>',
43
+ :'flag_keys' => :'Array<String>'
38
44
  }
39
45
  end
40
46
 
@@ -61,6 +67,12 @@ module Flagr
61
67
  self.flag_i_ds = value
62
68
  end
63
69
  end
70
+
71
+ if attributes.has_key?(:'flagKeys')
72
+ if (value = attributes[:'flagKeys']).is_a?(Array)
73
+ self.flag_keys = value
74
+ end
75
+ end
64
76
  end
65
77
 
66
78
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -71,10 +83,6 @@ module Flagr
71
83
  invalid_properties.push('invalid value for "entities", entities cannot be nil.')
72
84
  end
73
85
 
74
- if @flag_i_ds.nil?
75
- invalid_properties.push('invalid value for "flag_i_ds", flag_i_ds cannot be nil.')
76
- end
77
-
78
86
  invalid_properties
79
87
  end
80
88
 
@@ -82,7 +90,6 @@ module Flagr
82
90
  # @return true if the model is valid
83
91
  def valid?
84
92
  return false if @entities.nil?
85
- return false if @flag_i_ds.nil?
86
93
  true
87
94
  end
88
95
 
@@ -93,7 +100,8 @@ module Flagr
93
100
  self.class == o.class &&
94
101
  entities == o.entities &&
95
102
  enable_debug == o.enable_debug &&
96
- flag_i_ds == o.flag_i_ds
103
+ flag_i_ds == o.flag_i_ds &&
104
+ flag_keys == o.flag_keys
97
105
  end
98
106
 
99
107
  # @see the `==` method
@@ -105,7 +113,7 @@ module Flagr
105
113
  # Calculates hash code according to all attributes.
106
114
  # @return [Fixnum] Hash code
107
115
  def hash
108
- [entities, enable_debug, flag_i_ds].hash
116
+ [entities, enable_debug, flag_i_ds, flag_keys].hash
109
117
  end
110
118
 
111
119
  # Builds the object from hash
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -63,39 +63,15 @@ module Flagr
63
63
  # @return Array for valid properties with the reasons
64
64
  def list_invalid_properties
65
65
  invalid_properties = Array.new
66
- if @entity_type.nil?
67
- invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.')
68
- end
69
-
70
- if @entity_type.to_s.length < 1
71
- invalid_properties.push('invalid value for "entity_type", the character length must be great than or equal to 1.')
72
- end
73
-
74
66
  invalid_properties
75
67
  end
76
68
 
77
69
  # Check to see if the all the properties in the model are valid
78
70
  # @return true if the model is valid
79
71
  def valid?
80
- return false if @entity_type.nil?
81
- return false if @entity_type.to_s.length < 1
82
72
  true
83
73
  end
84
74
 
85
- # Custom attribute writer method with validation
86
- # @param [Object] entity_type Value to be assigned
87
- def entity_type=(entity_type)
88
- if entity_type.nil?
89
- fail ArgumentError, 'entity_type cannot be nil'
90
- end
91
-
92
- if entity_type.to_s.length < 1
93
- fail ArgumentError, 'invalid value for "entity_type", the character length must be great than or equal to 1.'
94
- end
95
-
96
- @entity_type = entity_type
97
- end
98
-
99
75
  # Checks equality by comparing each attribute.
100
76
  # @param [Object] Object to be compared
101
77
  def ==(o)
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -16,6 +16,9 @@ module Flagr
16
16
  class Flag
17
17
  attr_accessor :id
18
18
 
19
+ # unique key representation of the flag
20
+ attr_accessor :key
21
+
19
22
  attr_accessor :description
20
23
 
21
24
  attr_accessor :enabled
@@ -27,15 +30,29 @@ module Flagr
27
30
  # enabled data records will get data logging in the metrics pipeline, for example, kafka.
28
31
  attr_accessor :data_records_enabled
29
32
 
33
+ # it will override the entityType in the evaluation logs if it's not empty
34
+ attr_accessor :entity_type
35
+
36
+ attr_accessor :created_by
37
+
38
+ attr_accessor :updated_by
39
+
40
+ attr_accessor :updated_at
41
+
30
42
  # Attribute mapping from ruby-style variable name to JSON key.
31
43
  def self.attribute_map
32
44
  {
33
45
  :'id' => :'id',
46
+ :'key' => :'key',
34
47
  :'description' => :'description',
35
48
  :'enabled' => :'enabled',
36
49
  :'segments' => :'segments',
37
50
  :'variants' => :'variants',
38
- :'data_records_enabled' => :'dataRecordsEnabled'
51
+ :'data_records_enabled' => :'dataRecordsEnabled',
52
+ :'entity_type' => :'entityType',
53
+ :'created_by' => :'createdBy',
54
+ :'updated_by' => :'updatedBy',
55
+ :'updated_at' => :'updatedAt'
39
56
  }
40
57
  end
41
58
 
@@ -43,11 +60,16 @@ module Flagr
43
60
  def self.swagger_types
44
61
  {
45
62
  :'id' => :'Integer',
63
+ :'key' => :'String',
46
64
  :'description' => :'String',
47
65
  :'enabled' => :'BOOLEAN',
48
66
  :'segments' => :'Array<Segment>',
49
67
  :'variants' => :'Array<Variant>',
50
- :'data_records_enabled' => :'BOOLEAN'
68
+ :'data_records_enabled' => :'BOOLEAN',
69
+ :'entity_type' => :'String',
70
+ :'created_by' => :'String',
71
+ :'updated_by' => :'String',
72
+ :'updated_at' => :'DateTime'
51
73
  }
52
74
  end
53
75
 
@@ -63,6 +85,10 @@ module Flagr
63
85
  self.id = attributes[:'id']
64
86
  end
65
87
 
88
+ if attributes.has_key?(:'key')
89
+ self.key = attributes[:'key']
90
+ end
91
+
66
92
  if attributes.has_key?(:'description')
67
93
  self.description = attributes[:'description']
68
94
  end
@@ -86,6 +112,22 @@ module Flagr
86
112
  if attributes.has_key?(:'dataRecordsEnabled')
87
113
  self.data_records_enabled = attributes[:'dataRecordsEnabled']
88
114
  end
115
+
116
+ if attributes.has_key?(:'entityType')
117
+ self.entity_type = attributes[:'entityType']
118
+ end
119
+
120
+ if attributes.has_key?(:'createdBy')
121
+ self.created_by = attributes[:'createdBy']
122
+ end
123
+
124
+ if attributes.has_key?(:'updatedBy')
125
+ self.updated_by = attributes[:'updatedBy']
126
+ end
127
+
128
+ if attributes.has_key?(:'updatedAt')
129
+ self.updated_at = attributes[:'updatedAt']
130
+ end
89
131
  end
90
132
 
91
133
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -96,6 +138,10 @@ module Flagr
96
138
  invalid_properties.push('invalid value for "id", must be greater than or equal to 1.')
97
139
  end
98
140
 
141
+ if !@key.nil? && @key.to_s.length < 1
142
+ invalid_properties.push('invalid value for "key", the character length must be great than or equal to 1.')
143
+ end
144
+
99
145
  if @description.nil?
100
146
  invalid_properties.push('invalid value for "description", description cannot be nil.')
101
147
  end
@@ -119,6 +165,7 @@ module Flagr
119
165
  # @return true if the model is valid
120
166
  def valid?
121
167
  return false if !@id.nil? && @id < 1
168
+ return false if !@key.nil? && @key.to_s.length < 1
122
169
  return false if @description.nil?
123
170
  return false if @description.to_s.length < 1
124
171
  return false if @enabled.nil?
@@ -136,6 +183,16 @@ module Flagr
136
183
  @id = id
137
184
  end
138
185
 
186
+ # Custom attribute writer method with validation
187
+ # @param [Object] key Value to be assigned
188
+ def key=(key)
189
+ if !key.nil? && key.to_s.length < 1
190
+ fail ArgumentError, 'invalid value for "key", the character length must be great than or equal to 1.'
191
+ end
192
+
193
+ @key = key
194
+ end
195
+
139
196
  # Custom attribute writer method with validation
140
197
  # @param [Object] description Value to be assigned
141
198
  def description=(description)
@@ -156,11 +213,16 @@ module Flagr
156
213
  return true if self.equal?(o)
157
214
  self.class == o.class &&
158
215
  id == o.id &&
216
+ key == o.key &&
159
217
  description == o.description &&
160
218
  enabled == o.enabled &&
161
219
  segments == o.segments &&
162
220
  variants == o.variants &&
163
- data_records_enabled == o.data_records_enabled
221
+ data_records_enabled == o.data_records_enabled &&
222
+ entity_type == o.entity_type &&
223
+ created_by == o.created_by &&
224
+ updated_by == o.updated_by &&
225
+ updated_at == o.updated_at
164
226
  end
165
227
 
166
228
  # @see the `==` method
@@ -172,7 +234,7 @@ module Flagr
172
234
  # Calculates hash code according to all attributes.
173
235
  # @return [Fixnum] Hash code
174
236
  def hash
175
- [id, description, enabled, segments, variants, data_records_enabled].hash
237
+ [id, key, description, enabled, segments, variants, data_records_enabled, entity_type, created_by, updated_by, updated_at].hash
176
238
  end
177
239
 
178
240
  # Builds the object from hash
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -1,9 +1,9 @@
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.0.13
7
7
 
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
9
  Swagger Codegen version: 2.4.0-SNAPSHOT
@@ -19,11 +19,21 @@ module Flagr
19
19
  # enabled data records will get data logging in the metrics pipeline, for example, kafka.
20
20
  attr_accessor :data_records_enabled
21
21
 
22
+ # it will overwrite entityType into evaluation logs if it's not empty
23
+ attr_accessor :entity_type
24
+
25
+ attr_accessor :enabled
26
+
27
+ attr_accessor :key
28
+
22
29
  # Attribute mapping from ruby-style variable name to JSON key.
23
30
  def self.attribute_map
24
31
  {
25
32
  :'description' => :'description',
26
- :'data_records_enabled' => :'dataRecordsEnabled'
33
+ :'data_records_enabled' => :'dataRecordsEnabled',
34
+ :'entity_type' => :'entityType',
35
+ :'enabled' => :'enabled',
36
+ :'key' => :'key'
27
37
  }
28
38
  end
29
39
 
@@ -31,7 +41,10 @@ module Flagr
31
41
  def self.swagger_types
32
42
  {
33
43
  :'description' => :'String',
34
- :'data_records_enabled' => :'BOOLEAN'
44
+ :'data_records_enabled' => :'BOOLEAN',
45
+ :'entity_type' => :'String',
46
+ :'enabled' => :'BOOLEAN',
47
+ :'key' => :'String'
35
48
  }
36
49
  end
37
50
 
@@ -50,17 +63,25 @@ module Flagr
50
63
  if attributes.has_key?(:'dataRecordsEnabled')
51
64
  self.data_records_enabled = attributes[:'dataRecordsEnabled']
52
65
  end
66
+
67
+ if attributes.has_key?(:'entityType')
68
+ self.entity_type = attributes[:'entityType']
69
+ end
70
+
71
+ if attributes.has_key?(:'enabled')
72
+ self.enabled = attributes[:'enabled']
73
+ end
74
+
75
+ if attributes.has_key?(:'key')
76
+ self.key = attributes[:'key']
77
+ end
53
78
  end
54
79
 
55
80
  # Show invalid properties with the reasons. Usually used together with valid?
56
81
  # @return Array for valid properties with the reasons
57
82
  def list_invalid_properties
58
83
  invalid_properties = Array.new
59
- if @description.nil?
60
- invalid_properties.push('invalid value for "description", description cannot be nil.')
61
- end
62
-
63
- if @description.to_s.length < 1
84
+ if !@description.nil? && @description.to_s.length < 1
64
85
  invalid_properties.push('invalid value for "description", the character length must be great than or equal to 1.')
65
86
  end
66
87
 
@@ -70,19 +91,14 @@ module Flagr
70
91
  # Check to see if the all the properties in the model are valid
71
92
  # @return true if the model is valid
72
93
  def valid?
73
- return false if @description.nil?
74
- return false if @description.to_s.length < 1
94
+ return false if !@description.nil? && @description.to_s.length < 1
75
95
  true
76
96
  end
77
97
 
78
98
  # Custom attribute writer method with validation
79
99
  # @param [Object] description Value to be assigned
80
100
  def description=(description)
81
- if description.nil?
82
- fail ArgumentError, 'description cannot be nil'
83
- end
84
-
85
- if description.to_s.length < 1
101
+ if !description.nil? && description.to_s.length < 1
86
102
  fail ArgumentError, 'invalid value for "description", the character length must be great than or equal to 1.'
87
103
  end
88
104
 
@@ -95,7 +111,10 @@ module Flagr
95
111
  return true if self.equal?(o)
96
112
  self.class == o.class &&
97
113
  description == o.description &&
98
- data_records_enabled == o.data_records_enabled
114
+ data_records_enabled == o.data_records_enabled &&
115
+ entity_type == o.entity_type &&
116
+ enabled == o.enabled &&
117
+ key == o.key
99
118
  end
100
119
 
101
120
  # @see the `==` method
@@ -107,7 +126,7 @@ module Flagr
107
126
  # Calculates hash code according to all attributes.
108
127
  # @return [Fixnum] Hash code
109
128
  def hash
110
- [description, data_records_enabled].hash
129
+ [description, data_records_enabled, entity_type, enabled, key].hash
111
130
  end
112
131
 
113
132
  # Builds the object from hash