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
@@ -0,0 +1,176 @@
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
+ #
14
+ class CaptureTransactionRequest
15
+
16
+ # Attribute mapping from ruby-style variable name to JSON key.
17
+ def self.attribute_map
18
+ {
19
+ }
20
+ end
21
+
22
+ # Attribute type mapping.
23
+ def self.swagger_types
24
+ {
25
+ }
26
+ end
27
+
28
+ # Initializes the object
29
+ # @param [Hash] attributes Model attributes in the form of hash
30
+ def initialize(attributes = {})
31
+ return unless attributes.is_a?(Hash)
32
+
33
+ # convert string to symbol for hash key
34
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
35
+
36
+ end
37
+
38
+ # Show invalid properties with the reasons. Usually used together with valid?
39
+ # @return Array for valid properies with the reasons
40
+ def list_invalid_properties
41
+ invalid_properties = Array.new
42
+ return invalid_properties
43
+ end
44
+
45
+ # Check to see if the all the properties in the model are valid
46
+ # @return true if the model is valid
47
+ def valid?
48
+ return true
49
+ end
50
+
51
+ # Checks equality by comparing each attribute.
52
+ # @param [Object] Object to be compared
53
+ def ==(o)
54
+ return true if self.equal?(o)
55
+ self.class == o.class
56
+ end
57
+
58
+ # @see the `==` method
59
+ # @param [Object] Object to be compared
60
+ def eql?(o)
61
+ self == o
62
+ end
63
+
64
+ # Calculates hash code according to all attributes.
65
+ # @return [Fixnum] Hash code
66
+ def hash
67
+ [].hash
68
+ end
69
+
70
+ # Builds the object from hash
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ # @return [Object] Returns the model itself
73
+ def build_from_hash(attributes)
74
+ return nil unless attributes.is_a?(Hash)
75
+ self.class.swagger_types.each_pair do |key, type|
76
+ if type =~ /\AArray<(.*)>/i
77
+ # check to ensure the input is an array given that the the attribute
78
+ # is documented as an array but the input is not
79
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
80
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
81
+ end
82
+ elsif !attributes[self.class.attribute_map[key]].nil?
83
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
84
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
85
+ end
86
+
87
+ self
88
+ end
89
+
90
+ # Deserializes the data based on type
91
+ # @param string type Data type
92
+ # @param string value Value to be deserialized
93
+ # @return [Object] Deserialized data
94
+ def _deserialize(type, value)
95
+ case type.to_sym
96
+ when :DateTime
97
+ DateTime.parse(value)
98
+ when :Date
99
+ Date.parse(value)
100
+ when :String
101
+ value.to_s
102
+ when :Integer
103
+ value.to_i
104
+ when :Float
105
+ value.to_f
106
+ when :BOOLEAN
107
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
108
+ true
109
+ else
110
+ false
111
+ end
112
+ when :Object
113
+ # generic object (usually a Hash), return directly
114
+ value
115
+ when /\AArray<(?<inner_type>.+)>\z/
116
+ inner_type = Regexp.last_match[:inner_type]
117
+ value.map { |v| _deserialize(inner_type, v) }
118
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
119
+ k_type = Regexp.last_match[:k_type]
120
+ v_type = Regexp.last_match[:v_type]
121
+ {}.tap do |hash|
122
+ value.each do |k, v|
123
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
124
+ end
125
+ end
126
+ else # model
127
+ temp_model = SquareConnect.const_get(type).new
128
+ temp_model.build_from_hash(value)
129
+ end
130
+ end
131
+
132
+ # Returns the string representation of the object
133
+ # @return [String] String presentation of the object
134
+ def to_s
135
+ to_hash.to_s
136
+ end
137
+
138
+ # to_body is an alias to to_hash (backward compatibility)
139
+ # @return [Hash] Returns the object in the form of hash
140
+ def to_body
141
+ to_hash
142
+ end
143
+
144
+ # Returns the object in the form of hash
145
+ # @return [Hash] Returns the object in the form of hash
146
+ def to_hash
147
+ hash = {}
148
+ self.class.attribute_map.each_pair do |attr, param|
149
+ value = self.send(attr)
150
+ next if value.nil?
151
+ hash[param] = _to_hash(value)
152
+ end
153
+ hash
154
+ end
155
+
156
+ # Outputs non-array value in the form of hash
157
+ # For object, use to_hash. Otherwise, just return the value
158
+ # @param [Object] value Any valid value
159
+ # @return [Hash] Returns the value in the form of hash
160
+ def _to_hash(value)
161
+ if value.is_a?(Array)
162
+ value.compact.map{ |v| _to_hash(v) }
163
+ elsif value.is_a?(Hash)
164
+ {}.tap do |hash|
165
+ value.each { |k, v| hash[k] = _to_hash(v) }
166
+ end
167
+ elsif value.respond_to? :to_hash
168
+ value.to_hash
169
+ else
170
+ value
171
+ end
172
+ end
173
+
174
+ end
175
+
176
+ end
@@ -1,27 +1,25 @@
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
- # Defines the fields that are included in the response body of\na request to the **CaptureTransaction** endpoint.
13
+ # Defines the fields that are included in the response body of a request to the [CaptureTransaction](#endpoint-capturetransaction) endpoint.
15
14
  class CaptureTransactionResponse
