avalara_sdk 25.8.2 → 25.9.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 (220) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +20 -91
  4. data/docs/A1099/V2/CompaniesW9Api.md +18 -18
  5. data/docs/A1099/V2/CompanyBase.md +50 -0
  6. data/docs/A1099/V2/CompanyCreateUpdateRequestModel.md +18 -18
  7. data/docs/A1099/V2/CompanyRequest.md +50 -0
  8. data/docs/A1099/V2/CompanyResponse.md +37 -37
  9. data/docs/A1099/V2/CoveredIndividual.md +56 -0
  10. data/docs/A1099/V2/CreateAndSendW9FormEmailRequest.md +55 -0
  11. data/docs/A1099/V2/CreateCompanyRequest.md +49 -0
  12. data/docs/A1099/V2/CreateIssuerRequest.md +49 -0
  13. data/docs/A1099/V2/EntryStatusResponse.md +20 -0
  14. data/docs/A1099/V2/Form1042S.md +83 -83
  15. data/docs/A1099/V2/Form1095B.md +72 -62
  16. data/docs/A1099/V2/Form1095C.md +112 -0
  17. data/docs/A1099/V2/Form1099Base.md +60 -60
  18. data/docs/A1099/V2/Form1099Div.md +79 -77
  19. data/docs/A1099/V2/Form1099Int.md +76 -74
  20. data/docs/A1099/V2/Form1099K.md +83 -83
  21. data/docs/A1099/V2/Form1099ListRequest.md +20 -0
  22. data/docs/A1099/V2/Form1099Misc.md +79 -77
  23. data/docs/A1099/V2/Form1099Nec.md +64 -64
  24. data/docs/A1099/V2/Form1099R.md +95 -93
  25. data/docs/A1099/V2/Forms1099Api.md +47 -43
  26. data/docs/A1099/V2/FormsW9Api.md +104 -20
  27. data/docs/A1099/V2/Get1099Form200Response.md +19 -19
  28. data/docs/A1099/V2/IntermediaryOrFlowThrough.md +11 -11
  29. data/docs/A1099/V2/IssuerBase.md +46 -0
  30. data/docs/A1099/V2/IssuerCommand.md +16 -16
  31. data/docs/A1099/V2/IssuerRequest.md +46 -0
  32. data/docs/A1099/V2/IssuerResponse.md +35 -35
  33. data/docs/A1099/V2/Issuers1099Api.md +10 -10
  34. data/docs/A1099/V2/JobResponse.md +56 -0
  35. data/docs/A1099/V2/JobsApi.md +91 -0
  36. data/docs/A1099/V2/OfferAndCoverage.md +28 -0
  37. data/docs/A1099/V2/PaginatedQueryResultModelForm1099Base.md +22 -0
  38. data/docs/A1099/V2/PrimaryWithholdingAgent.md +4 -4
  39. data/docs/A1099/V2/StateAndLocalWithholding.md +8 -8
  40. data/docs/A1099/V2/TinMatchStatusResponse.md +1 -1
  41. data/docs/A1099/V2/ValidationError.md +2 -2
  42. data/docs/A1099/V2/W4FormMinimalRequest.md +30 -0
  43. data/docs/A1099/V2/W4FormRequest.md +16 -16
  44. data/docs/A1099/V2/W4FormResponse.md +48 -20
  45. data/docs/A1099/V2/W8BenEFormMinimalRequest.md +28 -0
  46. data/docs/A1099/V2/W8BenEFormRequest.md +15 -15
  47. data/docs/A1099/V2/W8BenEFormResponse.md +96 -68
  48. data/docs/A1099/V2/W8BenFormMinimalRequest.md +28 -0
  49. data/docs/A1099/V2/W8BenFormRequest.md +11 -11
  50. data/docs/A1099/V2/W8BenFormResponse.md +55 -27
  51. data/docs/A1099/V2/W8ImyFormMinimalRequest.md +28 -0
  52. data/docs/A1099/V2/W8ImyFormRequest.md +15 -15
  53. data/docs/A1099/V2/W8ImyFormResponse.md +118 -90
  54. data/docs/A1099/V2/W9FormBaseMinimalRequest.md +24 -0
  55. data/docs/A1099/V2/W9FormBaseRequest.md +7 -7
  56. data/docs/A1099/V2/W9FormBaseResponse.md +6 -6
  57. data/docs/A1099/V2/W9FormMinimalRequest.md +28 -0
  58. data/docs/A1099/V2/W9FormRequest.md +15 -15
  59. data/docs/A1099/V2/W9FormResponse.md +44 -16
  60. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +27 -27
  61. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +93 -61
  62. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +157 -19
  63. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +21 -21
  64. data/lib/avalara_sdk/api/A1099/V2/{jobs1099_api.rb → jobs_api.rb} +9 -9
  65. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +1 -1
  66. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +1 -1
  67. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  68. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +1 -1
  69. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +1 -1
  70. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +1 -1
  71. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +1 -1
  72. data/lib/avalara_sdk/api_client.rb +10 -2
  73. data/lib/avalara_sdk/models/A1099/V2/{base_company_model.rb → company_base.rb} +61 -13
  74. data/lib/avalara_sdk/models/A1099/V2/company_create_update_request_model.rb +58 -17
  75. data/lib/avalara_sdk/models/A1099/V2/{company_model.rb → company_request.rb} +62 -64
  76. data/lib/avalara_sdk/models/A1099/V2/company_response.rb +110 -69
  77. data/lib/avalara_sdk/models/A1099/V2/{covered_individual_request.rb → covered_individual.rb} +36 -7
  78. data/lib/avalara_sdk/models/A1099/V2/{i_create_form1099_request.rb → create_and_send_w9_form_email_request.rb} +6 -5
  79. data/lib/avalara_sdk/models/A1099/V2/{error_response_errors_inner.rb → create_company_request.rb} +3 -3
  80. data/lib/avalara_sdk/models/A1099/V2/{i_update_form1099_request.rb → create_issuer_request.rb} +3 -5
  81. data/lib/avalara_sdk/models/A1099/V2/{status_detail.rb → entry_status_response.rb} +20 -18
  82. data/lib/avalara_sdk/models/A1099/V2/error_response.rb +0 -6
  83. data/lib/avalara_sdk/models/A1099/V2/form1042_s.rb +422 -187
  84. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +359 -194
  85. data/lib/avalara_sdk/models/A1099/V2/{form1095_b_response.rb → form1095_c.rb} +250 -133
  86. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +283 -185
  87. data/lib/avalara_sdk/models/A1099/V2/form1099_div.rb +307 -179
  88. data/lib/avalara_sdk/models/A1099/V2/form1099_int.rb +307 -183
  89. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +307 -198
  90. data/lib/avalara_sdk/models/A1099/V2/{http_validation_problem_details.rb → form1099_list_request.rb} +45 -59
  91. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +334 -209
  92. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +297 -192
  93. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +437 -282
  94. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +9 -9
  95. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through.rb +59 -1
  96. data/lib/avalara_sdk/models/A1099/V2/{intermediary_or_flow_through_request.rb → issuer_base.rb} +119 -46
  97. data/lib/avalara_sdk/models/A1099/V2/issuer_command.rb +42 -23
  98. data/lib/avalara_sdk/models/A1099/V2/{company_response_model.rb → issuer_request.rb} +113 -112
  99. data/lib/avalara_sdk/models/A1099/V2/issuer_response.rb +77 -46
  100. data/lib/avalara_sdk/models/A1099/V2/{job_result.rb → job_response.rb} +102 -42
  101. data/lib/avalara_sdk/models/A1099/V2/{offer_and_coverage_request.rb → offer_and_coverage.rb} +79 -9
  102. data/lib/avalara_sdk/models/A1099/V2/{paginated_query_result_model.rb → paginated_query_result_model_form1099_base.rb} +4 -4
  103. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent.rb +23 -16
  104. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding.rb +8 -0
  105. data/lib/avalara_sdk/models/A1099/V2/validation_error.rb +2 -6
  106. data/lib/avalara_sdk/models/A1099/V2/{attribute.rb → w4_form_minimal_request.rb} +142 -129
  107. data/lib/avalara_sdk/models/A1099/V2/w4_form_request.rb +62 -34
  108. data/lib/avalara_sdk/models/A1099/V2/w4_form_response.rb +191 -15
  109. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_minimal_request.rb +356 -0
  110. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_request.rb +68 -33
  111. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_response.rb +190 -14
  112. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_minimal_request.rb +356 -0
  113. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_request.rb +51 -28
  114. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_response.rb +191 -15
  115. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_minimal_request.rb +356 -0
  116. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_request.rb +61 -33
  117. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_response.rb +191 -15
  118. data/lib/avalara_sdk/models/A1099/V2/{problem_details.rb → w9_form_base_minimal_request.rb} +61 -35
  119. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_request.rb +35 -28
  120. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +60 -31
  121. data/lib/avalara_sdk/models/A1099/V2/w9_form_minimal_request.rb +356 -0
  122. data/lib/avalara_sdk/models/A1099/V2/w9_form_request.rb +71 -30
  123. data/lib/avalara_sdk/models/A1099/V2/w9_form_response.rb +190 -14
  124. data/lib/avalara_sdk/version.rb +1 -1
  125. data/lib/avalara_sdk.rb +22 -101
  126. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  127. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  128. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  129. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  130. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  131. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  132. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  133. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  134. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  135. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  136. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  137. metadata +45 -103
  138. data/lib/avalara_sdk/models/A1099/V2/base_form_list_request.rb +0 -210
  139. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +0 -108
  140. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +0 -403
  141. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference_response.rb +0 -407
  142. data/lib/avalara_sdk/models/A1099/V2/create1099_form201_response.rb +0 -108
  143. data/lib/avalara_sdk/models/A1099/V2/data.rb +0 -237
  144. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list.rb +0 -238
  145. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item.rb +0 -816
  146. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item_response.rb +0 -980
  147. data/lib/avalara_sdk/models/A1099/V2/form1042_s_request.rb +0 -778
  148. data/lib/avalara_sdk/models/A1099/V2/form1042_s_response.rb +0 -619
  149. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +0 -238
  150. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +0 -606
  151. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item_response.rb +0 -765
  152. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +0 -627
  153. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list.rb +0 -238
  154. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list_item.rb +0 -662
  155. data/lib/avalara_sdk/models/A1099/V2/form1099_base_response.rb +0 -726
  156. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list.rb +0 -238
  157. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +0 -747
  158. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item_response.rb +0 -931
  159. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +0 -729
  160. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +0 -790
  161. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list.rb +0 -238
  162. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item.rb +0 -702
  163. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item_response.rb +0 -887
  164. data/lib/avalara_sdk/models/A1099/V2/form1099_int_request.rb +0 -684
  165. data/lib/avalara_sdk/models/A1099/V2/form1099_int_response.rb +0 -773
  166. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list.rb +0 -238
  167. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +0 -788
  168. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item_response.rb +0 -995
  169. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +0 -770
  170. data/lib/avalara_sdk/models/A1099/V2/form1099_k_response.rb +0 -839
  171. data/lib/avalara_sdk/models/A1099/V2/form1099_list.rb +0 -219
  172. data/lib/avalara_sdk/models/A1099/V2/form1099_list_data_inner.rb +0 -55
  173. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response.rb +0 -220
  174. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response_value_inner.rb +0 -108
  175. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list.rb +0 -238
  176. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +0 -688
  177. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item_response.rb +0 -886
  178. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +0 -670
  179. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +0 -754
  180. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list.rb +0 -238
  181. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +0 -586
  182. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item_response.rb +0 -765
  183. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +0 -567
  184. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +0 -646
  185. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result.rb +0 -228
  186. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result_processed_forms_inner.rb +0 -107
  187. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list.rb +0 -238
  188. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +0 -763
  189. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item_response.rb +0 -942
  190. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +0 -720
  191. data/lib/avalara_sdk/models/A1099/V2/form1099_r_response.rb +0 -839
  192. data/lib/avalara_sdk/models/A1099/V2/form1099_status_detail_response.rb +0 -223
  193. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +0 -502
  194. data/lib/avalara_sdk/models/A1099/V2/form_request_csv_base.rb +0 -475
  195. data/lib/avalara_sdk/models/A1099/V2/form_request_list_item_base.rb +0 -548
  196. data/lib/avalara_sdk/models/A1099/V2/form_request_model.rb +0 -345
  197. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +0 -612
  198. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +0 -530
  199. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +0 -219
  200. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_response.rb +0 -311
  201. data/lib/avalara_sdk/models/A1099/V2/link.rb +0 -210
  202. data/lib/avalara_sdk/models/A1099/V2/paginated_w9_forms_model.rb +0 -231
  203. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_request.rb +0 -221
  204. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_response.rb +0 -221
  205. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +0 -278
  206. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +0 -282
  207. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_app.rb +0 -231
  208. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_response.rb +0 -231
  209. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +0 -108
  210. data/lib/avalara_sdk/models/A1099/V2/validation_error_app.rb +0 -229
  211. data/lib/avalara_sdk/models/A1099/V2/validation_error_response.rb +0 -231
  212. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response.rb +0 -233
  213. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner.rb +0 -274
  214. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_addresses_inner.rb +0 -251
  215. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_identifiers_inner.rb +0 -221
  216. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_supported_document_types_inner.rb +0 -241
  217. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request.rb +0 -224
  218. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_data_inner.rb +0 -237
  219. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_metadata.rb +0 -288
  220. data/lib/avalara_sdk/models/EInvoicing/V1/submit_document_data.rb +0 -216
