stage-ruby 0.0.02 → 0.0.04

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.
@@ -0,0 +1,259 @@
1
+ =begin
2
+ #Stage API Docs
3
+
4
+ #Stage Technologies complete API Documentation
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@heystage.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.33
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Stage
15
+ class PlanObjectForm
16
+ # Plan description.
17
+ attr_accessor :description
18
+
19
+ # Features associated to this plan.
20
+ attr_accessor :features
21
+
22
+ # Plan identifier.
23
+ attr_accessor :identifier
24
+
25
+ # Plan name.
26
+ attr_accessor :name
27
+
28
+ # Plan order.
29
+ attr_accessor :order
30
+
31
+ # Stripe product identifier.
32
+ attr_accessor :stripe_product_id
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'description' => :'description',
38
+ :'features' => :'features',
39
+ :'identifier' => :'identifier',
40
+ :'name' => :'name',
41
+ :'order' => :'order',
42
+ :'stripe_product_id' => :'stripeProductId'
43
+ }
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'description' => :'Object',
50
+ :'features' => :'Object',
51
+ :'identifier' => :'Object',
52
+ :'name' => :'Object',
53
+ :'order' => :'Object',
54
+ :'stripe_product_id' => :'Object'
55
+ }
56
+ end
57
+
58
+ # List of attributes with nullable: true
59
+ def self.openapi_nullable
60
+ Set.new([
61
+ ])
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Stage::PlanObjectForm` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Stage::PlanObjectForm`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:'description')
80
+ self.description = attributes[:'description']
81
+ end
82
+
83
+ if attributes.key?(:'features')
84
+ if (value = attributes[:'features']).is_a?(Array)
85
+ self.features = value
86
+ end
87
+ end
88
+
89
+ if attributes.key?(:'identifier')
90
+ self.identifier = attributes[:'identifier']
91
+ end
92
+
93
+ if attributes.key?(:'name')
94
+ self.name = attributes[:'name']
95
+ end
96
+
97
+ if attributes.key?(:'order')
98
+ self.order = attributes[:'order']
99
+ end
100
+
101
+ if attributes.key?(:'stripe_product_id')
102
+ self.stripe_product_id = attributes[:'stripe_product_id']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ invalid_properties = Array.new
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ true
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ description == o.description &&
125
+ features == o.features &&
126
+ identifier == o.identifier &&
127
+ name == o.name &&
128
+ order == o.order &&
129
+ stripe_product_id == o.stripe_product_id
130
+ end
131
+
132
+ # @see the `==` method
133
+ # @param [Object] Object to be compared
134
+ def eql?(o)
135
+ self == o
136
+ end
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Integer] Hash code
140
+ def hash
141
+ [description, features, identifier, name, order, stripe_product_id].hash
142
+ end
143
+
144
+ # Builds the object from hash
145
+ # @param [Hash] attributes Model attributes in the form of hash
146
+ # @return [Object] Returns the model itself
147
+ def self.build_from_hash(attributes)
148
+ new.build_from_hash(attributes)
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ self.class.openapi_types.each_pair do |key, type|
157
+ if type =~ /\AArray<(.*)>/i
158
+ # check to ensure the input is an array given that the attribute
159
+ # is documented as an array but the input is not
160
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
161
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
162
+ end
163
+ elsif !attributes[self.class.attribute_map[key]].nil?
164
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
165
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
166
+ self.send("#{key}=", nil)
167
+ end
168
+ end
169
+
170
+ self
171
+ end
172
+
173
+ # Deserializes the data based on type
174
+ # @param string type Data type
175
+ # @param string value Value to be deserialized
176
+ # @return [Object] Deserialized data
177
+ def _deserialize(type, value)
178
+ case type.to_sym
179
+ when :DateTime
180
+ DateTime.parse(value)
181
+ when :Date
182
+ Date.parse(value)
183
+ when :String
184
+ value.to_s
185
+ when :Integer
186
+ value.to_i
187
+ when :Float
188
+ value.to_f
189
+ when :Boolean
190
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
191
+ true
192
+ else
193
+ false
194
+ end
195
+ when :Object
196
+ # generic object (usually a Hash), return directly
197
+ value
198
+ when /\AArray<(?<inner_type>.+)>\z/
199
+ inner_type = Regexp.last_match[:inner_type]
200
+ value.map { |v| _deserialize(inner_type, v) }
201
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
202
+ k_type = Regexp.last_match[:k_type]
203
+ v_type = Regexp.last_match[:v_type]
204
+ {}.tap do |hash|
205
+ value.each do |k, v|
206
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
207
+ end
208
+ end
209
+ else # model
210
+ Stage.const_get(type).build_from_hash(value)
211
+ end
212
+ end
213
+
214
+ # Returns the string representation of the object
215
+ # @return [String] String presentation of the object
216
+ def to_s
217
+ to_hash.to_s
218
+ end
219
+
220
+ # to_body is an alias to to_hash (backward compatibility)
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_body
223
+ to_hash
224
+ end
225
+
226
+ # Returns the object in the form of hash
227
+ # @return [Hash] Returns the object in the form of hash
228
+ def to_hash
229
+ hash = {}
230
+ self.class.attribute_map.each_pair do |attr, param|
231
+ value = self.send(attr)
232
+ if value.nil?
233
+ is_nullable = self.class.openapi_nullable.include?(attr)
234
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
235
+ end
236
+
237
+ hash[param] = _to_hash(value)
238
+ end
239
+ hash
240
+ end
241
+
242
+ # Outputs non-array value in the form of hash
243
+ # For object, use to_hash. Otherwise, just return the value
244
+ # @param [Object] value Any valid value
245
+ # @return [Hash] Returns the value in the form of hash
246
+ def _to_hash(value)
247
+ if value.is_a?(Array)
248
+ value.compact.map { |v| _to_hash(v) }
249
+ elsif value.is_a?(Hash)
250
+ {}.tap do |hash|
251
+ value.each { |k, v| hash[k] = _to_hash(v) }
252
+ end
253
+ elsif value.respond_to? :to_hash
254
+ value.to_hash
255
+ else
256
+ value
257
+ end
258
+ end end
259
+ end
@@ -0,0 +1,296 @@
1
+ =begin
2
+ #Stage API Docs
3
+
4
+ #Stage Technologies complete API Documentation
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@heystage.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.33
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module Stage
15
+ class StageUserObjectForm
16
+ attr_accessor :arena_id
17
+
18
+ attr_accessor :created_at
19
+
20
+ attr_accessor :deleted
21
+
22
+ attr_accessor :email
23
+
24
+ attr_accessor :existing_password
25
+
26
+ attr_accessor :first_name
27
+
28
+ attr_accessor :id
29
+
30
+ attr_accessor :invite_accepted
31
+
32
+ attr_accessor :last_name
33
+
34
+ attr_accessor :password
35
+
36
+ attr_accessor :updated_at
37
+
38
+ # Attribute mapping from ruby-style variable name to JSON key.
39
+ def self.attribute_map
40
+ {
41
+ :'arena_id' => :'arenaId',
42
+ :'created_at' => :'createdAt',
43
+ :'deleted' => :'deleted',
44
+ :'email' => :'email',
45
+ :'existing_password' => :'existingPassword',
46
+ :'first_name' => :'firstName',
47
+ :'id' => :'id',
48
+ :'invite_accepted' => :'inviteAccepted',
49
+ :'last_name' => :'lastName',
50
+ :'password' => :'password',
51
+ :'updated_at' => :'updatedAt'
52
+ }
53
+ end
54
+
55
+ # Attribute type mapping.
56
+ def self.openapi_types
57
+ {
58
+ :'arena_id' => :'Object',
59
+ :'created_at' => :'Object',
60
+ :'deleted' => :'Object',
61
+ :'email' => :'Object',
62
+ :'existing_password' => :'Object',
63
+ :'first_name' => :'Object',
64
+ :'id' => :'Object',
65
+ :'invite_accepted' => :'Object',
66
+ :'last_name' => :'Object',
67
+ :'password' => :'Object',
68
+ :'updated_at' => :'Object'
69
+ }
70
+ end
71
+
72
+ # List of attributes with nullable: true
73
+ def self.openapi_nullable
74
+ Set.new([
75
+ ])
76
+ end
77
+
78
+ # Initializes the object
79
+ # @param [Hash] attributes Model attributes in the form of hash
80
+ def initialize(attributes = {})
81
+ if (!attributes.is_a?(Hash))
82
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Stage::StageUserObjectForm` initialize method"
83
+ end
84
+
85
+ # check to see if the attribute exists and convert string to symbol for hash key
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!self.class.attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Stage::StageUserObjectForm`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'arena_id')
94
+ self.arena_id = attributes[:'arena_id']
95
+ end
96
+
97
+ if attributes.key?(:'created_at')
98
+ self.created_at = attributes[:'created_at']
99
+ end
100
+
101
+ if attributes.key?(:'deleted')
102
+ self.deleted = attributes[:'deleted']
103
+ end
104
+
105
+ if attributes.key?(:'email')
106
+ self.email = attributes[:'email']
107
+ end
108
+
109
+ if attributes.key?(:'existing_password')
110
+ self.existing_password = attributes[:'existing_password']
111
+ end
112
+
113
+ if attributes.key?(:'first_name')
114
+ self.first_name = attributes[:'first_name']
115
+ end
116
+
117
+ if attributes.key?(:'id')
118
+ self.id = attributes[:'id']
119
+ end
120
+
121
+ if attributes.key?(:'invite_accepted')
122
+ self.invite_accepted = attributes[:'invite_accepted']
123
+ end
124
+
125
+ if attributes.key?(:'last_name')
126
+ self.last_name = attributes[:'last_name']
127
+ end
128
+
129
+ if attributes.key?(:'password')
130
+ self.password = attributes[:'password']
131
+ end
132
+
133
+ if attributes.key?(:'updated_at')
134
+ self.updated_at = attributes[:'updated_at']
135
+ end
136
+ end
137
+
138
+ # Show invalid properties with the reasons. Usually used together with valid?
139
+ # @return Array for valid properties with the reasons
140
+ def list_invalid_properties
141
+ invalid_properties = Array.new
142
+ invalid_properties
143
+ end
144
+
145
+ # Check to see if the all the properties in the model are valid
146
+ # @return true if the model is valid
147
+ def valid?
148
+ true
149
+ end
150
+
151
+ # Checks equality by comparing each attribute.
152
+ # @param [Object] Object to be compared
153
+ def ==(o)
154
+ return true if self.equal?(o)
155
+ self.class == o.class &&
156
+ arena_id == o.arena_id &&
157
+ created_at == o.created_at &&
158
+ deleted == o.deleted &&
159
+ email == o.email &&
160
+ existing_password == o.existing_password &&
161
+ first_name == o.first_name &&
162
+ id == o.id &&
163
+ invite_accepted == o.invite_accepted &&
164
+ last_name == o.last_name &&
165
+ password == o.password &&
166
+ updated_at == o.updated_at
167
+ end
168
+
169
+ # @see the `==` method
170
+ # @param [Object] Object to be compared
171
+ def eql?(o)
172
+ self == o
173
+ end
174
+
175
+ # Calculates hash code according to all attributes.
176
+ # @return [Integer] Hash code
177
+ def hash
178
+ [arena_id, created_at, deleted, email, existing_password, first_name, id, invite_accepted, last_name, password, updated_at].hash
179
+ end
180
+
181
+ # Builds the object from hash
182
+ # @param [Hash] attributes Model attributes in the form of hash
183
+ # @return [Object] Returns the model itself
184
+ def self.build_from_hash(attributes)
185
+ new.build_from_hash(attributes)
186
+ end
187
+
188
+ # Builds the object from hash
189
+ # @param [Hash] attributes Model attributes in the form of hash
190
+ # @return [Object] Returns the model itself
191
+ def build_from_hash(attributes)
192
+ return nil unless attributes.is_a?(Hash)
193
+ self.class.openapi_types.each_pair do |key, type|
194
+ if type =~ /\AArray<(.*)>/i
195
+ # check to ensure the input is an array given that the attribute
196
+ # is documented as an array but the input is not
197
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
198
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
199
+ end
200
+ elsif !attributes[self.class.attribute_map[key]].nil?
201
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
202
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
203
+ self.send("#{key}=", nil)
204
+ end
205
+ end
206
+
207
+ self
208
+ end
209
+
210
+ # Deserializes the data based on type
211
+ # @param string type Data type
212
+ # @param string value Value to be deserialized
213
+ # @return [Object] Deserialized data
214
+ def _deserialize(type, value)
215
+ case type.to_sym
216
+ when :DateTime
217
+ DateTime.parse(value)
218
+ when :Date
219
+ Date.parse(value)
220
+ when :String
221
+ value.to_s
222
+ when :Integer
223
+ value.to_i
224
+ when :Float
225
+ value.to_f
226
+ when :Boolean
227
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
228
+ true
229
+ else
230
+ false
231
+ end
232
+ when :Object
233
+ # generic object (usually a Hash), return directly
234
+ value
235
+ when /\AArray<(?<inner_type>.+)>\z/
236
+ inner_type = Regexp.last_match[:inner_type]
237
+ value.map { |v| _deserialize(inner_type, v) }
238
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
239
+ k_type = Regexp.last_match[:k_type]
240
+ v_type = Regexp.last_match[:v_type]
241
+ {}.tap do |hash|
242
+ value.each do |k, v|
243
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
244
+ end
245
+ end
246
+ else # model
247
+ Stage.const_get(type).build_from_hash(value)
248
+ end
249
+ end
250
+
251
+ # Returns the string representation of the object
252
+ # @return [String] String presentation of the object
253
+ def to_s
254
+ to_hash.to_s
255
+ end
256
+
257
+ # to_body is an alias to to_hash (backward compatibility)
258
+ # @return [Hash] Returns the object in the form of hash
259
+ def to_body
260
+ to_hash
261
+ end
262
+
263
+ # Returns the object in the form of hash
264
+ # @return [Hash] Returns the object in the form of hash
265
+ def to_hash
266
+ hash = {}
267
+ self.class.attribute_map.each_pair do |attr, param|
268
+ value = self.send(attr)
269
+ if value.nil?
270
+ is_nullable = self.class.openapi_nullable.include?(attr)
271
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
272
+ end
273
+
274
+ hash[param] = _to_hash(value)
275
+ end
276
+ hash
277
+ end
278
+
279
+ # Outputs non-array value in the form of hash
280
+ # For object, use to_hash. Otherwise, just return the value
281
+ # @param [Object] value Any valid value
282
+ # @return [Hash] Returns the value in the form of hash
283
+ def _to_hash(value)
284
+ if value.is_a?(Array)
285
+ value.compact.map { |v| _to_hash(v) }
286
+ elsif value.is_a?(Hash)
287
+ {}.tap do |hash|
288
+ value.each { |k, v| hash[k] = _to_hash(v) }
289
+ end
290
+ elsif value.respond_to? :to_hash
291
+ value.to_hash
292
+ else
293
+ value
294
+ end
295
+ end end
296
+ end
@@ -4,6 +4,8 @@ API_VERSION = "v1"
4
4
 