16
15
  # Any errors that occurred during the request.
17
16
  attr_accessor :errors
18
17
 
18
+
19
19
  # Attribute mapping from ruby-style variable name to JSON key.
20
20
  def self.attribute_map
21
21
  {
22
-
23
22
  :'errors' => :'errors'
24
-
25
23
  }
26
24
  end
27
25
 
@@ -29,26 +27,40 @@ module SquareConnect
29
27
  def self.swagger_types
30
28
  {
31
29
  :'errors' => :'Array<Error>'
32
-
33
30
  }
34
31
  end
35
32
 
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
36
35
  def initialize(attributes = {})
37
36
  return unless attributes.is_a?(Hash)
38
37
 
39
38
  # convert string to symbol for hash key
40
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
39
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
41
40
 
42
-
43
- if attributes[:'errors']
41
+ if attributes.has_key?(:'errors')
44
42
  if (value = attributes[:'errors']).is_a?(Array)
45
43
  self.errors = value
46
44
  end
47
45
  end
48
-
46
+
49
47
  end
50
48
 
51
- # Check equality by comparing each attribute.
49
+ # Show invalid properties with the reasons. Usually used together with valid?
50
+ # @return Array for valid properies with the reasons
51
+ def list_invalid_properties
52
+ invalid_properties = Array.new
53
+ return invalid_properties
54
+ end
55
+
56
+ # Check to see if the all the properties in the model are valid
57
+ # @return true if the model is valid
58
+ def valid?
59
+ return true
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] Object to be compared
52
64
  def ==(o)
53
65
  return true if self.equal?(o)
54
66
  self.class == o.class &&
@@ -56,35 +68,41 @@ module SquareConnect
56
68
  end
57
69
 
58
70
  # @see the `==` method
71
+ # @param [Object] Object to be compared
59
72
  def eql?(o)
60
73
  self == o
61
74
  end
62
75
 
63
- # Calculate hash code according to all attributes.
76
+ # Calculates hash code according to all attributes.
77
+ # @return [Fixnum] Hash code
64
78
  def hash
65
79
  [errors].hash
66
80
  end
67
81
 
68
- # build the object from hash
82
+ # Builds the object from hash
83
+ # @param [Hash] attributes Model attributes in the form of hash
84
+ # @return [Object] Returns the model itself
69
85
  def build_from_hash(attributes)
70
86
  return nil unless attributes.is_a?(Hash)
71
87
  self.class.swagger_types.each_pair do |key, type|
72
- if type =~ /^Array<(.*)>/i
88
+ if type =~ /\AArray<(.*)>/i
89
+ # check to ensure the input is an array given that the the attribute
90
+ # is documented as an array but the input is not
73
91
  if attributes[self.class.attribute_map[key]].is_a?(Array)
74
92
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
75
- else
76
- #TODO show warning in debug mode
77
93
  end
78
94
  elsif !attributes[self.class.attribute_map[key]].nil?
79
95
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
80
- else
81
- # data not found in attributes(hash), not an issue as the data can be optional
82
- end
96
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
83
97
  end
84
98
 
85
99
  self
86
100
  end
87
101
 
102
+ # Deserializes the data based on type
103
+ # @param string type Data type
104
+ # @param string value Value to be deserialized
105
+ # @return [Object] Deserialized data
88
106
  def _deserialize(type, value)
89
107
  case type.to_sym
90
108
  when :DateTime
@@ -98,15 +116,18 @@ module SquareConnect
98
116
  when :Float
