square_connect 2.0.0 → 2.0.2.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -0
  3. data/README.md +151 -9
  4. data/Rakefile +8 -0
  5. data/docs/Address.md +26 -0
  6. data/docs/CaptureTransactionRequest.md +11 -0
  7. data/docs/CaptureTransactionResponse.md +12 -0
  8. data/docs/Card.md +18 -0
  9. data/docs/CardBrand.md +20 -0
  10. data/docs/ChargeRequest.md +22 -0
  11. data/docs/ChargeResponse.md +13 -0
  12. data/docs/Checkout.md +20 -0
  13. data/docs/CheckoutApi.md +62 -0
  14. data/docs/Country.md +261 -0
  15. data/docs/CreateCheckoutRequest.md +18 -0
  16. data/docs/CreateCheckoutResponse.md +13 -0
  17. data/docs/CreateCustomerCardRequest.md +14 -0
  18. data/docs/CreateCustomerCardResponse.md +13 -0
  19. data/docs/CreateCustomerRequest.md +20 -0
  20. data/docs/CreateCustomerResponse.md +13 -0
  21. data/docs/CreateOrderRequest.md +13 -0
  22. data/docs/CreateOrderRequestLineItem.md +14 -0
  23. data/docs/CreateOrderRequestOrder.md +13 -0
  24. data/docs/CreateRefundRequest.md +15 -0
  25. data/docs/CreateRefundResponse.md +13 -0
  26. data/docs/Currency.md +191 -0
  27. data/docs/Customer.md +26 -0
  28. data/docs/CustomerApi.md +267 -0
  29. data/docs/CustomerCardApi.md +116 -0
  30. data/docs/CustomerGroupInfo.md +13 -0
  31. data/docs/CustomerPreferences.md +12 -0
  32. data/docs/DeleteCustomerCardRequest.md +11 -0
  33. data/docs/DeleteCustomerCardResponse.md +12 -0
  34. data/docs/DeleteCustomerRequest.md +11 -0
  35. data/docs/DeleteCustomerResponse.md +12 -0
  36. data/docs/Error.md +15 -0
  37. data/docs/ErrorCategory.md +17 -0
  38. data/docs/ErrorCode.md +83 -0
  39. data/docs/ListCustomersRequest.md +12 -0
  40. data/docs/ListCustomersResponse.md +14 -0
  41. data/docs/ListLocationsRequest.md +11 -0
  42. data/docs/ListLocationsResponse.md +13 -0
  43. data/docs/ListRefundsRequest.md +15 -0
  44. data/docs/ListRefundsResponse.md +14 -0
  45. data/docs/ListTransactionsRequest.md +15 -0
  46. data/docs/ListTransactionsResponse.md +14 -0
  47. data/docs/Location.md +16 -0
  48. data/docs/LocationApi.md +56 -0
  49. data/docs/LocationCapability.md +12 -0
  50. data/docs/Money.md +13 -0
  51. data/docs/Order.md +16 -0
  52. data/docs/OrderLineItem.md +16 -0
  53. data/docs/Refund.md +20 -0
  54. data/docs/RefundApi.md +126 -0
  55. data/docs/RefundStatus.md +15 -0
  56. data/docs/RetrieveCustomerRequest.md +11 -0
  57. data/docs/RetrieveCustomerResponse.md +13 -0
  58. data/docs/RetrieveTransactionRequest.md +11 -0
  59. data/docs/RetrieveTransactionResponse.md +13 -0
  60. data/docs/SortOrder.md +13 -0
  61. data/docs/Tender.md +22 -0
  62. data/docs/TenderCardDetails.md +14 -0
  63. data/docs/TenderCardDetailsEntryMethod.md +16 -0
  64. data/docs/TenderCardDetailsStatus.md +15 -0
  65. data/docs/TenderCashDetails.md +13 -0
  66. data/docs/TenderType.md +17 -0
  67. data/docs/Transaction.md +21 -0
  68. data/docs/TransactionApi.md +285 -0
  69. data/docs/TransactionProduct.md +19 -0
  70. data/docs/UpdateCustomerRequest.md +20 -0
  71. data/docs/UpdateCustomerResponse.md +13 -0
  72. data/docs/VoidTransactionRequest.md +11 -0
  73. data/docs/VoidTransactionResponse.md +12 -0
  74. data/lib/square_connect.rb +33 -16
  75. data/lib/square_connect/api/checkout_api.rb +82 -0
  76. data/lib/square_connect/api/customer_api.rb +121 -162
  77. data/lib/square_connect/api/customer_card_api.rb +31 -50
  78. data/lib/square_connect/api/location_api.rb +12 -20
  79. data/lib/square_connect/api/refund_api.rb +70 -90
  80. data/lib/square_connect/api/transaction_api.rb +119 -165
  81. data/lib/square_connect/api_client.rb +64 -17
  82. data/lib/square_connect/api_error.rb +7 -3
  83. data/lib/square_connect/configuration.rb +31 -1
  84. data/lib/square_connect/models/address.rb +149 -78
  85. data/lib/square_connect/models/capture_transaction_request.rb +176 -0
  86. data/lib/square_connect/models/capture_transaction_response.rb +54 -26
  87. data/lib/square_connect/models/card.rb +98 -52
  88. data/lib/square_connect/models/card_brand.rb +12 -133
  89. data/lib/square_connect/models/charge_request.rb +106 -67
  90. data/lib/square_connect/models/charge_response.rb +57 -30
  91. data/lib/square_connect/models/checkout.rb +266 -0
  92. data/lib/square_connect/models/country.rb +253 -133
  93. data/lib/square_connect/models/create_checkout_request.rb +316 -0
  94. data/lib/square_connect/models/create_checkout_response.rb +198 -0
  95. data/lib/square_connect/models/create_customer_card_request.rb +66 -35
  96. data/lib/square_connect/models/create_customer_card_response.rb +58 -31
  97. data/lib/square_connect/models/create_customer_request.rb +79 -59
  98. data/lib/square_connect/models/create_customer_response.rb +58 -31
  99. data/lib/square_connect/models/create_order_request.rb +234 -0
  100. data/lib/square_connect/models/create_order_request_line_item.rb +268 -0
  101. data/lib/square_connect/models/create_order_request_order.rb +219 -0
  102. data/lib/square_connect/models/create_refund_request.rb +79 -39
  103. data/lib/square_connect/models/create_refund_response.rb +57 -30
  104. data/lib/square_connect/models/currency.rb +183 -133
  105. data/lib/square_connect/models/customer.rb +130 -77
  106. data/lib/square_connect/models/customer_group_info.rb +206 -0
  107. data/lib/square_connect/models/customer_preferences.rb +186 -0
  108. data/lib/square_connect/models/delete_customer_card_request.rb +176 -0
  109. data/lib/square_connect/models/delete_customer_card_response.rb +55 -27
  110. data/lib/square_connect/models/delete_customer_request.rb +176 -0
  111. data/lib/square_connect/models/delete_customer_response.rb +55 -27
  112. data/lib/square_connect/models/error.rb +107 -45
  113. data/lib/square_connect/models/error_category.rb +9 -133
  114. data/lib/square_connect/models/error_code.rb +75 -133
  115. data/lib/square_connect/models/list_customers_request.rb +55 -27
  116. data/lib/square_connect/models/list_customers_response.rb +61 -35
  117. data/lib/square_connect/models/list_locations_request.rb +176 -0
  118. data/lib/square_connect/models/list_locations_response.rb +57 -30
  119. data/lib/square_connect/models/list_refunds_request.rb +91 -42
  120. data/lib/square_connect/models/list_refunds_response.rb +59 -33
  121. data/lib/square_connect/models/list_transactions_request.rb +91 -42
  122. data/lib/square_connect/models/list_transactions_response.rb +59 -33
  123. data/lib/square_connect/models/location.rb +86 -41
  124. data/lib/square_connect/models/location_capability.rb +4 -133
  125. data/lib/square_connect/models/money.rb +85 -34
  126. data/lib/square_connect/models/order.rb +228 -0
  127. data/lib/square_connect/models/order_line_item.rb +226 -0
  128. data/lib/square_connect/models/refund.rb +138 -59
  129. data/lib/square_connect/models/refund_status.rb +7 -133
  130. data/lib/square_connect/models/retrieve_customer_request.rb +176 -0
  131. data/lib/square_connect/models/retrieve_customer_response.rb +58 -31
  132. data/lib/square_connect/models/retrieve_transaction_request.rb +176 -0
  133. data/lib/square_connect/models/retrieve_transaction_response.rb +57 -30
  134. data/lib/square_connect/models/sort_order.rb +5 -133
  135. data/lib/square_connect/models/tender.rb +112 -65
  136. data/lib/square_connect/models/tender_card_details.rb +93 -40
  137. data/lib/square_connect/models/tender_card_details_entry_method.rb +8 -133
  138. data/lib/square_connect/models/tender_card_details_status.rb +7 -133
  139. data/lib/square_connect/models/tender_cash_details.rb +58 -31
  140. data/lib/square_connect/models/tender_type.rb +9 -133
  141. data/lib/square_connect/models/transaction.rb +132 -56
  142. data/lib/square_connect/models/transaction_product.rb +11 -133
  143. data/lib/square_connect/models/update_customer_request.rb +79 -59
  144. data/lib/square_connect/models/update_customer_response.rb +58 -31
  145. data/lib/square_connect/models/void_transaction_request.rb +176 -0
  146. data/lib/square_connect/models/void_transaction_response.rb +54 -26
  147. data/lib/square_connect/version.rb +2 -3
  148. data/spec/api/checkout_api_spec.rb +53 -0
  149. data/spec/api/customer_api_spec.rb +121 -0
  150. data/spec/api/customer_card_api_spec.rb +71 -0
  151. data/spec/api/location_api_spec.rb +58 -0
  152. data/spec/api/refund_api_spec.rb +75 -0
  153. data/spec/api/transaction_api_spec.rb +128 -0
  154. data/spec/api_client_spec.rb +226 -0
  155. data/spec/configuration_spec.rb +42 -0
  156. data/spec/models/address_spec.rb +186 -0
  157. data/spec/models/capture_transaction_request_spec.rb +36 -0
  158. data/spec/models/capture_transaction_response_spec.rb +46 -0
  159. data/spec/models/card_brand_spec.rb +36 -0
  160. data/spec/models/card_spec.rb +106 -0
  161. data/spec/models/charge_request_spec.rb +146 -0
  162. data/spec/models/charge_response_spec.rb +56 -0
  163. data/spec/models/checkout_spec.rb +126 -0
  164. data/spec/models/country_spec.rb +36 -0
  165. data/spec/models/create_checkout_request_spec.rb +106 -0
  166. data/spec/models/create_checkout_response_spec.rb +56 -0
  167. data/spec/models/create_customer_card_request_spec.rb +66 -0
  168. data/spec/models/create_customer_card_response_spec.rb +56 -0
  169. data/spec/models/create_customer_request_spec.rb +126 -0
  170. data/spec/models/create_customer_response_spec.rb +56 -0
  171. data/spec/models/create_order_request_line_item_spec.rb +66 -0
  172. data/spec/models/create_order_request_order_spec.rb +56 -0
  173. data/spec/models/create_order_request_spec.rb +56 -0
  174. data/spec/models/create_refund_request_spec.rb +76 -0
  175. data/spec/models/create_refund_response_spec.rb +56 -0
  176. data/spec/models/currency_spec.rb +36 -0
  177. data/spec/models/customer_group_info_spec.rb +56 -0
  178. data/spec/models/customer_preferences_spec.rb +46 -0
  179. data/spec/models/customer_spec.rb +186 -0
  180. data/spec/models/delete_customer_card_request_spec.rb +36 -0
  181. data/spec/models/delete_customer_card_response_spec.rb +46 -0
  182. data/spec/models/delete_customer_request_spec.rb +36 -0
  183. data/spec/models/delete_customer_response_spec.rb +46 -0
  184. data/spec/models/error_category_spec.rb +36 -0
  185. data/spec/models/error_code_spec.rb +36 -0
  186. data/spec/models/error_spec.rb +76 -0
  187. data/spec/models/list_customers_request_spec.rb +46 -0
  188. data/spec/models/list_customers_response_spec.rb +66 -0
  189. data/spec/models/list_locations_request_spec.rb +36 -0
  190. data/spec/models/list_locations_response_spec.rb +56 -0
  191. data/spec/models/list_refunds_request_spec.rb +76 -0
  192. data/spec/models/list_refunds_response_spec.rb +66 -0
  193. data/spec/models/list_transactions_request_spec.rb +76 -0
  194. data/spec/models/list_transactions_response_spec.rb +66 -0
  195. data/spec/models/location_capability_spec.rb +36 -0
  196. data/spec/models/location_spec.rb +86 -0
  197. data/spec/models/money_spec.rb +56 -0
  198. data/spec/models/order_line_item_spec.rb +86 -0
  199. data/spec/models/order_spec.rb +86 -0
  200. data/spec/models/refund_spec.rb +126 -0
  201. data/spec/models/refund_status_spec.rb +36 -0
  202. data/spec/models/retrieve_customer_request_spec.rb +36 -0
  203. data/spec/models/retrieve_customer_response_spec.rb +56 -0
  204. data/spec/models/retrieve_transaction_request_spec.rb +36 -0
  205. data/spec/models/retrieve_transaction_response_spec.rb +56 -0
  206. data/spec/models/sort_order_spec.rb +36 -0
  207. data/spec/models/tender_card_details_entry_method_spec.rb +36 -0
  208. data/spec/models/tender_card_details_spec.rb +66 -0
  209. data/spec/models/tender_card_details_status_spec.rb +36 -0
  210. data/spec/models/tender_cash_details_spec.rb +56 -0
  211. data/spec/models/tender_spec.rb +146 -0
  212. data/spec/models/tender_type_spec.rb +36 -0
  213. data/spec/models/transaction_product_spec.rb +36 -0
  214. data/spec/models/transaction_spec.rb +136 -0
  215. data/spec/models/update_customer_request_spec.rb +126 -0
  216. data/spec/models/update_customer_response_spec.rb +56 -0
  217. data/spec/models/void_transaction_request_spec.rb +36 -0
  218. data/spec/models/void_transaction_response_spec.rb +46 -0
  219. data/spec/spec_helper.rb +115 -0
  220. data/square_connect.gemspec +22 -11
  221. data/travis-ci/accounts.enc +0 -0
  222. metadata +264 -31