5
5
  CREATE_USER_PATH = "#{SDK_API_PATH_PREFIX}/#{API_VERSION}/users"
6
6
 
7
+ PLANS_PATH = "#{SDK_API_PATH_PREFIX}/#{API_VERSION}/plans"
8
+
7
9
  def has_access_path(user_identifier)
8
10
  "#{CREATE_USER_PATH}/#{user_identifier}/features"
9
11
  end
@@ -10,5 +10,5 @@ Swagger Codegen version: 3.0.33
10
10
  =end
11
11
 
12
12
  module Stage
13
- VERSION = '0.0.02'
13
+ VERSION = '0.0.04'
14
14
  end
data/lib/stage-ruby.rb CHANGED
@@ -20,8 +20,11 @@ require 'stage-ruby/models/access_feature_form'
20
20
  require 'stage-ruby/models/access_form'
21
21
  require 'stage-ruby/models/client_user_form'
22
22
  require 'stage-ruby/models/client_user_object_form'
23
+ require 'stage-ruby/models/feature_object_form'
23
24
  require 'stage-ruby/models/field'
25
+ require 'stage-ruby/models/plan_object_form'
24
26
  require 'stage-ruby/models/stage_error'
27
+ require 'stage-ruby/models/stage_user_object_form'
25
28
 