@@ -1,788 +0,0 @@
1
- =begin
2
- #Avalara 1099 & W-9 API Definition
3
-
4
- ### 🔐 Authentication Generate a **license key** from: *[Avalara Portal](https://www.avalara.com/us/en/signin.html) → Settings → License and API Keys*. [More on authentication methods](https://developer.avalara.com/avatax-dm-combined-erp/common-setup/authentication/authentication-methods/) [Test your credentials](https://developer.avalara.com/avatax/test-credentials/) ## 📘 API & SDK Documentation [Avalara SDK (.NET) on GitHub](https://github.com/avadev/Avalara-SDK-DotNet#avalarasdk--the-unified-c-library-for-next-gen-avalara-services) [Code Examples – 1099 API](https://github.com/avadev/Avalara-SDK-DotNet/blob/main/docs/A1099/V2/Class1099IssuersApi.md#call1099issuersget)
5
-
6
-
7
- =end
8
-
9
- require 'date'
10
- require 'time'
11
-
12
- module AvalaraSdk::A1099::V2
13
- class Form1099KListItem
14
- # Filer type (PSE or EPF)
15
- attr_accessor :filer_type
16
-
17
- # Payment type (payment card or third party network)
18
- attr_accessor :payment_type
19
-
20
- # Payment settlement entity name and phone number
21
- attr_accessor :payment_settlement_entity_name_phone_number
22
-
23
- # Gross amount of payment card/third party network transactions
24
- attr_accessor :gross_amount_payment_card
25
-
26
- # Card not present transactions
27
- attr_accessor :card_not_present_transactions
28
-
29
- # Merchant category code
30
- attr_accessor :merchant_category_code
31
-
32
- # Number of payment transactions
33
- attr_accessor :payment_transaction_number
34
-
35
- # Federal income tax withheld
36
- attr_accessor :federal_income_tax_withheld
37
-
38
- # January gross payments
39
- attr_accessor :january
40
-
41
- # February gross payments
42
- attr_accessor :february
43
-
44
- # March gross payments
45
- attr_accessor :march
46
-
47
- # April gross payments
48
- attr_accessor :april
49
-
50
- # May gross payments
51
- attr_accessor :may
52
-
53
- # June gross payments
54
- attr_accessor :june
55
-
56
- # July gross payments
57
- attr_accessor :july
58
-
59
- # August gross payments
60
- attr_accessor :august
61
-
62
- # September gross payments
63
- attr_accessor :sept
64
-
65
- # October gross payments
66
- attr_accessor :october
67
-
68
- # November gross payments
69
- attr_accessor :november
70
-
71
- # December gross payments
72
- attr_accessor :december
73
-
74
- # Issuer Reference ID. One of `issuerReferenceId` or `issuerTin` is required.
75
- attr_accessor :issuer_reference_id
76
-
77
- # Issuer TIN. One of `issuerReferenceId` or `issuerTin` is required.
78
- attr_accessor :issuer_tin
79
-
80
- # Tax year
81
- attr_accessor :tax_year
82
-
83
- # Issuer ID
84
- attr_accessor :issuer_id
85
-
86
- # Reference ID
87
- attr_accessor :reference_id
88
-
89
- # Recipient Tax ID Number
90
- attr_accessor :recipient_tin
91
-
92
- # Recipient name
93
- attr_accessor :recipient_name
94
-
95
- # Type of TIN (Tax ID Number). Will be one of: * SSN * EIN * ITIN * ATIN
96
- attr_accessor :tin_type
97
-
98
- # Recipient second name
99
- attr_accessor :recipient_second_name
100
-
101
- # Address
102
- attr_accessor :address
103
-
104
- # Address line 2
105
- attr_accessor :address2
106
-
107
- # City
108
- attr_accessor :city
109
-
110
- # US state. Required if CountryCode is \"US\".
111
- attr_accessor :state
112
-
113
- # Zip/postal code
114
- attr_accessor :zip
115
-
116
- # Recipient email address
117
- attr_accessor :email
118
-
119
- # Account number
120
- attr_accessor :account_number
121
-
122
- # Office code
123
- attr_accessor :office_code
124
-
125
- # Foreign province
126
- attr_accessor :non_us_province
127
-
128
- # Country code, as defined at https://www.irs.gov/e-file-providers/country-codes
129
- attr_accessor :country_code
130
-
131
- # Boolean indicating that federal e-filing should be scheduled for this form
132
- attr_accessor :federal_e_file
133
-
134
- # Boolean indicating that postal mailing to the recipient should be scheduled for this form
135
- attr_accessor :postal_mail
136
-
137
- # Boolean indicating that state e-filing should be scheduled for this form
138
- attr_accessor :state_e_file
139
-
140
- # Boolean indicating that TIN Matching should be scheduled for this form
141
- attr_accessor :tin_match
142
-
143
- # Indicates whether the recipient has no TIN
144
- attr_accessor :no_tin
145
-
146
- # Second TIN notice in three years
147
- attr_accessor :second_tin_notice
148
-
149
- # Fatca filing requirement
150
- attr_accessor :fatca_filing_requirement
151
-
152
- # Boolean indicating that address verification should be scheduled for this form
153
- attr_accessor :address_verification
154
-
155
- # State and local withholding information
156
- attr_accessor :state_and_local_withholding
157
-
158
- class EnumAttributeValidator
159
- attr_reader :datatype
160
- attr_reader :allowable_values
161
-
162
- def initialize(datatype, allowable_values)
163
- @allowable_values = allowable_values.map do |value|
164
- case datatype.to_s
165
- when /Integer/i
166
- value.to_i
167
- when /Float/i
168
- value.to_f
169
- else
170
- value
171
- end
172
- end
173
- end
174
-
175
- def valid?(value)
176
- !value || allowable_values.include?(value)
177
- end
178
- end
179
-
180
- # Attribute mapping from ruby-style variable name to JSON key.
181
- def self.attribute_map
182
- {
183
- :'filer_type' => :'filerType',
184
- :'payment_type' => :'paymentType',
185
- :'payment_settlement_entity_name_phone_number' => :'paymentSettlementEntityNamePhoneNumber',
186
- :'gross_amount_payment_card' => :'grossAmountPaymentCard',
187
- :'card_not_present_transactions' => :'cardNotPresentTransactions',
188
- :'merchant_category_code' => :'merchantCategoryCode',
189
- :'payment_transaction_number' => :'paymentTransactionNumber',
190
- :'federal_income_tax_withheld' => :'federalIncomeTaxWithheld',
191
- :'january' => :'january',
192
- :'february' => :'february',
193
- :'march' => :'march',
194
- :'april' => :'april',
195
- :'may' => :'may',
196
- :'june' => :'june',
197
- :'july' => :'july',
198
- :'august' => :'august',
199
- :'sept' => :'sept',
200
- :'october' => :'october',
201
- :'november' => :'november',
202
- :'december' => :'december',
203
- :'issuer_reference_id' => :'issuerReferenceId',
204
- :'issuer_tin' => :'issuerTin',
205
- :'tax_year' => :'taxYear',
206
- :'issuer_id' => :'issuerId',
207
- :'reference_id' => :'referenceId',
208
- :'recipient_tin' => :'recipientTin',
209
- :'recipient_name' => :'recipientName',
210
- :'tin_type' => :'tinType',
211
- :'recipient_second_name' => :'recipientSecondName',
212
- :'address' => :'address',
213
- :'address2' => :'address2',
214
- :'city' => :'city',
215
- :'state' => :'state',
216
- :'zip' => :'zip',
217
- :'email' => :'email',
218
- :'account_number' => :'accountNumber',
219
- :'office_code' => :'officeCode',
220
- :'non_us_province' => :'nonUsProvince',
221
- :'country_code' => :'countryCode',
222
- :'federal_e_file' => :'federalEFile',
223
- :'postal_mail' => :'postalMail',
224
- :'state_e_file' => :'stateEFile',
225
- :'tin_match' => :'tinMatch',
226
- :'no_tin' => :'noTin',
227
- :'second_tin_notice' => :'secondTinNotice',
228
- :'fatca_filing_requirement' => :'fatcaFilingRequirement',
229
- :'address_verification' => :'addressVerification',
230
- :'state_and_local_withholding' => :'stateAndLocalWithholding'
231
- }
232
- end
233
-
234
- # Returns all the JSON keys this model knows about
235
- def self.acceptable_attributes
236
- attribute_map.values
237
- end
238
-
239
- # Attribute type mapping.
240
- def self.openapi_types
241
- {
242
- :'filer_type' => :'String',
243
- :'payment_type' => :'String',
244
- :'payment_settlement_entity_name_phone_number' => :'String',
245
- :'gross_amount_payment_card' => :'Float',
246
- :'card_not_present_transactions' => :'Float',
247
- :'merchant_category_code' => :'String',
248
- :'payment_transaction_number' => :'Float',
249
- :'federal_income_tax_withheld' => :'Float',
250
- :'january' => :'Float',
251
- :'february' => :'Float',
252
- :'march' => :'Float',
253
- :'april' => :'Float',
254
- :'may' => :'Float',
255
- :'june' => :'Float',
256
- :'july' => :'Float',
257
- :'august' => :'Float',
258
- :'sept' => :'Float',
259
- :'october' => :'Float',
260
- :'november' => :'Float',
261
- :'december' => :'Float',
262
- :'issuer_reference_id' => :'String',
263
- :'issuer_tin' => :'String',
264
- :'tax_year' => :'Integer',
265
- :'issuer_id' => :'String',
266
- :'reference_id' => :'String',
267
- :'recipient_tin' => :'String',
268
- :'recipient_name' => :'String',
269
- :'tin_type' => :'String',
270
- :'recipient_second_name' => :'String',
271
- :'address' => :'String',
272
- :'address2' => :'String',
273
- :'city' => :'String',
274
- :'state' => :'String',
275
- :'zip' => :'String',
276
- :'email' => :'String',
277
- :'account_number' => :'String',
278
- :'office_code' => :'String',
279
- :'non_us_province' => :'String',
280
- :'country_code' => :'String',
281
- :'federal_e_file' => :'Boolean',
282
- :'postal_mail' => :'Boolean',
283
- :'state_e_file' => :'Boolean',
284
- :'tin_match' => :'Boolean',
285
- :'no_tin' => :'Boolean',
286
- :'second_tin_notice' => :'Boolean',
287
- :'fatca_filing_requirement' => :'Boolean',
288
- :'address_verification' => :'Boolean',
289
- :'state_and_local_withholding' => :'StateAndLocalWithholdingRequest'
290
- }
291
- end
292
-
293
- # List of attributes with nullable: true
294
- def self.openapi_nullable
295
- Set.new([
296
- :'payment_settlement_entity_name_phone_number',
297
- :'card_not_present_transactions',
298
- :'merchant_category_code',
299
- :'federal_income_tax_withheld',
300
- :'january',
301
- :'february',
302
- :'march',
303
- :'april',
304
- :'may',
305
- :'june',
306
- :'july',
307
- :'august',
308
- :'sept',
309
- :'october',
310
- :'november',
311
- :'december',
312
- :'issuer_reference_id',
313
- :'issuer_tin',
314
- :'issuer_id',
315
- :'reference_id',
316
- :'recipient_tin',
317
- :'recipient_name',
318
- :'recipient_second_name',
319
- :'address',
320
- :'address2',
321
- :'city',
322
- :'state',
323
- :'zip',
324
- :'email',
325
- :'account_number',
326
- :'office_code',
327
- :'non_us_province',
328
- :'country_code',
329
- :'second_tin_notice',
330
- :'state_and_local_withholding'
331
- ])
332
- end
333
-
334
- # List of class defined in allOf (OpenAPI v3)
335
- def self.openapi_all_of
336
- [
337
- :'FormRequestListItemBase'
338
- ]
339
- end
340
-
341
- # Initializes the object
342
- # @param [Hash] attributes Model attributes in the form of hash
343
- def initialize(attributes = {})
344
- if (!attributes.is_a?(Hash))
345
- fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1099KListItem` initialize method"
346
- end
347
-
348
- # check to see if the attribute exists and convert string to symbol for hash key
349
- attributes = attributes.each_with_object({}) { |(k, v), h|
350
- if (!self.class.attribute_map.key?(k.to_sym))
351
- fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1099KListItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
352
- end
353
- h[k.to_sym] = v
354
- }
355
-
356
- if attributes.key?(:'filer_type')
357
- self.filer_type = attributes[:'filer_type']
358
- end
359
-
360
- if attributes.key?(:'payment_type')
361
- self.payment_type = attributes[:'payment_type']
362
- end
363
-
364
- if attributes.key?(:'payment_settlement_entity_name_phone_number')
365
- self.payment_settlement_entity_name_phone_number = attributes[:'payment_settlement_entity_name_phone_number']
366
- end
367
-
368
- if attributes.key?(:'gross_amount_payment_card')
369
- self.gross_amount_payment_card = attributes[:'gross_amount_payment_card']
370
- end
371
-
372
- if attributes.key?(:'card_not_present_transactions')
373
- self.card_not_present_transactions = attributes[:'card_not_present_transactions']
374
- end
375
-
376
- if attributes.key?(:'merchant_category_code')
377
- self.merchant_category_code = attributes[:'merchant_category_code']
378
- end
379
-
380
- if attributes.key?(:'payment_transaction_number')
381
- self.payment_transaction_number = attributes[:'payment_transaction_number']
382
- end
383
-
384
- if attributes.key?(:'federal_income_tax_withheld')
385
- self.federal_income_tax_withheld = attributes[:'federal_income_tax_withheld']
386
- end
387
-
388
- if attributes.key?(:'january')
389
- self.january = attributes[:'january']
390
- end
391
-
392
- if attributes.key?(:'february')
393
- self.february = attributes[:'february']
394
- end
395
-
396
- if attributes.key?(:'march')
397
- self.march = attributes[:'march']
398
- end
399
-
400
- if attributes.key?(:'april')
401
- self.april = attributes[:'april']
402
- end
403
-
404
- if attributes.key?(:'may')
405
- self.may = attributes[:'may']
406
- end
407
-
408
- if attributes.key?(:'june')
409
- self.june = attributes[:'june']
410
- end
411
-
412
- if attributes.key?(:'july')
413
- self.july = attributes[:'july']
414
- end
415
-
416
- if attributes.key?(:'august')
417
- self.august = attributes[:'august']
418
- end
419
-
420
- if attributes.key?(:'sept')
421
- self.sept = attributes[:'sept']
422
- end
423
-
424
- if attributes.key?(:'october')
425
- self.october = attributes[:'october']
426
- end
427
-
428
- if attributes.key?(:'november')
429
- self.november = attributes[:'november']
430
- end
431
-
432
- if attributes.key?(:'december')
433
- self.december = attributes[:'december']
434
- end
435
-
436
- if attributes.key?(:'issuer_reference_id')
437
- self.issuer_reference_id = attributes[:'issuer_reference_id']
438
- end
439
-
440
- if attributes.key?(:'issuer_tin')
441
- self.issuer_tin = attributes[:'issuer_tin']
442
- end
443
-
444
- if attributes.key?(:'tax_year')
445
- self.tax_year = attributes[:'tax_year']
446
- else
447
- self.tax_year = nil
448
- end
449
-
450
- if attributes.key?(:'issuer_id')
451
- self.issuer_id = attributes[:'issuer_id']
452
- end
453
-
454
- if attributes.key?(:'reference_id')
455
- self.reference_id = attributes[:'reference_id']
456
- end
457
-
458
- if attributes.key?(:'recipient_tin')
459
- self.recipient_tin = attributes[:'recipient_tin']
460
- end
461
-
462
- if attributes.key?(:'recipient_name')
463
- self.recipient_name = attributes[:'recipient_name']
464
- end
465
-
466
- if attributes.key?(:'tin_type')
467
- self.tin_type = attributes[:'tin_type']
468
- end
469
-
470
- if attributes.key?(:'recipient_second_name')
471
- self.recipient_second_name = attributes[:'recipient_second_name']
472
- end
473
-
474
- if attributes.key?(:'address')
475
- self.address = attributes[:'address']
476
- end
477
-
478
- if attributes.key?(:'address2')
479
- self.address2 = attributes[:'address2']
480
- end
481
-
482
- if attributes.key?(:'city')
483
- self.city = attributes[:'city']
484
- end
485
-
486
- if attributes.key?(:'state')
487
- self.state = attributes[:'state']
488
- end
489
-
490
- if attributes.key?(:'zip')
491
- self.zip = attributes[:'zip']
492
- end
493
-
494
- if attributes.key?(:'email')
495
- self.email = attributes[:'email']
496
- end
497
-
498
- if attributes.key?(:'account_number')
499
- self.account_number = attributes[:'account_number']
500
- end
501
-
502
- if attributes.key?(:'office_code')
503
- self.office_code = attributes[:'office_code']
504
- end
505
-
506
- if attributes.key?(:'non_us_province')
507
- self.non_us_province = attributes[:'non_us_province']
508
- end
509
-
510
- if attributes.key?(:'country_code')
511
- self.country_code = attributes[:'country_code']
512
- end
513
-
514
- if attributes.key?(:'federal_e_file')
515
- self.federal_e_file = attributes[:'federal_e_file']
516
- end
517
-
518
- if attributes.key?(:'postal_mail')
519
- self.postal_mail = attributes[:'postal_mail']
520
- end
521
-
522
- if attributes.key?(:'state_e_file')
523
- self.state_e_file = attributes[:'state_e_file']
524
- end
525
-
526
- if attributes.key?(:'tin_match')
527
- self.tin_match = attributes[:'tin_match']
528
- end
529
-
530
- if attributes.key?(:'no_tin')
531
- self.no_tin = attributes[:'no_tin']
532
- end
533
-
534
- if attributes.key?(:'second_tin_notice')
535
- self.second_tin_notice = attributes[:'second_tin_notice']
536
- end
537
-
538
- if attributes.key?(:'fatca_filing_requirement')
539
- self.fatca_filing_requirement = attributes[:'fatca_filing_requirement']
540
- end
541
-
542
- if attributes.key?(:'address_verification')
543
- self.address_verification = attributes[:'address_verification']
544
- end
545
-
546
- if attributes.key?(:'state_and_local_withholding')
547
- self.state_and_local_withholding = attributes[:'state_and_local_withholding']
548
- end
549
- end
550
-
551
- # Show invalid properties with the reasons. Usually used together with valid?
552
- # @return Array for valid properties with the reasons
553
- def list_invalid_properties
554
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
555
- invalid_properties = Array.new
556
- if @tax_year.nil?
557
- invalid_properties.push('invalid value for "tax_year", tax_year cannot be nil.')
558
- end
559
-
560
- invalid_properties
561
- end
562
-
563
- # Check to see if the all the properties in the model are valid
564
- # @return true if the model is valid
565
- def valid?
566
- warn '[DEPRECATED] the `valid?` method is obsolete'
567
- filer_type_validator = EnumAttributeValidator.new('String', ["PSE", "EPF", "Other"])
568
- return false unless filer_type_validator.valid?(@filer_type)
569
- payment_type_validator = EnumAttributeValidator.new('String', ["MerchantPaymentCard", "ThirdPartyNetwork"])
570
- return false unless payment_type_validator.valid?(@payment_type)
571
- return false if @tax_year.nil?
572
- tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
573
- return false unless tin_type_validator.valid?(@tin_type)
574
- true
575
- end
576
-
577
- # Custom attribute writer method checking allowed values (enum).
578
- # @param [Object] filer_type Object to be assigned
579
- def filer_type=(filer_type)
580
- validator = EnumAttributeValidator.new('String', ["PSE", "EPF", "Other"])
581
- unless validator.valid?(filer_type)
582
- fail ArgumentError, "invalid value for \"filer_type\", must be one of #{validator.allowable_values}."
583
- end
584
- @filer_type = filer_type
585
- end
586
-
587
- # Custom attribute writer method checking allowed values (enum).
588
- # @param [Object] payment_type Object to be assigned
589
- def payment_type=(payment_type)
590
- validator = EnumAttributeValidator.new('String', ["MerchantPaymentCard", "ThirdPartyNetwork"])
591
- unless validator.valid?(payment_type)
592
- fail ArgumentError, "invalid value for \"payment_type\", must be one of #{validator.allowable_values}."
593
- end
594
- @payment_type = payment_type
595
- end
596
-
597
- # Custom attribute writer method checking allowed values (enum).
598
- # @param [Object] tin_type Object to be assigned
599
- def tin_type=(tin_type)
600
- validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
601
- unless validator.valid?(tin_type)
602
- fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
603
- end
604
- @tin_type = tin_type
605
- end
606
-
607
- # Checks equality by comparing each attribute.
608
- # @param [Object] Object to be compared
609
- def ==(o)
610
- return true if self.equal?(o)
611
- self.class == o.class &&
612
- filer_type == o.filer_type &&
613
- payment_type == o.payment_type &&
614
- payment_settlement_entity_name_phone_number == o.payment_settlement_entity_name_phone_number &&
615
- gross_amount_payment_card == o.gross_amount_payment_card &&
616
- card_not_present_transactions == o.card_not_present_transactions &&
617
- merchant_category_code == o.merchant_category_code &&
618
- payment_transaction_number == o.payment_transaction_number &&
619
- federal_income_tax_withheld == o.federal_income_tax_withheld &&
620
- january == o.january &&
621
- february == o.february &&
622
- march == o.march &&
623
- april == o.april &&
624
- may == o.may &&
625
- june == o.june &&
626
- july == o.july &&
627
- august == o.august &&
628
- sept == o.sept &&
629
- october == o.october &&
630
- november == o.november &&
631
- december == o.december &&
632
- issuer_reference_id == o.issuer_reference_id &&
633
- issuer_tin == o.issuer_tin &&
634
- tax_year == o.tax_year &&
635
- issuer_id == o.issuer_id &&
636
- reference_id == o.reference_id &&
637
- recipient_tin == o.recipient_tin &&
638
- recipient_name == o.recipient_name &&
639
- tin_type == o.tin_type &&
640
- recipient_second_name == o.recipient_second_name &&
641
- address == o.address &&
642
- address2 == o.address2 &&
643
- city == o.city &&
644
- state == o.state &&
645
- zip == o.zip &&
646
- email == o.email &&
647
- account_number == o.account_number &&
648
- office_code == o.office_code &&
649
- non_us_province == o.non_us_province &&
650
- country_code == o.country_code &&
651
- federal_e_file == o.federal_e_file &&
652
- postal_mail == o.postal_mail &&
653
- state_e_file == o.state_e_file &&
654
- tin_match == o.tin_match &&
655
- no_tin == o.no_tin &&
656
- second_tin_notice == o.second_tin_notice &&
657
- fatca_filing_requirement == o.fatca_filing_requirement &&
658
- address_verification == o.address_verification &&
659
- state_and_local_withholding == o.state_and_local_withholding
660
- end
661
-
662
- # @see the `==` method
663
- # @param [Object] Object to be compared
664
- def eql?(o)
665
- self == o
666
- end
667
-
668
- # Calculates hash code according to all attributes.
669
- # @return [Integer] Hash code
670
- def hash
671
- [filer_type, payment_type, payment_settlement_entity_name_phone_number, gross_amount_payment_card, card_not_present_transactions, merchant_category_code, payment_transaction_number, federal_income_tax_withheld, january, february, march, april, may, june, july, august, sept, october, november, december, issuer_reference_id, issuer_tin, tax_year, issuer_id, reference_id, recipient_tin, recipient_name, tin_type, recipient_second_name, address, address2, city, state, zip, email, account_number, office_code, non_us_province, country_code, federal_e_file, postal_mail, state_e_file, tin_match, no_tin, second_tin_notice, fatca_filing_requirement, address_verification, state_and_local_withholding].hash
672
- end
673
-
674
- # Builds the object from hash
675
- # @param [Hash] attributes Model attributes in the form of hash
676
- # @return [Object] Returns the model itself
677
- def self.build_from_hash(attributes)
678
- return nil unless attributes.is_a?(Hash)
679
- attributes = attributes.transform_keys(&:to_sym)
680
- transformed_hash = {}
681
- openapi_types.each_pair do |key, type|
682
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
683
- transformed_hash["#{key}"] = nil
684
- elsif type =~ /\AArray<(.*)>/i
685
- # check to ensure the input is an array given that the attribute
686
- # is documented as an array but the input is not
687
- if attributes[attribute_map[key]].is_a?(Array)
688
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
689
- end
690
- elsif !attributes[attribute_map[key]].nil?
691
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
692
- end
693
- end
694
- new(transformed_hash)
695
- end
696
-
697
- # Deserializes the data based on type
698
- # @param string type Data type
699
- # @param string value Value to be deserialized
700
- # @return [Object] Deserialized data
701
- def self._deserialize(type, value)
702
- case type.to_sym
703
- when :Time
704
- Time.parse(value)
705
- when :Date
706
- Date.parse(value)
707
- when :String
708
- value.to_s
709
- when :Integer
710
- value.to_i
711
- when :Float
712
- value.to_f
713
- when :Boolean
714
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
715
- true
716
- else
717
- false
718
- end
719
- when :Object
720
- # generic object (usually a Hash), return directly
721
- value
722
- when /\AArray<(?<inner_type>.+)>\z/
723
- inner_type = Regexp.last_match[:inner_type]
724
- value.map { |v| _deserialize(inner_type, v) }
725
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
726
- k_type = Regexp.last_match[:k_type]
727
- v_type = Regexp.last_match[:v_type]
728
- {}.tap do |hash|
729
- value.each do |k, v|
730
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
731
- end
732
- end
733
- else # model
734
- # models (e.g. Pet) or oneOf
735
- klass = AvalaraSdk::A1099::V2.const_get(type)
736
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
737
- end
738
- end
739
-
740
- # Returns the string representation of the object
741
- # @return [String] String presentation of the object
742
- def to_s
743
- to_hash.to_s
744
- end
745
-
746
- # to_body is an alias to to_hash (backward compatibility)
747
- # @return [Hash] Returns the object in the form of hash
748
- def to_body
749
- to_hash
750
- end
751
-
752
- # Returns the object in the form of hash
753
- # @return [Hash] Returns the object in the form of hash
754
- def to_hash
755
- hash = {}
756
- self.class.attribute_map.each_pair do |attr, param|
757
- value = self.send(attr)
758
- if value.nil?
759
- is_nullable = self.class.openapi_nullable.include?(attr)
760
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
761
- end
762
-
763
- hash[param] = _to_hash(value)
764
- end
765
- hash
766
- end
767
-
768
- # Outputs non-array value in the form of hash
769
- # For object, use to_hash. Otherwise, just return the value
770
- # @param [Object] value Any valid value
771
- # @return [Hash] Returns the value in the form of hash
772
- def _to_hash(value)
773
- if value.is_a?(Array)
774
- value.compact.map { |v| _to_hash(v) }
775
- elsif value.is_a?(Hash)
776
- {}.tap do |hash|
777
- value.each { |k, v| hash[k] = _to_hash(v) }
778
- end
779
- elsif value.respond_to? :to_hash
780
- value.to_hash
781
- else
782
- value
783
- end
784
- end
785
-
786
- end
787
-
788
- end