@@ -1,17 +1,16 @@
1
1
  =begin
2
- Square Connect API
2
+ #Square Connect API
3
3
 
4
4
  OpenAPI spec version: 2.0
5
5
 
6
6
  Generated by: https://github.com/swagger-api/swagger-codegen.git
7
7
 
8
-
9
8
  =end
10
9
 
11
10
  require 'date'
12
11
 
13
12
  module SquareConnect
14
- #
13
+ # Represents one of a business's customers, which can have one or more cards on file associated with it.
15
14
  class Customer
16
15
  # The customer's unique ID.
17
16
  attr_accessor :id
@@ -19,69 +18,64 @@ module SquareConnect
19
18
  # The time when the customer was created, in RFC 3339 format.
20
19
  attr_accessor :created_at
21
20
 
22
- # The time when the customer was updated, in RFC 3339 format.
21
+ # The time when the customer was last updated, in RFC 3339 format.
23
22
  attr_accessor :updated_at
24
23
 
25
- # Cards on file for the customer.
24
+ # The non-confidential details of the customer's cards on file.
26
25
  attr_accessor :cards
27
26
 
28
- #
27
+ # The customer's given (i.e., first) name.
29
28
  attr_accessor :given_name
30
29
 
31
- #
30
+ # The customer's family (i.e., last) name.
32
31
  attr_accessor :family_name