26
29
  # APIs
27
30
  require 'stage-ruby/api/stage_api'
data/spec/.DS_Store ADDED
Binary file
@@ -42,9 +42,20 @@ describe 'StageApi' do
42
42
  end
43
43
  end
44
44
 
45
+ # unit tests for get_plans
46
+ # Gets all plans.
47
+ # @param [Hash] opts the optional parameters
48
+ # @return [Array<PlanObjectForm>]
49
+ describe 'get_plans test' do
50
+ it 'should work' do
51
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
52
+ end
53
+ end
54
+
45
55
  # unit tests for has_access
46
56
  # Checks if a user has access to the identified feature.
47
- # @param identifiers identifiers
57
+ # @param identifiers The identifiers of the features being accessed.
58
+ # @param mark_accessed Whether this has-access check should mark the features as having been accessed.
48
59
  # @param user_identifier The identifier of the user who is accessing the feature.
49
60
  # @param [Hash] opts the optional parameters
50
61
  # @return [AccessForm]
@@ -55,7 +66,7 @@ describe 'StageApi' do
55
66
  end
56
67
 
57
68
  # unit tests for update_user_plan
58
- # Updates a user&#x27;s plan..
69
+ # Updates a user&#x27;s plan.
59
70
  # @param body The payload containing the information to update a user&#x27;s plan. Only identifier and planIdentifier fields are required.
