billabear 1.0.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 (187) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +1340 -0
  4. data/Rakefile +8 -0
  5. data/billabear.gemspec +38 -0
  6. data/docs/Address.md +13 -0
  7. data/docs/BillingAdmin.md +8 -0
  8. data/docs/CheckoutApi.md +61 -0
  9. data/docs/CheckoutBody.md +12 -0
  10. data/docs/CheckoutItems.md +11 -0
  11. data/docs/CheckoutSubscriptions.md +9 -0
  12. data/docs/Customer.md +18 -0
  13. data/docs/CustomersApi.md +904 -0
  14. data/docs/Error.md +8 -0
  15. data/docs/Feature.md +10 -0
  16. data/docs/FrontendToken.md +7 -0
  17. data/docs/InlineResponse200.md +9 -0
  18. data/docs/InlineResponse2001.md +9 -0
  19. data/docs/InlineResponse20010.md +9 -0
  20. data/docs/InlineResponse20011.md +7 -0
  21. data/docs/InlineResponse20012.md +8 -0
  22. data/docs/InlineResponse2002.md +9 -0
  23. data/docs/InlineResponse2003.md +9 -0
  24. data/docs/InlineResponse2004.md +9 -0
  25. data/docs/InlineResponse2005.md +9 -0
  26. data/docs/InlineResponse2006.md +9 -0
  27. data/docs/InlineResponse2007.md +9 -0
  28. data/docs/InlineResponse2007Data.md +14 -0
  29. data/docs/InlineResponse2007Receipts.md +9 -0
  30. data/docs/InlineResponse2008.md +9 -0
  31. data/docs/InlineResponse2009.md +9 -0
  32. data/docs/InlineResponse201.md +15 -0
  33. data/docs/InlineResponse201Lines.md +14 -0
  34. data/docs/InlineResponse400.md +7 -0
  35. data/docs/Invoice.md +21 -0
  36. data/docs/InvoiceLines.md +12 -0
  37. data/docs/InvoicesApi.md +169 -0
  38. data/docs/IssueRefundPayment.md +9 -0
  39. data/docs/Limit.md +8 -0
  40. data/docs/PaymentDetails.md +14 -0
  41. data/docs/PaymentDetailsApi.md +447 -0
  42. data/docs/PaymentsApi.md +399 -0
  43. data/docs/Price.md +14 -0
  44. data/docs/PricesApi.md +122 -0
  45. data/docs/Product.md +10 -0
  46. data/docs/ProductTaxType.md +9 -0
  47. data/docs/ProductsApi.md +228 -0
  48. data/docs/ReceiptApi.md +61 -0
  49. data/docs/Refund.md +16 -0
  50. data/docs/RefundsApi.md +181 -0
  51. data/docs/SeatsAddBody.md +7 -0
  52. data/docs/SeatsRemoveBody.md +7 -0
  53. data/docs/Subscription.md +18 -0
  54. data/docs/SubscriptionIdCancelBody.md +10 -0
  55. data/docs/SubscriptionIdExtendBody.md +7 -0
  56. data/docs/SubscriptionIdPlanBody.md +9 -0
  57. data/docs/SubscriptionIdPriceBody.md +8 -0
  58. data/docs/SubscriptionPlan.md +20 -0
  59. data/docs/SubscriptionStartBody.md +14 -0
  60. data/docs/SubscriptionTrialBody.md +10 -0
  61. data/docs/SubscriptionsApi.md +731 -0
  62. data/docs/VoucherCode.md +7 -0
  63. data/git_push.sh +55 -0
  64. data/lib/swagger_client/api/checkout_api.rb +78 -0
  65. data/lib/swagger_client/api/customers_api.rb +980 -0
  66. data/lib/swagger_client/api/invoices_api.rb +188 -0
  67. data/lib/swagger_client/api/payment_details_api.rb +494 -0
  68. data/lib/swagger_client/api/payments_api.rb +432 -0
  69. data/lib/swagger_client/api/prices_api.rb +146 -0
  70. data/lib/swagger_client/api/products_api.rb +249 -0
  71. data/lib/swagger_client/api/receipt_api.rb +76 -0
  72. data/lib/swagger_client/api/refunds_api.rb +200 -0
  73. data/lib/swagger_client/api/subscriptions_api.rb +812 -0
  74. data/lib/swagger_client/api_client.rb +388 -0
  75. data/lib/swagger_client/api_error.rb +57 -0
  76. data/lib/swagger_client/configuration.rb +205 -0
  77. data/lib/swagger_client/models/address.rb +265 -0
  78. data/lib/swagger_client/models/billing_admin.rb +215 -0
  79. data/lib/swagger_client/models/checkout_body.rb +265 -0
  80. data/lib/swagger_client/models/checkout_items.rb +242 -0
  81. data/lib/swagger_client/models/checkout_subscriptions.rb +224 -0
  82. data/lib/swagger_client/models/customer.rb +370 -0
  83. data/lib/swagger_client/models/error.rb +225 -0
  84. data/lib/swagger_client/models/feature.rb +240 -0
  85. data/lib/swagger_client/models/frontend_token.rb +211 -0
  86. data/lib/swagger_client/models/inline_response_200.rb +226 -0
  87. data/lib/swagger_client/models/inline_response_200_1.rb +228 -0
  88. data/lib/swagger_client/models/inline_response_200_10.rb +226 -0
  89. data/lib/swagger_client/models/inline_response_200_11.rb +206 -0
  90. data/lib/swagger_client/models/inline_response_200_12.rb +250 -0
  91. data/lib/swagger_client/models/inline_response_200_2.rb +226 -0
  92. data/lib/swagger_client/models/inline_response_200_3.rb +226 -0
  93. data/lib/swagger_client/models/inline_response_200_4.rb +226 -0
  94. data/lib/swagger_client/models/inline_response_200_5.rb +226 -0
  95. data/lib/swagger_client/models/inline_response_200_6.rb +226 -0
  96. data/lib/swagger_client/models/inline_response_200_7.rb +226 -0
  97. data/lib/swagger_client/models/inline_response_200_7_data.rb +307 -0
  98. data/lib/swagger_client/models/inline_response_200_7_receipts.rb +224 -0
  99. data/lib/swagger_client/models/inline_response_200_8.rb +226 -0
  100. data/lib/swagger_client/models/inline_response_200_9.rb +226 -0
  101. data/lib/swagger_client/models/inline_response_201.rb +285 -0
  102. data/lib/swagger_client/models/inline_response_201_lines.rb +269 -0
  103. data/lib/swagger_client/models/inline_response_400.rb +213 -0
  104. data/lib/swagger_client/models/invoice.rb +334 -0
  105. data/lib/swagger_client/models/invoice_lines.rb +251 -0
  106. data/lib/swagger_client/models/issue_refund_payment.rb +232 -0
  107. data/lib/swagger_client/models/limit.rb +215 -0
  108. data/lib/swagger_client/models/payment_details.rb +271 -0
  109. data/lib/swagger_client/models/price.rb +325 -0
  110. data/lib/swagger_client/models/product.rb +240 -0
  111. data/lib/swagger_client/models/product_tax_type.rb +229 -0
  112. data/lib/swagger_client/models/refund.rb +324 -0
  113. data/lib/swagger_client/models/seats_add_body.rb +211 -0
  114. data/lib/swagger_client/models/seats_remove_body.rb +211 -0
  115. data/lib/swagger_client/models/subscription.rb +305 -0
  116. data/lib/swagger_client/models/subscription_id_cancel_body.rb +294 -0
  117. data/lib/swagger_client/models/subscription_id_extend_body.rb +211 -0
  118. data/lib/swagger_client/models/subscription_id_plan_body.rb +270 -0
  119. data/lib/swagger_client/models/subscription_id_price_body.rb +259 -0
  120. data/lib/swagger_client/models/subscription_plan.rb +330 -0
  121. data/lib/swagger_client/models/subscription_start_body.rb +314 -0
  122. data/lib/swagger_client/models/subscription_trial_body.rb +242 -0
  123. data/lib/swagger_client/models/voucher_code.rb +211 -0
  124. data/lib/swagger_client/version.rb +14 -0
  125. data/lib/swagger_client.rb +95 -0
  126. data/spec/api/checkout_api_spec.rb +46 -0
  127. data/spec/api/customers_api_spec.rb +241 -0
  128. data/spec/api/invoices_api_spec.rb +70 -0
  129. data/spec/api/payment_details_api_spec.rb +134 -0
  130. data/spec/api/payments_api_spec.rb +124 -0
  131. data/spec/api/prices_api_spec.rb +61 -0
  132. data/spec/api/products_api_spec.rb +84 -0
  133. data/spec/api/receipt_api_spec.rb +46 -0
  134. data/spec/api/refunds_api_spec.rb +75 -0
  135. data/spec/api/subscriptions_api_spec.rb +200 -0
  136. data/spec/api_client_spec.rb +225 -0
  137. data/spec/base_object_spec.rb +109 -0
  138. data/spec/configuration_spec.rb +41 -0
  139. data/spec/models/address_spec.rb +76 -0
  140. data/spec/models/billing_admin_spec.rb +46 -0
  141. data/spec/models/checkout_body_spec.rb +70 -0
  142. data/spec/models/checkout_items_spec.rb +64 -0
  143. data/spec/models/checkout_subscriptions_spec.rb +52 -0
  144. data/spec/models/customer_spec.rb +114 -0
  145. data/spec/models/error_spec.rb +46 -0
  146. data/spec/models/feature_spec.rb +58 -0
  147. data/spec/models/frontend_token_spec.rb +40 -0
  148. data/spec/models/inline_response_200_10_spec.rb +52 -0
  149. data/spec/models/inline_response_200_11_spec.rb +40 -0
  150. data/spec/models/inline_response_200_12_spec.rb +50 -0
  151. data/spec/models/inline_response_200_1_spec.rb +52 -0
  152. data/spec/models/inline_response_200_2_spec.rb +52 -0
  153. data/spec/models/inline_response_200_3_spec.rb +52 -0
  154. data/spec/models/inline_response_200_4_spec.rb +52 -0
  155. data/spec/models/inline_response_200_5_spec.rb +52 -0
  156. data/spec/models/inline_response_200_6_spec.rb +52 -0
  157. data/spec/models/inline_response_200_7_data_spec.rb +86 -0
  158. data/spec/models/inline_response_200_7_receipts_spec.rb +52 -0
  159. data/spec/models/inline_response_200_7_spec.rb +52 -0
  160. data/spec/models/inline_response_200_8_spec.rb +52 -0
  161. data/spec/models/inline_response_200_9_spec.rb +52 -0
  162. data/spec/models/inline_response_200_spec.rb +52 -0
  163. data/spec/models/inline_response_201_lines_spec.rb +82 -0
  164. data/spec/models/inline_response_201_spec.rb +88 -0
  165. data/spec/models/inline_response_400_spec.rb +40 -0
  166. data/spec/models/invoice_lines_spec.rb +70 -0
  167. data/spec/models/invoice_spec.rb +124 -0
  168. data/spec/models/issue_refund_payment_spec.rb +52 -0
  169. data/spec/models/limit_spec.rb +46 -0
  170. data/spec/models/payment_details_spec.rb +82 -0
  171. data/spec/models/price_spec.rb +86 -0
  172. data/spec/models/product_spec.rb +58 -0
  173. data/spec/models/product_tax_type_spec.rb +52 -0
  174. data/spec/models/refund_spec.rb +98 -0
  175. data/spec/models/seats_add_body_spec.rb +40 -0
  176. data/spec/models/seats_remove_body_spec.rb +40 -0
  177. data/spec/models/subscription_id_cancel_body_spec.rb +66 -0
  178. data/spec/models/subscription_id_extend_body_spec.rb +40 -0
  179. data/spec/models/subscription_id_plan_body_spec.rb +56 -0
  180. data/spec/models/subscription_id_price_body_spec.rb +50 -0
  181. data/spec/models/subscription_plan_spec.rb +118 -0
  182. data/spec/models/subscription_spec.rb +106 -0
  183. data/spec/models/subscription_start_body_spec.rb +86 -0
  184. data/spec/models/subscription_trial_body_spec.rb +58 -0
  185. data/spec/models/voucher_code_spec.rb +40 -0
  186. data/spec/spec_helper.rb +110 -0
  187. metadata +349 -0
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #BillaBear
3
+
4
+ #The REST API provided by BillaBear
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@billabear.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.56
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module SwaggerClient
15
+ class InlineResponse200
16
+ attr_accessor :data
17
+
18
+ attr_accessor :has_more
19
+
20
+ attr_accessor :last_key
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'data' => :'data',
26
+ :'has_more' => :'has_more',
27
+ :'last_key' => :'last_key'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'data' => :'Object',
35
+ :'has_more' => :'Object',
36
+ :'last_key' => :'Object'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SwaggerClient::InlineResponse200` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SwaggerClient::InlineResponse200`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'data')
62
+ if (value = attributes[:'data']).is_a?(Array)
63
+ self.data = value
64
+ end
65
+ end
66
+
67
+ if attributes.key?(:'has_more')
68
+ self.has_more = attributes[:'has_more']
69
+ end
70
+
71
+ if attributes.key?(:'last_key')
72
+ self.last_key = attributes[:'last_key']
73
+ end
74
+ end
75
+
76
+ # Show invalid properties with the reasons. Usually used together with valid?
77
+ # @return Array for valid properties with the reasons
78
+ def list_invalid_properties
79
+ invalid_properties = Array.new
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ data == o.data &&
95
+ has_more == o.has_more &&
96
+ last_key == o.last_key
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [data, has_more, last_key].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ new.build_from_hash(attributes)
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ self.class.openapi_types.each_pair do |key, type|
124
+ if type =~ /\AArray<(.*)>/i
125
+ # check to ensure the input is an array given that the attribute
126
+ # is documented as an array but the input is not
127
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
128
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
129
+ end
130
+ elsif !attributes[self.class.attribute_map[key]].nil?
131
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
132
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
133
+ self.send("#{key}=", nil)
134
+ end
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :Boolean
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ SwaggerClient.const_get(type).build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end end
226
+ end
@@ -0,0 +1,228 @@
1
+ =begin
2
+ #BillaBear
3
+
4
+ #The REST API provided by BillaBear
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@billabear.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.56
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module SwaggerClient
15
+ class InlineResponse2001
16
+ attr_accessor :limits
17
+
18
+ attr_accessor :features
19
+
20
+ attr_accessor :user_count
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'limits' => :'limits',
26
+ :'features' => :'features',
27
+ :'user_count' => :'user_count'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'limits' => :'Object',
35
+ :'features' => :'Object',
36
+ :'user_count' => :'Object'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SwaggerClient::InlineResponse2001` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SwaggerClient::InlineResponse2001`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'limits')
62
+ if (value = attributes[:'limits']).is_a?(Array)
63
+ self.limits = value
64
+ end
65
+ end
66
+
67
+ if attributes.key?(:'features')
68
+ if (value = attributes[:'features']).is_a?(Array)
69
+ self.features = value
70
+ end
71
+ end
72
+
73
+ if attributes.key?(:'user_count')
74
+ self.user_count = attributes[:'user_count']
75
+ end
76
+ end
77
+
78
+ # Show invalid properties with the reasons. Usually used together with valid?
79
+ # @return Array for valid properties with the reasons
80
+ def list_invalid_properties
81
+ invalid_properties = Array.new
82
+ invalid_properties
83
+ end
84
+
85
+ # Check to see if the all the properties in the model are valid
86
+ # @return true if the model is valid
87
+ def valid?
88
+ true
89
+ end
90
+
91
+ # Checks equality by comparing each attribute.
92
+ # @param [Object] Object to be compared
93
+ def ==(o)
94
+ return true if self.equal?(o)
95
+ self.class == o.class &&
96
+ limits == o.limits &&
97
+ features == o.features &&
98
+ user_count == o.user_count
99
+ end
100
+
101
+ # @see the `==` method
102
+ # @param [Object] Object to be compared
103
+ def eql?(o)
104
+ self == o
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ def hash
110
+ [limits, features, user_count].hash
111
+ end
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def self.build_from_hash(attributes)
117
+ new.build_from_hash(attributes)
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.openapi_types.each_pair do |key, type|
126
+ if type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
135
+ self.send("#{key}=", nil)
136
+ end
137
+ end
138
+
139
+ self
140
+ end
141
+
142
+ # Deserializes the data based on type
143
+ # @param string type Data type
144
+ # @param string value Value to be deserialized
145
+ # @return [Object] Deserialized data
146
+ def _deserialize(type, value)
147
+ case type.to_sym
148
+ when :DateTime
149
+ DateTime.parse(value)
150
+ when :Date
151
+ Date.parse(value)
152
+ when :String
153
+ value.to_s
154
+ when :Integer
155
+ value.to_i
156
+ when :Float
157
+ value.to_f
158
+ when :Boolean
159
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
160
+ true
161
+ else
162
+ false
163
+ end
164
+ when :Object
165
+ # generic object (usually a Hash), return directly
166
+ value
167
+ when /\AArray<(?<inner_type>.+)>\z/
168
+ inner_type = Regexp.last_match[:inner_type]
169
+ value.map { |v| _deserialize(inner_type, v) }
170
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
171
+ k_type = Regexp.last_match[:k_type]
172
+ v_type = Regexp.last_match[:v_type]
173
+ {}.tap do |hash|
174
+ value.each do |k, v|
175
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
176
+ end
177
+ end
178
+ else # model
179
+ SwaggerClient.const_get(type).build_from_hash(value)
180
+ end
181
+ end
182
+
183
+ # Returns the string representation of the object
184
+ # @return [String] String presentation of the object
185
+ def to_s
186
+ to_hash.to_s
187
+ end
188
+
189
+ # to_body is an alias to to_hash (backward compatibility)
190
+ # @return [Hash] Returns the object in the form of hash
191
+ def to_body
192
+ to_hash
193
+ end
194
+
195
+ # Returns the object in the form of hash
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_hash
198
+ hash = {}
199
+ self.class.attribute_map.each_pair do |attr, param|
200
+ value = self.send(attr)
201
+ if value.nil?
202
+ is_nullable = self.class.openapi_nullable.include?(attr)
203
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
204
+ end
205
+
206
+ hash[param] = _to_hash(value)
207
+ end
208
+ hash
209
+ end
210
+
211
+ # Outputs non-array value in the form of hash
212
+ # For object, use to_hash. Otherwise, just return the value
213
+ # @param [Object] value Any valid value
214
+ # @return [Hash] Returns the value in the form of hash
215
+ def _to_hash(value)
216
+ if value.is_a?(Array)
217
+ value.compact.map { |v| _to_hash(v) }
218
+ elsif value.is_a?(Hash)
219
+ {}.tap do |hash|
220
+ value.each { |k, v| hash[k] = _to_hash(v) }
221
+ end
222
+ elsif value.respond_to? :to_hash
223
+ value.to_hash
224
+ else
225
+ value
226
+ end
227
+ end end
228
+ end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #BillaBear
3
+
4
+ #The REST API provided by BillaBear
5
+
6
+ OpenAPI spec version: 1.0.0
7
+ Contact: support@billabear.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.56
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module SwaggerClient
15
+ class InlineResponse20010
16
+ attr_accessor :data
17
+
18
+ attr_accessor :has_more
19
+
20
+ attr_accessor :last_key
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'data' => :'data',
26
+ :'has_more' => :'has_more',
27
+ :'last_key' => :'last_key'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'data' => :'Object',
35
+ :'has_more' => :'Object',
36
+ :'last_key' => :'Object'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SwaggerClient::InlineResponse20010` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SwaggerClient::InlineResponse20010`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'data')
62
+ if (value = attributes[:'data']).is_a?(Array)
63
+ self.data = value
64
+ end
65
+ end
66
+
67
+ if attributes.key?(:'has_more')
68
+ self.has_more = attributes[:'has_more']
69
+ end
70
+
71
+ if attributes.key?(:'last_key')
72
+ self.last_key = attributes[:'last_key']
73
+ end
74
+ end
75
+
76
+ # Show invalid properties with the reasons. Usually used together with valid?
77
+ # @return Array for valid properties with the reasons
78
+ def list_invalid_properties
79
+ invalid_properties = Array.new
80
+ invalid_properties
81
+ end
82
+
83
+ # Check to see if the all the properties in the model are valid
84
+ # @return true if the model is valid
85
+ def valid?
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ data == o.data &&
95
+ has_more == o.has_more &&
96
+ last_key == o.last_key
97
+ end
98
+
99
+ # @see the `==` method
100
+ # @param [Object] Object to be compared
101
+ def eql?(o)
102
+ self == o
103
+ end
104
+
105
+ # Calculates hash code according to all attributes.
106
+ # @return [Integer] Hash code
107
+ def hash
108
+ [data, has_more, last_key].hash
109
+ end
110
+
111
+ # Builds the object from hash
112
+ # @param [Hash] attributes Model attributes in the form of hash
113
+ # @return [Object] Returns the model itself
114
+ def self.build_from_hash(attributes)
115
+ new.build_from_hash(attributes)
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ self.class.openapi_types.each_pair do |key, type|
124
+ if type =~ /\AArray<(.*)>/i
125
+ # check to ensure the input is an array given that the attribute
126
+ # is documented as an array but the input is not
127
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
128
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
129
+ end
130
+ elsif !attributes[self.class.attribute_map[key]].nil?
131
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
132
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
133
+ self.send("#{key}=", nil)
134
+ end
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :Boolean
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ SwaggerClient.const_get(type).build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end end
226
+ end