33
32
 
34
- #
33
+ # The customer's nickname.
35
34
  attr_accessor :nickname
36
35
 
37
- #
36
+ # The name of the customer's company.
38
37
  attr_accessor :company_name
39
38
 
40
- #
39
+ # The customer's email address.
41
40
  attr_accessor :email_address
42
41
 
43
- #
42
+ # The customer's physical address.
44
43
  attr_accessor :address
45
44
 
46
- #
45
+ # The customer's phone number.
47
46
  attr_accessor :phone_number
48
47
 
49
- #
48
+ # A second ID you can set to associate the customer with an entity in another system.
50
49
  attr_accessor :reference_id
51
50
 
52
- #
51
+ # A note to associate with the customer.
53
52
  attr_accessor :note
54
53
 
54
+ # The customer's preferences.
55
+ attr_accessor :preferences
56
+
57
+ # The groups the customer belongs to.
58
+ attr_accessor :groups
59
+
60
+
55
61
  # Attribute mapping from ruby-style variable name to JSON key.
56
62
  def self.attribute_map
57
63
  {
58
-
59
64
  :'id' => :'id',
60
-
61
65
  :'created_at' => :'created_at',
62
-
63
66
  :'updated_at' => :'updated_at',
64
-
65
67
  :'cards' => :'cards',
66
-
67
68
  :'given_name' => :'given_name',
68
-
69
69
  :'family_name' => :'family_name',
70
-
71
70
  :'nickname' => :'nickname',
72
-
73
71
  :'company_name' => :'company_name',
74
-
75
72
  :'email_address' => :'email_address',
76
-
77
73
  :'address' => :'address',
78
-
79
74
  :'phone_number' => :'phone_number',
80
-
81
75
  :'reference_id' => :'reference_id',
82
-
83
- :'note' => :'note'
84
-
76
+ :'note' => :'note',
77
+ :'preferences' => :'preferences',
78
+ :'groups' => :'groups'
85
79
  }