60
71
  # @param user_identifier The identifier of the user.
61
72
  # @param [Hash] opts the optional parameters
@@ -43,6 +43,12 @@ describe 'ClientUserObjectForm' do
43
43
  end
44
44
  end
45
45
 
46
+ describe 'test attribute "created_by"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
46
52
  describe 'test attribute "deleted"' do
47
53
  it 'should work' do
48
54
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -0,0 +1,64 @@
1
+ =begin
2
+ #Stage API Docs
3
+
4
+ #Stage Technologies complete API Documentation
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@heystage.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.33
10
+ =end
11
+
12
+ require 'spec_helper'
13
+ require 'json'
14
+ require 'date'
15
+
16
+ # Unit tests for Stage::FeatureObjectForm
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'FeatureObjectForm' do
20
+ before do
21
+ # run before each test
22
+ @instance = Stage::FeatureObjectForm.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of FeatureObjectForm' do
30
+ it 'should create an instance of FeatureObjectForm' do
31
+ expect(@instance).to be_instance_of(Stage::FeatureObjectForm)
32
+ end
33
+ end
34
+ describe 'test attribute "description"' do
35
+ it 'should work' do
36
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
37
+ end
38
+ end
39
+
40
+ describe 'test attribute "identifier"' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ describe 'test attribute "limit"' do
47
+ it 'should work' do
48
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
49
+ end
50
+ end
51
+
52
+ describe 'test attribute "name"' do
53
+ it 'should work' do
54
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
55
+ end
56
+ end
57
+
58
+ describe 'test attribute "order"' do
59
+ it 'should work' do
60
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
61
+ end
62
+ end
63
+
64
+ end