99
117
  value.to_f
100
118
  when :BOOLEAN
101
- if value.to_s =~ /^(true|t|yes|y|1)$/i
119
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
102
120
  true
103
121
  else
104
122
  false
105
123
  end
124
+ when :Object
125
+ # generic object (usually a Hash), return directly
126
+ value
106
127
  when /\AArray<(?<inner_type>.+)>\z/
107
128
  inner_type = Regexp.last_match[:inner_type]
108
129
  value.map { |v| _deserialize(inner_type, v) }
109
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
130
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
110
131
  k_type = Regexp.last_match[:k_type]
111
132
  v_type = Regexp.last_match[:v_type]
112
133
  {}.tap do |hash|
@@ -115,21 +136,25 @@ module SquareConnect
115
136
  end
116
137
  end
117
138
  else # model
118
- _model = SquareConnect.const_get(type).new
119
- _model.build_from_hash(value)
139
+ temp_model = SquareConnect.const_get(type).new
140
+ temp_model.build_from_hash(value)
120
141
  end
121
142
  end
122
143
 
144
+ # Returns the string representation of the object
145
+ # @return [String] String presentation of the object
123
146
  def to_s
124
147
  to_hash.to_s
125
148
  end
126
149
 
127
- # to_body is an alias to to_body (backward compatibility))
150
+ # to_body is an alias to to_hash (backward compatibility)
151
+ # @return [Hash] Returns the object in the form of hash
128
152
  def to_body
129
153
  to_hash
130
154
  end
131
155
 
132
- # return the object in the form of hash
156
+ # Returns the object in the form of hash
157
+ # @return [Hash] Returns the object in the form of hash
133
158
  def to_hash
134
159
  hash = {}
135
160
  self.class.attribute_map.each_pair do |attr, param|
@@ -140,8 +165,10 @@ module SquareConnect
140
165
  hash
141
166
  end
142
167
 
143
- # Method to output non-array value in the form of hash
168
+ # Outputs non-array value in the form of hash
144
169
  # For object, use to_hash. Otherwise, just return the value
170
+ # @param [Object] value Any valid value
171
+ # @return [Hash] Returns the value in the form of hash
145
172
  def _to_hash(value)
146
173
  if value.is_a?(Array)
147
174
  value.compact.map{ |v| _to_hash(v) }
@@ -157,4 +184,5 @@ module SquareConnect
157
184
  end
158
185
 
159
186
  end
187
+
160
188
  end
@@ -1,57 +1,70 @@
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
- # Represents a credit card.
13
+ # Represents the non-confidential details of a credit card.
15
14
  class Card
16
15
  # The card's unique ID, if any.
17
16
  attr_accessor :id
18
17
 
19
- # The card's brand (such as `VISA`).
18
+ # The card's brand (such as `VISA`). See [CardBrand](#type-cardbrand) for all possible values.
20
19
  attr_accessor :card_brand
21
20
 
22
21
  # The last 4 digits of the card's number.
23
22
  attr_accessor :last_4
24
23
 
25
- # The month of the card's expiration date, which must be between 1-12.
24
+ # The month of the card's expiration date. This value is always between `1` and `12`, inclusive.
26
25
  attr_accessor :exp_month
27
26
 
28
- # The year of the card's expiration date, which must be a 4-digit year.
27
+ # The four-digit year of the card's expiration date.
29
28
  attr_accessor :exp_year
30
29
 
31
- # The cardholder name for the card on file.
30
+ # The cardholder name. This value is present only if this object represents a customer's card on file.
32
31
  attr_accessor :cardholder_name
33
32
 
34
- # The billing address for the card on file.
33
+ # The card's billing address. This value is present only if this object represents a customer's card on file.
35
34
  attr_accessor :billing_address
36
35
 
36
+ class EnumAttributeValidator
37
+ attr_reader :datatype
38
+ attr_reader :allowable_values
39
+
40
+ def initialize(datatype, allowable_values)
41
+ @allowable_values = allowable_values.map do |value|
42
+ case datatype.to_s
43
+ when /Integer/i
44
+ value.to_i
45
+ when /Float/i
46
+ value.to_f
47
+ else
48
+ value
49
+ end
50
+ end
51
+ end
52
+
53
+ def valid?(value)
54
+ !value || allowable_values.include?(value)
55
+ end
56
+ end
57
+
37
58
  # Attribute mapping from ruby-style variable name to JSON key.