86
80
  end
87
81
 
@@ -100,75 +94,116 @@ module SquareConnect
100
94
  :'address' => :'Address',
101
95
  :'phone_number' => :'String',
102
96
  :'reference_id' => :'String',
103
- :'note' => :'String'
104
-
97
+ :'note' => :'String',
98
+ :'preferences' => :'CustomerPreferences',
99
+ :'groups' => :'Array<CustomerGroupInfo>'
105
100
  }
106
101
  end
107
102
 
103
+ # Initializes the object
104
+ # @param [Hash] attributes Model attributes in the form of hash
108
105
  def initialize(attributes = {})
109
106
  return unless attributes.is_a?(Hash)
110
107
 
111
108
  # convert string to symbol for hash key
112
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
109
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
113
110
 
114
-
115
- if attributes[:'id']
111
+ if attributes.has_key?(:'id')
116
112
  self.id = attributes[:'id']
117
113
  end
118
-
119
- if attributes[:'created_at']
114
+
115
+ if attributes.has_key?(:'created_at')
120
116
  self.created_at = attributes[:'created_at']
121
117
  end
122
-
123
- if attributes[:'updated_at']
118
+
119
+ if attributes.has_key?(:'updated_at')
124
120
  self.updated_at = attributes[:'updated_at']
125
121
  end
126
-
127
- if attributes[:'cards']
122
+
123
+ if attributes.has_key?(:'cards')
128
124
  if (value = attributes[:'cards']).is_a?(Array)
129
125
  self.cards = value
130
126
  end
131
127
  end
132
-
133
- if attributes[:'given_name']
128
+
129
+ if attributes.has_key?(:'given_name')
134
130
  self.given_name = attributes[:'given_name']
135
131
  end
136
-
137
- if attributes[:'family_name']
132
+
133
+ if attributes.has_key?(:'family_name')
138
134
  self.family_name = attributes[:'family_name']
139
135
  end
140
-
141
- if attributes[:'nickname']
136
+
137
+ if attributes.has_key?(:'nickname')
142
138
  self.nickname = attributes[:'nickname']
143
139
  end
144
-
145
- if attributes[:'company_name']
140
+
141
+ if attributes.has_key?(:'company_name')
146
142
  self.company_name = attributes[:'company_name']
147
143
  end
148
-
149
- if attributes[:'email_address']
144
+
145
+ if attributes.has_key?(:'email_address')
150
146
  self.email_address = attributes[:'email_address']
151
147
  end
152
-
153
- if attributes[:'address']
148
+
149
+ if attributes.has_key?(:'address')
154
150
  self.address = attributes[:'address']