38
59
  def self.attribute_map
39
60
  {
40
-
41
61
  :'id' => :'id',
42
-
43
62
  :'card_brand' => :'card_brand',
44
-
45
63
  :'last_4' => :'last_4',
46
-
47
64
  :'exp_month' => :'exp_month',
48
-
49
65
  :'exp_year' => :'exp_year',
50
-
51
66
  :'cardholder_name' => :'cardholder_name',
52
-
53
67
  :'billing_address' => :'billing_address'
54
-
55
68
  }
56
69
  end
57
70
 
@@ -65,57 +78,74 @@ module SquareConnect
65
78
  :'exp_year' => :'Integer',
66
79
  :'cardholder_name' => :'String',
67
80
  :'billing_address' => :'Address'
68
-
69
81
  }
70
82
  end
71
83
 
84
+ # Initializes the object
85
+ # @param [Hash] attributes Model attributes in the form of hash
72
86
  def initialize(attributes = {})
73
87
  return unless attributes.is_a?(Hash)
74
88
 
75
89
  # convert string to symbol for hash key
76
- attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
90
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
77
91
 
78
-
79
- if attributes[:'id']
92
+ if attributes.has_key?(:'id')
80
93
  self.id = attributes[:'id']
81
94
  end
82
-
83
- if attributes[:'card_brand']
95
+
96
+ if attributes.has_key?(:'card_brand')
84
97
  self.card_brand = attributes[:'card_brand']
85
98
  end
86
-
87
- if attributes[:'last_4']
99
+
100
+ if attributes.has_key?(:'last_4')
88
101
  self.last_4 = attributes[:'last_4']
89
102
  end
90
-
91
- if attributes[:'exp_month']
103
+
104
+ if attributes.has_key?(:'exp_month')
92
105
  self.exp_month = attributes[:'exp_month']
93
106
  end
94
-
95
- if attributes[:'exp_year']
107
+
108
+ if attributes.has_key?(:'exp_year')
96
109
  self.exp_year = attributes[:'exp_year']
97
110
  end
98
-
99
- if attributes[:'cardholder_name']
111
+
112
+ if attributes.has_key?(:'cardholder_name')
100
113
  self.cardholder_name = attributes[:'cardholder_name']
101
114
  end
102
-
103
- if attributes[:'billing_address']
115
+
116
+ if attributes.has_key?(:'billing_address')
104
117
  self.billing_address = attributes[:'billing_address']
105
118
  end
106
-
119
+
120
+ end
121
+
122
+ # Show invalid properties with the reasons. Usually used together with valid?
123
+ # @return Array for valid properies with the reasons
124
+ def list_invalid_properties
125
+ invalid_properties = Array.new
126
+ return invalid_properties
127
+ end
128
+
129
+ # Check to see if the all the properties in the model are valid
130
+ # @return true if the model is valid
131
+ def valid?
132
+ card_brand_validator = EnumAttributeValidator.new('String', ["OTHER_BRAND", "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DISCOVER_DINERS", "JCB", "CHINA_UNIONPAY", "SQUARE_GIFT_CARD"])
133
+ return false unless card_brand_validator.valid?(@card_brand)
134
+ return true
107
135
  end
108
136
 
109
137
  # Custom attribute writer method checking allowed values (enum).
138
+ # @param [Object] card_brand Object to be assigned
110
139
  def card_brand=(card_brand)
111
- allowed_values = ["OTHER_BRAND", "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DISCOVER_DINERS", "JCB", "CHINA_UNIONPAY", "SQUARE_GIFT_CARD"]
112
- if card_brand && !allowed_values.include?(card_brand)
113
- fail "invalid value for 'card_brand', must be one of #{allowed_values}"
140
+ validator = EnumAttributeValidator.new('String', ["OTHER_BRAND", "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DISCOVER_DINERS", "JCB", "CHINA_UNIONPAY", "SQUARE_GIFT_CARD"])
141
+ unless validator.valid?(card_brand)
142
+ fail ArgumentError, "invalid value for 'card_brand', must be one of #{validator.allowable_values}."
114
143
  end
115
144
  @card_brand = card_brand
116
145
  end
117
146
 
118
- # Check equality by comparing each attribute.
147
+ # Checks equality by comparing each attribute.
148
+ # @param [Object] Object to be compared
119
149
  def ==(o)
120
150
  return true if self.equal?(o)