155
151
  end
156
-
157
- if attributes[:'phone_number']
152
+
153
+ if attributes.has_key?(:'phone_number')
158
154
  self.phone_number = attributes[:'phone_number']
159
155
  end
160
-
161
- if attributes[:'reference_id']
156
+
157
+ if attributes.has_key?(:'reference_id')
162
158
  self.reference_id = attributes[:'reference_id']
163
159
  end
164
-
165
- if attributes[:'note']
160
+
161
+ if attributes.has_key?(:'note')
166
162
  self.note = attributes[:'note']
167
163
  end
168
-
164
+
165
+ if attributes.has_key?(:'preferences')
166
+ self.preferences = attributes[:'preferences']
167
+ end
168
+
169
+ if attributes.has_key?(:'groups')
170
+ if (value = attributes[:'groups']).is_a?(Array)
171
+ self.groups = value
172
+ end
173
+ end
174
+
175
+ end
176
+
177
+ # Show invalid properties with the reasons. Usually used together with valid?
178
+ # @return Array for valid properies with the reasons
179
+ def list_invalid_properties
180
+ invalid_properties = Array.new
181
+ if @id.nil?
182
+ invalid_properties.push("invalid value for 'id', id cannot be nil.")
183
+ end
184
+
185
+ if @created_at.nil?
186
+ invalid_properties.push("invalid value for 'created_at', created_at cannot be nil.")
187
+ end
188
+
189
+ if @updated_at.nil?
190
+ invalid_properties.push("invalid value for 'updated_at', updated_at cannot be nil.")
191
+ end
192
+
193
+ return invalid_properties
194
+ end
195
+
196
+ # Check to see if the all the properties in the model are valid
197
+ # @return true if the model is valid
198
+ def valid?
199
+ return false if @id.nil?
200
+ return false if @created_at.nil?
201
+ return false if @updated_at.nil?
202
+ return true
169
203
  end
170
204
 
171
- # Check equality by comparing each attribute.
205
+ # Checks equality by comparing each attribute.
206
+ # @param [Object] Object to be compared
172
207
  def ==(o)
173
208
  return true if self.equal?(o)
174
209
  self.class == o.class &&
@@ -184,39 +219,47 @@ module SquareConnect
184
219
  address == o.address &&
185
220
  phone_number == o.phone_number &&
186
221
  reference_id == o.reference_id &&
187
- note == o.note
222
+ note == o.note &&
223
+ preferences == o.preferences &&
224
+ groups == o.groups
188
225
  end
189
226
 
190
227
  # @see the `==` method
228
+ # @param [Object] Object to be compared
191
229
  def eql?(o)
192
230
  self == o
193
231
  end
194
232
 
195
- # Calculate hash code according to all attributes.
233
+ # Calculates hash code according to all attributes.
234
+ # @return [Fixnum] Hash code
196
235
  def hash
197
- [id, created_at, updated_at, cards, given_name, family_name, nickname, company_name, email_address, address, phone_number, reference_id, note].hash
236
+ [id, created_at, updated_at, cards, given_name, family_name, nickname, company_name, email_address, address, phone_number, reference_id, note, preferences, groups].hash
198
237
  end
199
238
 
200
- # build the object from hash
239
+ # Builds the object from hash
240
+ # @param [Hash] attributes Model attributes in the form of hash
241
+ # @return [Object] Returns the model itself
201
242
  def build_from_hash(attributes)
202
243
  return nil unless attributes.is_a?(Hash)
203
244
  self.class.swagger_types.each_pair do |key, type|
204
- if type =~ /^Array<(.*)>/i
245
+ if type =~ /\AArray<(.*)>/i
246
+ # check to ensure the input is an array given that the the attribute
247
+ # is documented as an array but the input is not
205
248
  if attributes[self.class.attribute_map[key]].is_a?(Array)
206
249
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
207
- else
208
- #TODO show warning in debug mode
209
250
  end
210
251
  elsif !attributes[self.class.attribute_map[key]].nil?
211
252
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
212
- else
213
- # data not found in attributes(hash), not an issue as the data can be optional
214
- end
253
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
215
254
  end
216
255
 
217
256
  self
218
257
  end
219
258
 
259
+ # Deserializes the data based on type
260
+ # @param string type Data type
261
+ # @param string value Value to be deserialized
262
+ # @return [Object] Deserialized data
220
263
  def _deserialize(type, value)
221
264
  case type.to_sym
222
265
  when :DateTime
@@ -230,15 +273,18 @@ module SquareConnect
230
273
  when :Float
231
274
  value.to_f
232
275
  when :BOOLEAN
233
- if value.to_s =~ /^(true|t|yes|y|1)$/i
276
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
234
277
  true
235
278
  else
236
279
  false
237
280
  end
281
+ when :Object
282
+ # generic object (usually a Hash), return directly
283
+ value
238
284
  when /\AArray<(?<inner_type>.+)>\z/
239
285
  inner_type = Regexp.last_match[:inner_type]
240
286
  value.map { |v| _deserialize(inner_type, v) }
241
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
287
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
242
288
  k_type = Regexp.last_match[:k_type]
243
289
  v_type = Regexp.last_match[:v_type]
244
290
  {}.tap do |hash|
@@ -247,21 +293,25 @@ module SquareConnect
247
293
  end
248
294
  end
249
295
  else # model
250
- _model = SquareConnect.const_get(type).new
251
- _model.build_from_hash(value)
296
+ temp_model = SquareConnect.const_get(type).new
297
+ temp_model.build_from_hash(value)
252
298
  end
253
299
  end
254
300
 
301
+ # Returns the string representation of the object
302
+ # @return [String] String presentation of the object
255
303
  def to_s
256
304
  to_hash.to_s
257
305
  end
258
306
 
259
- # to_body is an alias to to_body (backward compatibility))
307
+ # to_body is an alias to to_hash (backward compatibility)
308
+ # @return [Hash] Returns the object in the form of hash
260
309
  def to_body
261
310
  to_hash
262
311
  end
263
312
 
264
- # return the object in the form of hash
313
+ # Returns the object in the form of hash
314
+ # @return [Hash] Returns the object in the form of hash
265
315
  def to_hash
266
316
  hash = {}
267
317
  self.class.attribute_map.each_pair do |attr, param|
@@ -272,8 +322,10 @@ module SquareConnect
272
322
  hash
273
323
  end
274
324
 
275
- # Method to output non-array value in the form of hash
325
+ # Outputs non-array value in the form of hash
276
326
  # For object, use to_hash. Otherwise, just return the value
327
+ # @param [Object] value Any valid value
328
+ # @return [Hash] Returns the value in the form of hash
277
329
  def _to_hash(value)
278
330
  if value.is_a?(Array)
279
331
  value.compact.map{ |v| _to_hash(v) }
@@ -289,4 +341,5 @@ module SquareConnect
289
341
  end