121
151
  self.class == o.class &&
@@ -129,35 +159,41 @@ module SquareConnect
129
159
  end
130
160
 
131
161
  # @see the `==` method
162
+ # @param [Object] Object to be compared
132
163
  def eql?(o)
133
164
  self == o
134
165
  end
135
166
 
136
- # Calculate hash code according to all attributes.
167
+ # Calculates hash code according to all attributes.
168
+ # @return [Fixnum] Hash code
137
169
  def hash
138
170
  [id, card_brand, last_4, exp_month, exp_year, cardholder_name, billing_address].hash
139
171
  end
140
172
 
141
- # build the object from hash
173
+ # Builds the object from hash
174
+ # @param [Hash] attributes Model attributes in the form of hash
175
+ # @return [Object] Returns the model itself
142
176
  def build_from_hash(attributes)
143
177
  return nil unless attributes.is_a?(Hash)
144
178
  self.class.swagger_types.each_pair do |key, type|
145
- if type =~ /^Array<(.*)>/i
179
+ if type =~ /\AArray<(.*)>/i
180
+ # check to ensure the input is an array given that the the attribute
181
+ # is documented as an array but the input is not
146
182
  if attributes[self.class.attribute_map[key]].is_a?(Array)
147
183
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
148
- else
149
- #TODO show warning in debug mode
150
184
  end
151
185
  elsif !attributes[self.class.attribute_map[key]].nil?
152
186
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
153
- else
154
- # data not found in attributes(hash), not an issue as the data can be optional
155
- end
187
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
156
188
  end
157
189
 
158
190
  self
159
191
  end
160
192
 
193
+ # Deserializes the data based on type
194
+ # @param string type Data type
195
+ # @param string value Value to be deserialized
196
+ # @return [Object] Deserialized data
161
197
  def _deserialize(type, value)
162
198
  case type.to_sym
163
199
  when :DateTime
@@ -171,15 +207,18 @@ module SquareConnect
171
207
  when :Float
172
208
  value.to_f
173
209
  when :BOOLEAN
174
- if value.to_s =~ /^(true|t|yes|y|1)$/i
210
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
175
211
  true
176
212
  else
177
213
  false
178
214
  end
215
+ when :Object
216
+ # generic object (usually a Hash), return directly
217
+ value
179
218
  when /\AArray<(?<inner_type>.+)>\z/
180
219
  inner_type = Regexp.last_match[:inner_type]
181
220
  value.map { |v| _deserialize(inner_type, v) }
182
- when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
221
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
183
222
  k_type = Regexp.last_match[:k_type]
184
223
  v_type = Regexp.last_match[:v_type]
185
224
  {}.tap do |hash|
@@ -188,21 +227,25 @@ module SquareConnect
188
227
  end
189
228
  end
190
229
  else # model
191
- _model = SquareConnect.const_get(type).new
192
- _model.build_from_hash(value)
230
+ temp_model = SquareConnect.const_get(type).new
231
+ temp_model.build_from_hash(value)
193
232
  end
194
233
  end
195
234
 
235
+ # Returns the string representation of the object
236
+ # @return [String] String presentation of the object
196
237
  def to_s
197
238
  to_hash.to_s
198
239
  end
199
240
 
200
- # to_body is an alias to to_body (backward compatibility))
241
+ # to_body is an alias to to_hash (backward compatibility)
242
+ # @return [Hash] Returns the object in the form of hash
201
243
  def to_body
202
244
  to_hash
203
245
  end
204
246
 
205
- # return the object in the form of hash
247
+ # Returns the object in the form of hash
248
+ # @return [Hash] Returns the object in the form of hash
206
249
  def to_hash
207
250
  hash = {}
208
251
  self.class.attribute_map.each_pair do |attr, param|
@@ -213,8 +256,10 @@ module SquareConnect
213
256
  hash
214
257
  end
215
258
 
216
- # Method to output non-array value in the form of hash
259
+ # Outputs non-array value in the form of hash
217
260
  # For object, use to_hash. Otherwise, just return the value
261
+ # @param [Object] value Any valid value
262
+ # @return [Hash] Returns the value in the form of hash
218
263
  def _to_hash(value)
219
264
  if value.is_a?(Array)
220
265
  value.compact.map{ |v| _to_hash(v) }
@@ -230,4 +275,5 @@ module SquareConnect
230
275
  end
231
276
 
232
277
  end
278
+
233
279
  end