290
342
 
291
343
  end
344
+
292
345
  end
@@ -0,0 +1,206 @@
1
+ =begin
2
+ #Square Connect API
3
+
4
+ OpenAPI spec version: 2.0
5
+
6
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
7
+
8
+ =end
9
+
10
+ require 'date'
11
+
12
+ module SquareConnect
13
+ # Contains some brief information about a customer group with its identifier included.
14
+ class CustomerGroupInfo
15
+ # The ID of the customer group.
16
+ attr_accessor :id
17
+
18
+ # The name of the customer group.
19
+ attr_accessor :name
20
+
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'id' => :'id',
26
+ :'name' => :'name'
27
+ }
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.swagger_types
32
+ {
33
+ :'id' => :'String',
34
+ :'name' => :'String'
35
+ }
36
+ end
37
+
38
+ # Initializes the object
39
+ # @param [Hash] attributes Model attributes in the form of hash
40
+ def initialize(attributes = {})
41
+ return unless attributes.is_a?(Hash)
42
+
43
+ # convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
45
+
46
+ if attributes.has_key?(:'id')
47
+ self.id = attributes[:'id']
48
+ end
49
+
50
+ if attributes.has_key?(:'name')
51
+ self.name = attributes[:'name']
52
+ end
53
+
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properies with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ if @id.nil?
61
+ invalid_properties.push("invalid value for 'id', id cannot be nil.")
62
+ end
63
+
64
+ if @name.nil?
65
+ invalid_properties.push("invalid value for 'name', name cannot be nil.")
66
+ end
67
+
68
+ return invalid_properties
69
+ end
70
+
71
+ # Check to see if the all the properties in the model are valid
72
+ # @return true if the model is valid
73
+ def valid?
74
+ return false if @id.nil?
75
+ return false if @name.nil?
76
+ return true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ id == o.id &&
85
+ name == o.name
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Fixnum] Hash code
96
+ def hash
97
+ [id, name].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+ self.class.swagger_types.each_pair do |key, type|
106
+ if type =~ /\AArray<(.*)>/i
107
+ # check to ensure the input is an array given that the the attribute
108
+ # is documented as an array but the input is not
109
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
110
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
111
+ end
112
+ elsif !attributes[self.class.attribute_map[key]].nil?
113
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
114
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
115
+ end
116
+
117
+ self
118
+ end
119
+
120
+ # Deserializes the data based on type
121
+ # @param string type Data type
122
+ # @param string value Value to be deserialized
123
+ # @return [Object] Deserialized data
124
+ def _deserialize(type, value)
125
+ case type.to_sym
126
+ when :DateTime
127
+ DateTime.parse(value)
128
+ when :Date
129
+ Date.parse(value)
130
+ when :String
131
+ value.to_s
132
+ when :Integer
133
+ value.to_i
134
+ when :Float
135
+ value.to_f
136
+ when :BOOLEAN
137
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ temp_model = SquareConnect.const_get(type).new
158
+ temp_model.build_from_hash(value)
159
+ end
160
+ end
161
+
162
+ # Returns the string representation of the object
163
+ # @return [String] String presentation of the object
164
+ def to_s
165
+ to_hash.to_s
166
+ end
167
+
168
+ # to_body is an alias to to_hash (backward compatibility)
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_body
171
+ to_hash
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ next if value.nil?
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Outputs non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ # @param [Object] value Any valid value
189
+ # @return [Hash] Returns the value in the form of hash
190
+ def _to_hash(value)
191
+ if value.is_a?(Array)
192
+ value.compact.map{ |v| _to_hash(v) }
193
+ elsif value.is_a?(Hash)
194
+ {}.tap do |hash|
195
+ value.each { |k, v| hash[k] = _to_hash(v) }
196
+ end
197
+ elsif value.respond_to? :to_hash
198
+ value.to_hash
199
+ else
200
+ value
201
+ end
202
+ end
203
+
204
+ end
205
+
206
+ end