bf_ruby2 1.2016.229

Sign up to get free protection for your applications and to get access to all the features.
Files changed (886) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +824 -0
  4. data/bf_ruby2-1.0.0.gem +0 -0
  5. data/bf_ruby2.gemspec +55 -0
  6. data/docs/APIConfigurationPagedMetadata.md +14 -0
  7. data/docs/APIQuote.md +36 -0
  8. data/docs/APIQuotePagedMetadata.md +14 -0
  9. data/docs/APIQuoteResponseQuantity.md +25 -0
  10. data/docs/Account.md +21 -0
  11. data/docs/AccountLTVResultPagedMetadata.md +14 -0
  12. data/docs/AccountPagedMetadata.md +14 -0
  13. data/docs/AccountPaymentsResultPagedMetadata.md +14 -0
  14. data/docs/AccountsApi.md +1021 -0
  15. data/docs/AddChargeRequest.md +23 -0
  16. data/docs/AddCouponCodeRequest.md +11 -0
  17. data/docs/AddPaymentMethodRequest.md +8 -0
  18. data/docs/AddTaxationStrategyRequest.md +11 -0
  19. data/docs/Address.md +23 -0
  20. data/docs/AddressPagedMetadata.md +14 -0
  21. data/docs/AddressesApi.md +104 -0
  22. data/docs/AggregatingComponent.md +17 -0
  23. data/docs/Amendment.md +19 -0
  24. data/docs/AmendmentDiscardAmendment.md +20 -0
  25. data/docs/AmendmentPagedMetadata.md +14 -0
  26. data/docs/AmendmentPriceNTimePagedMetadata.md +14 -0
  27. data/docs/AmendmentsApi.md +639 -0
  28. data/docs/AnalyticsApi.md +641 -0
  29. data/docs/AuditEntry.md +17 -0
  30. data/docs/AuditEntryPagedMetadata.md +14 -0
  31. data/docs/AuditlogsApi.md +308 -0
  32. data/docs/AuthCaptureRequest.md +17 -0
  33. data/docs/AuthorizeNetTokenPagedMetadata.md +14 -0
  34. data/docs/BFError.md +11 -0
  35. data/docs/BFPermission.md +17 -0
  36. data/docs/BFPermissionPagedMetadata.md +14 -0
  37. data/docs/BankAccountVerificationPagedMetadata.md +14 -0
  38. data/docs/BillforwardManagedPaymentsResultPagedMetadata.md +14 -0
  39. data/docs/BillingEntityBase.md +8 -0
  40. data/docs/BraintreeAuthCaptureRequest.md +19 -0
  41. data/docs/BraintreeCaptureRequest.md +20 -0
  42. data/docs/BraintreeTokenPagedMetadata.md +14 -0
  43. data/docs/CancelSubscriptionRequest.md +14 -0
  44. data/docs/CancellationAmendment.md +24 -0
  45. data/docs/CassChurnResultPagedMetadata.md +14 -0
  46. data/docs/CassPaymentResultPagedMetadata.md +14 -0
  47. data/docs/CassUpgradeResultPagedMetadata.md +14 -0
  48. data/docs/ChargesApi.md +408 -0
  49. data/docs/Client.md +21 -0
  50. data/docs/ClientPagedMetadata.md +14 -0
  51. data/docs/ClientsApi.md +215 -0
  52. data/docs/ComponentChange.md +20 -0
  53. data/docs/ComponentCost.md +9 -0
  54. data/docs/CompoundUsage.md +11 -0
  55. data/docs/CompoundUsageSession.md +11 -0
  56. data/docs/ConfigurationsApi.md +221 -0
  57. data/docs/Coupon.md +32 -0
  58. data/docs/CouponBook.md +21 -0
  59. data/docs/CouponBookDefinition.md +24 -0
  60. data/docs/CouponBookDefinitionPagedMetadata.md +14 -0
  61. data/docs/CouponBookPagedMetadata.md +14 -0
  62. data/docs/CouponDefinition.md +26 -0
  63. data/docs/CouponDefinitionPagedMetadata.md +14 -0
  64. data/docs/CouponDiscount.md +18 -0
  65. data/docs/CouponDiscountEstimate.md +13 -0
  66. data/docs/CouponInstance.md +26 -0
  67. data/docs/CouponInstanceExistingValue.md +15 -0
  68. data/docs/CouponInstancePagedMetadata.md +14 -0
  69. data/docs/CouponModifierBase.md +22 -0
  70. data/docs/CouponModifierBasePagedMetadata.md +14 -0
  71. data/docs/CouponPagedMetadata.md +14 -0
  72. data/docs/CouponRule.md +24 -0
  73. data/docs/CouponRulePagedMetadata.md +14 -0
  74. data/docs/CouponUniqueCodesRequest.md +11 -0
  75. data/docs/CouponUniqueCodesResponse.md +10 -0
  76. data/docs/CouponUniqueCodesResponsePagedMetadata.md +14 -0
  77. data/docs/CouponWrapperResponse.md +13 -0
  78. data/docs/CouponbookApi.md +496 -0
  79. data/docs/CouponbookdefinitionApi.md +329 -0
  80. data/docs/CoupondefinitionApi.md +267 -0
  81. data/docs/CouponinstanceApi.md +578 -0
  82. data/docs/CouponmodifierApi.md +369 -0
  83. data/docs/CouponruleApi.md +269 -0
  84. data/docs/CouponsApi.md +456 -0
  85. data/docs/CreateAccountProfileRequest.md +20 -0
  86. data/docs/CreateAccountRequest.md +13 -0
  87. data/docs/CreateAddressRequest.md +17 -0
  88. data/docs/CreateAggregatingComponentRequest.md +10 -0
  89. data/docs/CreateAggregatingSubscriptionRequest.md +21 -0
  90. data/docs/CreateProfileAddressRequest.md +16 -0
  91. data/docs/CreateSubscriptionBatchRequest.md +10 -0
  92. data/docs/CreateSubscriptionChargeAmendment.md +29 -0
  93. data/docs/CreateSubscriptionRequest.md +26 -0
  94. data/docs/CreditAccountRequest.md +13 -0
  95. data/docs/CreditNote.md +21 -0
  96. data/docs/CreditNotePagedMetadata.md +14 -0
  97. data/docs/CreditSubscriptionRequest.md +12 -0
  98. data/docs/CreditnotesApi.md +339 -0
  99. data/docs/CybersourceTokenPagedMetadata.md +14 -0
  100. data/docs/CybersourcetokensApi.md +259 -0
  101. data/docs/DataSynchronisationAppConfigurationPagedMetadata.md +14 -0
  102. data/docs/DataSynchronisationConfiguration.md +20 -0
  103. data/docs/DataSynchronisationConfigurationPagedMetadata.md +14 -0
  104. data/docs/DataSynchronizationJobPagedMetadata.md +14 -0
  105. data/docs/DebtsResultPagedMetadata.md +14 -0
  106. data/docs/DunningLine.md +18 -0
  107. data/docs/DunningLinePagedMetadata.md +14 -0
  108. data/docs/DunninglinesApi.md +328 -0
  109. data/docs/DynamicMetadata.md +7 -0
  110. data/docs/Email.md +35 -0
  111. data/docs/EmailPagedMetadata.md +14 -0
  112. data/docs/EmailProvider.md +18 -0
  113. data/docs/EmailProviderPagedMetadata.md +14 -0
  114. data/docs/EmailSubscription.md +20 -0
  115. data/docs/EmailSubscriptionPagedMetadata.md +14 -0
  116. data/docs/EmailprovidersApi.md +221 -0
  117. data/docs/EmailsApi.md +164 -0
  118. data/docs/EmailsubscriptionsApi.md +273 -0
  119. data/docs/EndTrialAmendment.md +19 -0
  120. data/docs/Event.md +15 -0
  121. data/docs/EventData.md +9 -0
  122. data/docs/FileSham.md +7 -0
  123. data/docs/FixedTerm.md +24 -0
  124. data/docs/FixedTermDefinitionPagedMetadata.md +14 -0
  125. data/docs/FixedTermExpiryAmendment.md +20 -0
  126. data/docs/FixedTermPagedMetadata.md +14 -0
  127. data/docs/FixedtermdefinitionsApi.md +104 -0
  128. data/docs/FixedtermsApi.md +56 -0
  129. data/docs/FlatPricingComponent.md +32 -0
  130. data/docs/ImportInvoiceLine.md +16 -0
  131. data/docs/InsertableBillingEntity.md +21 -0
  132. data/docs/Invoice.md +54 -0
  133. data/docs/InvoiceChargeRequest.md +11 -0
  134. data/docs/InvoiceLine.md +38 -0
  135. data/docs/InvoiceLinePayment.md +36 -0
  136. data/docs/InvoiceLinePaymentPagedMetadata.md +14 -0
  137. data/docs/InvoiceNextExecutionAttemptAmendment.md +21 -0
  138. data/docs/InvoiceOutstandingChargesAmendment.md +20 -0
  139. data/docs/InvoicePagedMetadata.md +14 -0
  140. data/docs/InvoicePayment.md +22 -0
  141. data/docs/InvoiceRecalculationAmendment.md +23 -0
  142. data/docs/InvoiceRecalculationRequest.md +12 -0
  143. data/docs/InvoicesApi.md +2474 -0
  144. data/docs/IssueInvoiceAmendment.md +20 -0
  145. data/docs/MetadataApi.md +210 -0
  146. data/docs/MetadataKeyValuesPagedMetadata.md +14 -0
  147. data/docs/MigrationRequest.md +16 -0
  148. data/docs/ModelAlias.md +14 -0
  149. data/docs/MutableBillingEntity.md +27 -0
  150. data/docs/Notification.md +27 -0
  151. data/docs/NotificationPagedMetadata.md +14 -0
  152. data/docs/NotificationsApi.md +370 -0
  153. data/docs/Organization.md +21 -0
  154. data/docs/OrganizationPagedMetadata.md +14 -0
  155. data/docs/OrganizationsApi.md +378 -0
  156. data/docs/Password.md +14 -0
  157. data/docs/PasswordPagedMetadata.md +14 -0
  158. data/docs/PasswordResetRequest.md +8 -0
  159. data/docs/PasswordsApi.md +56 -0
  160. data/docs/PauseRequest.md +9 -0
  161. data/docs/Payment.md +24 -0
  162. data/docs/PaymentMethod.md +32 -0
  163. data/docs/PaymentMethodPagedMetadata.md +14 -0
  164. data/docs/PaymentMethodSubscriptionLink.md +17 -0
  165. data/docs/PaymentMethodSubscriptionLinkPagedMetadata.md +14 -0
  166. data/docs/PaymentPagedMetadata.md +14 -0
  167. data/docs/PaymentRetryRequest.md +9 -0
  168. data/docs/PaymentmethodsApi.md +445 -0
  169. data/docs/PaymentmethodsubscriptionlinksApi.md +107 -0
  170. data/docs/PaymentsApi.md +464 -0
  171. data/docs/PendingComponentValueChange.md +11 -0
  172. data/docs/Period.md +16 -0
  173. data/docs/PeriodPagedMetadata.md +14 -0
  174. data/docs/PeriodsApi.md +125 -0
  175. data/docs/PermissionActionEntityPagedMetadata.md +14 -0
  176. data/docs/PermissionResourceEntityPagedMetadata.md +14 -0
  177. data/docs/PermissionsApi.md +322 -0
  178. data/docs/PriceCalculationPagedMetadata.md +14 -0
  179. data/docs/PricingComponent.md +32 -0
  180. data/docs/PricingComponentCouponModifier.md +22 -0
  181. data/docs/PricingComponentMigrationValue.md +12 -0
  182. data/docs/PricingComponentPagedMetadata.md +14 -0
  183. data/docs/PricingComponentQuantityRequest.md +10 -0
  184. data/docs/PricingComponentTier.md +19 -0
  185. data/docs/PricingComponentTierPagedMetadata.md +14 -0
  186. data/docs/PricingComponentValue.md +20 -0
  187. data/docs/PricingComponentValueChangeAmendment.md +22 -0
  188. data/docs/PricingComponentValueChangePagedMetadata.md +14 -0
  189. data/docs/PricingComponentValueMigrationAmendmentMapping.md +16 -0
  190. data/docs/PricingComponentValuePagedMetadata.md +14 -0
  191. data/docs/PricingComponentValueRequest.md +12 -0
  192. data/docs/PricingComponentValueResponsePagedMetadata.md +14 -0
  193. data/docs/PricingcalculatorApi.md +152 -0
  194. data/docs/PricingcomponentsApi.md +339 -0
  195. data/docs/PricingcomponenttiersApi.md +281 -0
  196. data/docs/PricingcomponentvaluechangesApi.md +345 -0
  197. data/docs/PricingcomponentvaluesApi.md +287 -0
  198. data/docs/Product.md +25 -0
  199. data/docs/ProductCouponModifier.md +22 -0
  200. data/docs/ProductPagedMetadata.md +14 -0
  201. data/docs/ProductPaymentsResultPagedMetadata.md +14 -0
  202. data/docs/ProductRatePlan.md +39 -0
  203. data/docs/ProductRatePlanMigrationAmendment.md +27 -0
  204. data/docs/ProductRatePlanPagedMetadata.md +14 -0
  205. data/docs/ProductRatePlanPaymentsResultPagedMetadata.md +14 -0
  206. data/docs/ProductrateplansApi.md +786 -0
  207. data/docs/ProductsApi.md +493 -0
  208. data/docs/Profile.md +25 -0
  209. data/docs/ProfilePagedMetadata.md +14 -0
  210. data/docs/ProfilesApi.md +287 -0
  211. data/docs/QuoteRequest.md +24 -0
  212. data/docs/QuoteRequestValue.md +11 -0
  213. data/docs/QuotesApi.md +56 -0
  214. data/docs/RecalculateChargeRequest.md +15 -0
  215. data/docs/Receipt.md +36 -0
  216. data/docs/ReceiptPagedMetadata.md +14 -0
  217. data/docs/ReceiptsApi.md +421 -0
  218. data/docs/Refund.md +35 -0
  219. data/docs/RefundPagedMetadata.md +14 -0
  220. data/docs/RefundsApi.md +432 -0
  221. data/docs/ResumeRequest.md +10 -0
  222. data/docs/ResumeSubscriptionAmendment.md +19 -0
  223. data/docs/RevenueAttribution.md +31 -0
  224. data/docs/RevenueAttributionPagedMetadata.md +14 -0
  225. data/docs/ReviveSubscriptionRequest.md +8 -0
  226. data/docs/Role.md +19 -0
  227. data/docs/RolePagedMetadata.md +14 -0
  228. data/docs/RolesApi.md +327 -0
  229. data/docs/RuleSatisfaction.md +11 -0
  230. data/docs/SearchApi.md +70 -0
  231. data/docs/SearchResultPagedMetadata.md +14 -0
  232. data/docs/ServiceEndAmendment.md +19 -0
  233. data/docs/StripeACHTokenPagedMetadata.md +14 -0
  234. data/docs/StripeAuthCaptureRequest.md +20 -0
  235. data/docs/StripeObject.md +7 -0
  236. data/docs/StripeTokenPagedMetadata.md +14 -0
  237. data/docs/Subscription.md +47 -0
  238. data/docs/SubscriptionCancellationPagedMetadata.md +14 -0
  239. data/docs/SubscriptionCharge.md +32 -0
  240. data/docs/SubscriptionChargePagedMetadata.md +14 -0
  241. data/docs/SubscriptionLTVResultPagedMetadata.md +14 -0
  242. data/docs/SubscriptionPagedMetadata.md +14 -0
  243. data/docs/SubscriptionsApi.md +2841 -0
  244. data/docs/SwaggerTypeList.md +9 -0
  245. data/docs/SwaggerTypeListInv.md +8 -0
  246. data/docs/SwaggerTypeListSubs.md +9 -0
  247. data/docs/SynchAppConfigsApi.md +208 -0
  248. data/docs/SynchConfigsApi.md +317 -0
  249. data/docs/SynchJobsApi.md +421 -0
  250. data/docs/TaxationLinkPagedMetadata.md +14 -0
  251. data/docs/TaxationStrategyPagedMetadata.md +14 -0
  252. data/docs/TaxationlinksApi.md +339 -0
  253. data/docs/TaxationstrategiesApi.md +514 -0
  254. data/docs/TieredPricingComponent.md +32 -0
  255. data/docs/TieredVolumePricingComponent.md +32 -0
  256. data/docs/TimeApi.md +56 -0
  257. data/docs/TimeRequest.md +16 -0
  258. data/docs/TimeResponse.md +18 -0
  259. data/docs/TimeResponsePagedMetadata.md +14 -0
  260. data/docs/TimeZone.md +11 -0
  261. data/docs/TimerAmendment.md +26 -0
  262. data/docs/TokenizationApi.md +340 -0
  263. data/docs/TokenizationPreAuthPagedMetadata.md +14 -0
  264. data/docs/TrustCommerceTokenPagedMetadata.md +14 -0
  265. data/docs/UnitDiscount.md +11 -0
  266. data/docs/UnitOfMeasure.md +16 -0
  267. data/docs/UnitOfMeasureCouponModifier.md +22 -0
  268. data/docs/UnitOfMeasurePagedMetadata.md +14 -0
  269. data/docs/UnitofmeasureApi.md +215 -0
  270. data/docs/UpdateAddressRequest.md +18 -0
  271. data/docs/UpdateComponentValueAmendment.md +23 -0
  272. data/docs/UpdateProfileRequest.md +22 -0
  273. data/docs/UpdateRoleRequest.md +13 -0
  274. data/docs/UpdateSubscriptionRequest.md +16 -0
  275. data/docs/Usage.md +26 -0
  276. data/docs/UsageApi.md +296 -0
  277. data/docs/UsagePagedMetadata.md +14 -0
  278. data/docs/UsagePeriodPagedMetadata.md +14 -0
  279. data/docs/UsageRoundingStrategyPagedMetadata.md +14 -0
  280. data/docs/UsageSession.md +21 -0
  281. data/docs/UsageSessionPagedMetadata.md +14 -0
  282. data/docs/UsageperiodsApi.md +194 -0
  283. data/docs/UsageroundingstrategiesApi.md +228 -0
  284. data/docs/UsagesessionsApi.md +224 -0
  285. data/docs/User.md +21 -0
  286. data/docs/UserCreationRequest.md +17 -0
  287. data/docs/UserCreationResponsePagedMetadata.md +14 -0
  288. data/docs/UserPagedMetadata.md +14 -0
  289. data/docs/Username.md +13 -0
  290. data/docs/UsernamePagedMetadata.md +14 -0
  291. data/docs/UsernamesApi.md +56 -0
  292. data/docs/UsersApi.md +564 -0
  293. data/docs/VaultedgatewaysApi.md +648 -0
  294. data/docs/WebhookPagedMetadata.md +14 -0
  295. data/docs/WebhooksApi.md +366 -0
  296. data/git_push.sh +67 -0
  297. data/lib/bf_ruby2/api/accounts_api.rb +1257 -0
  298. data/lib/bf_ruby2/api/addresses_api.rb +148 -0
  299. data/lib/bf_ruby2/api/amendments_api.rb +819 -0
  300. data/lib/bf_ruby2/api/analytics_api.rb +815 -0
  301. data/lib/bf_ruby2/api/auditlogs_api.rb +410 -0
  302. data/lib/bf_ruby2/api/charges_api.rb +527 -0
  303. data/lib/bf_ruby2/api/clients_api.rb +282 -0
  304. data/lib/bf_ruby2/api/configurations_api.rb +298 -0
  305. data/lib/bf_ruby2/api/couponbook_api.rb +619 -0
  306. data/lib/bf_ruby2/api/couponbookdefinition_api.rb +420 -0
  307. data/lib/bf_ruby2/api/coupondefinition_api.rb +342 -0
  308. data/lib/bf_ruby2/api/couponinstance_api.rb +737 -0
  309. data/lib/bf_ruby2/api/couponmodifier_api.rb +456 -0
  310. data/lib/bf_ruby2/api/couponrule_api.rb +342 -0
  311. data/lib/bf_ruby2/api/coupons_api.rb +580 -0
  312. data/lib/bf_ruby2/api/creditnotes_api.rb +438 -0
  313. data/lib/bf_ruby2/api/cybersourcetokens_api.rb +330 -0
  314. data/lib/bf_ruby2/api/dunninglines_api.rb +422 -0
  315. data/lib/bf_ruby2/api/emailproviders_api.rb +288 -0
  316. data/lib/bf_ruby2/api/emails_api.rb +214 -0
  317. data/lib/bf_ruby2/api/emailsubscriptions_api.rb +364 -0
  318. data/lib/bf_ruby2/api/fixedtermdefinitions_api.rb +148 -0
  319. data/lib/bf_ruby2/api/fixedterms_api.rb +91 -0
  320. data/lib/bf_ruby2/api/invoices_api.rb +3066 -0
  321. data/lib/bf_ruby2/api/metadata_api.rb +266 -0
  322. data/lib/bf_ruby2/api/notifications_api.rb +480 -0
  323. data/lib/bf_ruby2/api/organizations_api.rb +476 -0
  324. data/lib/bf_ruby2/api/passwords_api.rb +91 -0
  325. data/lib/bf_ruby2/api/paymentmethods_api.rb +565 -0
  326. data/lib/bf_ruby2/api/paymentmethodsubscriptionlinks_api.rb +153 -0
  327. data/lib/bf_ruby2/api/payments_api.rb +601 -0
  328. data/lib/bf_ruby2/api/periods_api.rb +180 -0
  329. data/lib/bf_ruby2/api/permissions_api.rb +408 -0
  330. data/lib/bf_ruby2/api/pricingcalculator_api.rb +205 -0
  331. data/lib/bf_ruby2/api/pricingcomponents_api.rb +438 -0
  332. data/lib/bf_ruby2/api/pricingcomponenttiers_api.rb +369 -0
  333. data/lib/bf_ruby2/api/pricingcomponentvaluechanges_api.rb +447 -0
  334. data/lib/bf_ruby2/api/pricingcomponentvalues_api.rb +378 -0
  335. data/lib/bf_ruby2/api/productrateplans_api.rb +971 -0
  336. data/lib/bf_ruby2/api/products_api.rb +611 -0
  337. data/lib/bf_ruby2/api/profiles_api.rb +375 -0
  338. data/lib/bf_ruby2/api/quotes_api.rb +91 -0
  339. data/lib/bf_ruby2/api/receipts_api.rb +559 -0
  340. data/lib/bf_ruby2/api/refunds_api.rb +540 -0
  341. data/lib/bf_ruby2/api/roles_api.rb +421 -0
  342. data/lib/bf_ruby2/api/search_api.rb +109 -0
  343. data/lib/bf_ruby2/api/subscriptions_api.rb +3490 -0
  344. data/lib/bf_ruby2/api/synch_app_configs_api.rb +272 -0
  345. data/lib/bf_ruby2/api/synch_configs_api.rb +403 -0
  346. data/lib/bf_ruby2/api/synch_jobs_api.rb +535 -0
  347. data/lib/bf_ruby2/api/taxationlinks_api.rb +438 -0
  348. data/lib/bf_ruby2/api/taxationstrategies_api.rb +660 -0
  349. data/lib/bf_ruby2/api/time_api.rb +91 -0
  350. data/lib/bf_ruby2/api/tokenization_api.rb +431 -0
  351. data/lib/bf_ruby2/api/unitofmeasure_api.rb +282 -0
  352. data/lib/bf_ruby2/api/usage_api.rb +389 -0
  353. data/lib/bf_ruby2/api/usageperiods_api.rb +267 -0
  354. data/lib/bf_ruby2/api/usageroundingstrategies_api.rb +304 -0
  355. data/lib/bf_ruby2/api/usagesessions_api.rb +298 -0
  356. data/lib/bf_ruby2/api/usernames_api.rb +91 -0
  357. data/lib/bf_ruby2/api/users_api.rb +692 -0
  358. data/lib/bf_ruby2/api/vaultedgateways_api.rb +787 -0
  359. data/lib/bf_ruby2/api/webhooks_api.rb +461 -0
  360. data/lib/bf_ruby2/api_client.rb +378 -0
  361. data/lib/bf_ruby2/api_error.rb +47 -0
  362. data/lib/bf_ruby2/configuration.rb +207 -0
  363. data/lib/bf_ruby2/models/account.rb +335 -0
  364. data/lib/bf_ruby2/models/account_ltv_result_paged_metadata.rb +269 -0
  365. data/lib/bf_ruby2/models/account_paged_metadata.rb +269 -0
  366. data/lib/bf_ruby2/models/account_payments_result_paged_metadata.rb +269 -0
  367. data/lib/bf_ruby2/models/add_charge_request.rb +414 -0
  368. data/lib/bf_ruby2/models/add_coupon_code_request.rb +231 -0
  369. data/lib/bf_ruby2/models/add_payment_method_request.rb +200 -0
  370. data/lib/bf_ruby2/models/add_taxation_strategy_request.rb +230 -0
  371. data/lib/bf_ruby2/models/address.rb +359 -0
  372. data/lib/bf_ruby2/models/address_paged_metadata.rb +269 -0
  373. data/lib/bf_ruby2/models/aggregating_component.rb +294 -0
  374. data/lib/bf_ruby2/models/amendment.rb +374 -0
  375. data/lib/bf_ruby2/models/amendment_discard_amendment.rb +385 -0
  376. data/lib/bf_ruby2/models/amendment_paged_metadata.rb +269 -0
  377. data/lib/bf_ruby2/models/amendment_price_n_time_paged_metadata.rb +269 -0
  378. data/lib/bf_ruby2/models/api_configuration_paged_metadata.rb +269 -0
  379. data/lib/bf_ruby2/models/api_quote.rb +525 -0
  380. data/lib/bf_ruby2/models/api_quote_paged_metadata.rb +269 -0
  381. data/lib/bf_ruby2/models/api_quote_response_quantity.rb +405 -0
  382. data/lib/bf_ruby2/models/audit_entry.rb +359 -0
  383. data/lib/bf_ruby2/models/audit_entry_paged_metadata.rb +269 -0
  384. data/lib/bf_ruby2/models/auth_capture_request.rb +337 -0
  385. data/lib/bf_ruby2/models/authorize_net_token_paged_metadata.rb +269 -0
  386. data/lib/bf_ruby2/models/bank_account_verification_paged_metadata.rb +269 -0
  387. data/lib/bf_ruby2/models/bf_error.rb +265 -0
  388. data/lib/bf_ruby2/models/bf_permission.rb +337 -0
  389. data/lib/bf_ruby2/models/bf_permission_paged_metadata.rb +269 -0
  390. data/lib/bf_ruby2/models/billforward_managed_payments_result_paged_metadata.rb +269 -0
  391. data/lib/bf_ruby2/models/billing_entity_base.rb +200 -0
  392. data/lib/bf_ruby2/models/braintree_auth_capture_request.rb +358 -0
  393. data/lib/bf_ruby2/models/braintree_capture_request.rb +327 -0
  394. data/lib/bf_ruby2/models/braintree_token_paged_metadata.rb +269 -0
  395. data/lib/bf_ruby2/models/cancel_subscription_request.rb +301 -0
  396. data/lib/bf_ruby2/models/cancellation_amendment.rb +451 -0
  397. data/lib/bf_ruby2/models/cass_churn_result_paged_metadata.rb +269 -0
  398. data/lib/bf_ruby2/models/cass_payment_result_paged_metadata.rb +269 -0
  399. data/lib/bf_ruby2/models/cass_upgrade_result_paged_metadata.rb +269 -0
  400. data/lib/bf_ruby2/models/client.rb +342 -0
  401. data/lib/bf_ruby2/models/client_paged_metadata.rb +269 -0
  402. data/lib/bf_ruby2/models/component_change.rb +373 -0
  403. data/lib/bf_ruby2/models/component_cost.rb +208 -0
  404. data/lib/bf_ruby2/models/compound_usage.rb +234 -0
  405. data/lib/bf_ruby2/models/compound_usage_session.rb +233 -0
  406. data/lib/bf_ruby2/models/coupon.rb +484 -0
  407. data/lib/bf_ruby2/models/coupon_book.rb +342 -0
  408. data/lib/bf_ruby2/models/coupon_book_definition.rb +417 -0
  409. data/lib/bf_ruby2/models/coupon_book_definition_paged_metadata.rb +269 -0
  410. data/lib/bf_ruby2/models/coupon_book_paged_metadata.rb +269 -0
  411. data/lib/bf_ruby2/models/coupon_definition.rb +454 -0
  412. data/lib/bf_ruby2/models/coupon_definition_paged_metadata.rb +269 -0
  413. data/lib/bf_ruby2/models/coupon_discount.rb +298 -0
  414. data/lib/bf_ruby2/models/coupon_discount_estimate.rb +258 -0
  415. data/lib/bf_ruby2/models/coupon_instance.rb +426 -0
  416. data/lib/bf_ruby2/models/coupon_instance_existing_value.rb +272 -0
  417. data/lib/bf_ruby2/models/coupon_instance_paged_metadata.rb +269 -0
  418. data/lib/bf_ruby2/models/coupon_modifier_base.rb +410 -0
  419. data/lib/bf_ruby2/models/coupon_modifier_base_paged_metadata.rb +269 -0
  420. data/lib/bf_ruby2/models/coupon_paged_metadata.rb +269 -0
  421. data/lib/bf_ruby2/models/coupon_rule.rb +470 -0
  422. data/lib/bf_ruby2/models/coupon_rule_paged_metadata.rb +269 -0
  423. data/lib/bf_ruby2/models/coupon_unique_codes_request.rb +232 -0
  424. data/lib/bf_ruby2/models/coupon_unique_codes_response.rb +219 -0
  425. data/lib/bf_ruby2/models/coupon_unique_codes_response_paged_metadata.rb +269 -0
  426. data/lib/bf_ruby2/models/coupon_wrapper_response.rb +250 -0
  427. data/lib/bf_ruby2/models/create_account_profile_request.rb +323 -0
  428. data/lib/bf_ruby2/models/create_account_request.rb +248 -0
  429. data/lib/bf_ruby2/models/create_address_request.rb +298 -0
  430. data/lib/bf_ruby2/models/create_aggregating_component_request.rb +221 -0
  431. data/lib/bf_ruby2/models/create_aggregating_subscription_request.rb +393 -0
  432. data/lib/bf_ruby2/models/create_profile_address_request.rb +287 -0
  433. data/lib/bf_ruby2/models/create_subscription_batch_request.rb +222 -0
  434. data/lib/bf_ruby2/models/create_subscription_charge_amendment.rb +514 -0
  435. data/lib/bf_ruby2/models/create_subscription_request.rb +444 -0
  436. data/lib/bf_ruby2/models/credit_account_request.rb +252 -0
  437. data/lib/bf_ruby2/models/credit_note.rb +368 -0
  438. data/lib/bf_ruby2/models/credit_note_paged_metadata.rb +269 -0
  439. data/lib/bf_ruby2/models/credit_subscription_request.rb +241 -0
  440. data/lib/bf_ruby2/models/cybersource_token_paged_metadata.rb +269 -0
  441. data/lib/bf_ruby2/models/data_synchronisation_app_configuration_paged_metadata.rb +269 -0
  442. data/lib/bf_ruby2/models/data_synchronisation_configuration.rb +362 -0
  443. data/lib/bf_ruby2/models/data_synchronisation_configuration_paged_metadata.rb +269 -0
  444. data/lib/bf_ruby2/models/data_synchronization_job_paged_metadata.rb +269 -0
  445. data/lib/bf_ruby2/models/debts_result_paged_metadata.rb +269 -0
  446. data/lib/bf_ruby2/models/dunning_line.rb +354 -0
  447. data/lib/bf_ruby2/models/dunning_line_paged_metadata.rb +269 -0
  448. data/lib/bf_ruby2/models/dynamic_metadata.rb +190 -0
  449. data/lib/bf_ruby2/models/email.rb +518 -0
  450. data/lib/bf_ruby2/models/email_paged_metadata.rb +269 -0
  451. data/lib/bf_ruby2/models/email_provider.rb +302 -0
  452. data/lib/bf_ruby2/models/email_provider_paged_metadata.rb +269 -0
  453. data/lib/bf_ruby2/models/email_subscription.rb +364 -0
  454. data/lib/bf_ruby2/models/email_subscription_paged_metadata.rb +269 -0
  455. data/lib/bf_ruby2/models/end_trial_amendment.rb +374 -0
  456. data/lib/bf_ruby2/models/event.rb +272 -0
  457. data/lib/bf_ruby2/models/event_data.rb +212 -0
  458. data/lib/bf_ruby2/models/file_sham.rb +190 -0
  459. data/lib/bf_ruby2/models/fixed_term.rb +419 -0
  460. data/lib/bf_ruby2/models/fixed_term_definition_paged_metadata.rb +269 -0
  461. data/lib/bf_ruby2/models/fixed_term_expiry_amendment.rb +385 -0
  462. data/lib/bf_ruby2/models/fixed_term_paged_metadata.rb +269 -0
  463. data/lib/bf_ruby2/models/flat_pricing_component.rb +546 -0
  464. data/lib/bf_ruby2/models/import_invoice_line.rb +271 -0
  465. data/lib/bf_ruby2/models/insertable_billing_entity.rb +384 -0
  466. data/lib/bf_ruby2/models/invoice.rb +746 -0
  467. data/lib/bf_ruby2/models/invoice_charge_request.rb +267 -0
  468. data/lib/bf_ruby2/models/invoice_line.rb +575 -0
  469. data/lib/bf_ruby2/models/invoice_line_payment.rb +539 -0
  470. data/lib/bf_ruby2/models/invoice_line_payment_paged_metadata.rb +269 -0
  471. data/lib/bf_ruby2/models/invoice_next_execution_attempt_amendment.rb +398 -0
  472. data/lib/bf_ruby2/models/invoice_outstanding_charges_amendment.rb +385 -0
  473. data/lib/bf_ruby2/models/invoice_paged_metadata.rb +269 -0
  474. data/lib/bf_ruby2/models/invoice_payment.rb +384 -0
  475. data/lib/bf_ruby2/models/invoice_recalculation_amendment.rb +444 -0
  476. data/lib/bf_ruby2/models/invoice_recalculation_request.rb +293 -0
  477. data/lib/bf_ruby2/models/issue_invoice_amendment.rb +385 -0
  478. data/lib/bf_ruby2/models/metadata_key_values_paged_metadata.rb +269 -0
  479. data/lib/bf_ruby2/models/migration_request.rb +332 -0
  480. data/lib/bf_ruby2/models/model_alias.rb +266 -0
  481. data/lib/bf_ruby2/models/mutable_billing_entity.rb +472 -0
  482. data/lib/bf_ruby2/models/notification.rb +472 -0
  483. data/lib/bf_ruby2/models/notification_paged_metadata.rb +269 -0
  484. data/lib/bf_ruby2/models/organization.rb +349 -0
  485. data/lib/bf_ruby2/models/organization_paged_metadata.rb +269 -0
  486. data/lib/bf_ruby2/models/password.rb +266 -0
  487. data/lib/bf_ruby2/models/password_paged_metadata.rb +269 -0
  488. data/lib/bf_ruby2/models/password_reset_request.rb +201 -0
  489. data/lib/bf_ruby2/models/pause_request.rb +210 -0
  490. data/lib/bf_ruby2/models/payment.rb +417 -0
  491. data/lib/bf_ruby2/models/payment_method.rb +487 -0
  492. data/lib/bf_ruby2/models/payment_method_paged_metadata.rb +269 -0
  493. data/lib/bf_ruby2/models/payment_method_subscription_link.rb +291 -0
  494. data/lib/bf_ruby2/models/payment_method_subscription_link_paged_metadata.rb +269 -0
  495. data/lib/bf_ruby2/models/payment_paged_metadata.rb +269 -0
  496. data/lib/bf_ruby2/models/payment_retry_request.rb +210 -0
  497. data/lib/bf_ruby2/models/pending_component_value_change.rb +226 -0
  498. data/lib/bf_ruby2/models/period.rb +330 -0
  499. data/lib/bf_ruby2/models/period_paged_metadata.rb +269 -0
  500. data/lib/bf_ruby2/models/permission_action_entity_paged_metadata.rb +269 -0
  501. data/lib/bf_ruby2/models/permission_resource_entity_paged_metadata.rb +269 -0
  502. data/lib/bf_ruby2/models/price_calculation_paged_metadata.rb +269 -0
  503. data/lib/bf_ruby2/models/pricing_component.rb +546 -0
  504. data/lib/bf_ruby2/models/pricing_component_coupon_modifier.rb +410 -0
  505. data/lib/bf_ruby2/models/pricing_component_migration_value.rb +242 -0
  506. data/lib/bf_ruby2/models/pricing_component_paged_metadata.rb +269 -0
  507. data/lib/bf_ruby2/models/pricing_component_quantity_request.rb +220 -0
  508. data/lib/bf_ruby2/models/pricing_component_tier.rb +346 -0
  509. data/lib/bf_ruby2/models/pricing_component_tier_paged_metadata.rb +269 -0
  510. data/lib/bf_ruby2/models/pricing_component_value.rb +323 -0
  511. data/lib/bf_ruby2/models/pricing_component_value_change_amendment.rb +419 -0
  512. data/lib/bf_ruby2/models/pricing_component_value_change_paged_metadata.rb +269 -0
  513. data/lib/bf_ruby2/models/pricing_component_value_migration_amendment_mapping.rb +283 -0
  514. data/lib/bf_ruby2/models/pricing_component_value_paged_metadata.rb +269 -0
  515. data/lib/bf_ruby2/models/pricing_component_value_request.rb +288 -0
  516. data/lib/bf_ruby2/models/pricing_component_value_response_paged_metadata.rb +269 -0
  517. data/lib/bf_ruby2/models/product.rb +435 -0
  518. data/lib/bf_ruby2/models/product_coupon_modifier.rb +410 -0
  519. data/lib/bf_ruby2/models/product_paged_metadata.rb +269 -0
  520. data/lib/bf_ruby2/models/product_payments_result_paged_metadata.rb +269 -0
  521. data/lib/bf_ruby2/models/product_rate_plan.rb +658 -0
  522. data/lib/bf_ruby2/models/product_rate_plan_migration_amendment.rb +483 -0
  523. data/lib/bf_ruby2/models/product_rate_plan_paged_metadata.rb +269 -0
  524. data/lib/bf_ruby2/models/product_rate_plan_payments_result_paged_metadata.rb +269 -0
  525. data/lib/bf_ruby2/models/profile.rb +378 -0
  526. data/lib/bf_ruby2/models/profile_paged_metadata.rb +269 -0
  527. data/lib/bf_ruby2/models/quote_request.rb +431 -0
  528. data/lib/bf_ruby2/models/quote_request_value.rb +232 -0
  529. data/lib/bf_ruby2/models/recalculate_charge_request.rb +318 -0
  530. data/lib/bf_ruby2/models/receipt.rb +535 -0
  531. data/lib/bf_ruby2/models/receipt_paged_metadata.rb +269 -0
  532. data/lib/bf_ruby2/models/refund.rb +535 -0
  533. data/lib/bf_ruby2/models/refund_paged_metadata.rb +269 -0
  534. data/lib/bf_ruby2/models/resume_request.rb +222 -0
  535. data/lib/bf_ruby2/models/resume_subscription_amendment.rb +374 -0
  536. data/lib/bf_ruby2/models/revenue_attribution.rb +451 -0
  537. data/lib/bf_ruby2/models/revenue_attribution_paged_metadata.rb +269 -0
  538. data/lib/bf_ruby2/models/revive_subscription_request.rb +200 -0
  539. data/lib/bf_ruby2/models/role.rb +318 -0
  540. data/lib/bf_ruby2/models/role_paged_metadata.rb +269 -0
  541. data/lib/bf_ruby2/models/rule_satisfaction.rb +234 -0
  542. data/lib/bf_ruby2/models/search_result_paged_metadata.rb +269 -0
  543. data/lib/bf_ruby2/models/service_end_amendment.rb +374 -0
  544. data/lib/bf_ruby2/models/stripe_ach_token_paged_metadata.rb +269 -0
  545. data/lib/bf_ruby2/models/stripe_auth_capture_request.rb +367 -0
  546. data/lib/bf_ruby2/models/stripe_object.rb +190 -0
  547. data/lib/bf_ruby2/models/stripe_token_paged_metadata.rb +269 -0
  548. data/lib/bf_ruby2/models/subscription.rb +681 -0
  549. data/lib/bf_ruby2/models/subscription_cancellation_paged_metadata.rb +269 -0
  550. data/lib/bf_ruby2/models/subscription_charge.rb +529 -0
  551. data/lib/bf_ruby2/models/subscription_charge_paged_metadata.rb +269 -0
  552. data/lib/bf_ruby2/models/subscription_ltv_result_paged_metadata.rb +269 -0
  553. data/lib/bf_ruby2/models/subscription_paged_metadata.rb +269 -0
  554. data/lib/bf_ruby2/models/swagger_type_list.rb +210 -0
  555. data/lib/bf_ruby2/models/swagger_type_list_inv.rb +201 -0
  556. data/lib/bf_ruby2/models/swagger_type_list_subs.rb +212 -0
  557. data/lib/bf_ruby2/models/taxation_link_paged_metadata.rb +269 -0
  558. data/lib/bf_ruby2/models/taxation_strategy_paged_metadata.rb +269 -0
  559. data/lib/bf_ruby2/models/tiered_pricing_component.rb +546 -0
  560. data/lib/bf_ruby2/models/tiered_volume_pricing_component.rb +546 -0
  561. data/lib/bf_ruby2/models/time_request.rb +323 -0
  562. data/lib/bf_ruby2/models/time_response.rb +345 -0
  563. data/lib/bf_ruby2/models/time_response_paged_metadata.rb +269 -0
  564. data/lib/bf_ruby2/models/time_zone.rb +226 -0
  565. data/lib/bf_ruby2/models/timer_amendment.rb +485 -0
  566. data/lib/bf_ruby2/models/tokenization_pre_auth_paged_metadata.rb +269 -0
  567. data/lib/bf_ruby2/models/trust_commerce_token_paged_metadata.rb +269 -0
  568. data/lib/bf_ruby2/models/unit_discount.rb +226 -0
  569. data/lib/bf_ruby2/models/unit_of_measure.rb +286 -0
  570. data/lib/bf_ruby2/models/unit_of_measure_coupon_modifier.rb +410 -0
  571. data/lib/bf_ruby2/models/unit_of_measure_paged_metadata.rb +269 -0
  572. data/lib/bf_ruby2/models/update_address_request.rb +303 -0
  573. data/lib/bf_ruby2/models/update_component_value_amendment.rb +418 -0
  574. data/lib/bf_ruby2/models/update_profile_request.rb +342 -0
  575. data/lib/bf_ruby2/models/update_role_request.rb +253 -0
  576. data/lib/bf_ruby2/models/update_subscription_request.rb +328 -0
  577. data/lib/bf_ruby2/models/usage.rb +423 -0
  578. data/lib/bf_ruby2/models/usage_paged_metadata.rb +269 -0
  579. data/lib/bf_ruby2/models/usage_period_paged_metadata.rb +269 -0
  580. data/lib/bf_ruby2/models/usage_rounding_strategy_paged_metadata.rb +269 -0
  581. data/lib/bf_ruby2/models/usage_session.rb +368 -0
  582. data/lib/bf_ruby2/models/usage_session_paged_metadata.rb +269 -0
  583. data/lib/bf_ruby2/models/user.rb +352 -0
  584. data/lib/bf_ruby2/models/user_creation_request.rb +302 -0
  585. data/lib/bf_ruby2/models/user_creation_response_paged_metadata.rb +269 -0
  586. data/lib/bf_ruby2/models/user_paged_metadata.rb +269 -0
  587. data/lib/bf_ruby2/models/username.rb +253 -0
  588. data/lib/bf_ruby2/models/username_paged_metadata.rb +269 -0
  589. data/lib/bf_ruby2/models/webhook_paged_metadata.rb +269 -0
  590. data/lib/bf_ruby2/version.rb +26 -0
  591. data/lib/bf_ruby2.rb +340 -0
  592. data/setup.scratch.rb +33 -0
  593. data/spec/api/accounts_api_spec.rb +318 -0
  594. data/spec/api/addresses_api_spec.rb +70 -0
  595. data/spec/api/amendments_api_spec.rb +220 -0
  596. data/spec/api/analytics_api_spec.rb +220 -0
  597. data/spec/api/auditlogs_api_spec.rb +131 -0
  598. data/spec/api/charges_api_spec.rb +156 -0
  599. data/spec/api/clients_api_spec.rb +100 -0
  600. data/spec/api/configurations_api_spec.rb +103 -0
  601. data/spec/api/couponbook_api_spec.rb +175 -0
  602. data/spec/api/couponbookdefinition_api_spec.rb +131 -0
  603. data/spec/api/coupondefinition_api_spec.rb +113 -0
  604. data/spec/api/couponinstance_api_spec.rb +203 -0
  605. data/spec/api/couponmodifier_api_spec.rb +138 -0
  606. data/spec/api/couponrule_api_spec.rb +113 -0
  607. data/spec/api/coupons_api_spec.rb +168 -0
  608. data/spec/api/creditnotes_api_spec.rb +135 -0
  609. data/spec/api/cybersourcetokens_api_spec.rb +109 -0
  610. data/spec/api/dunninglines_api_spec.rb +131 -0
  611. data/spec/api/emailproviders_api_spec.rb +102 -0
  612. data/spec/api/emails_api_spec.rb +85 -0
  613. data/spec/api/emailsubscriptions_api_spec.rb +115 -0
  614. data/spec/api/fixedtermdefinitions_api_spec.rb +70 -0
  615. data/spec/api/fixedterms_api_spec.rb +58 -0
  616. data/spec/api/invoices_api_spec.rb +727 -0
  617. data/spec/api/metadata_api_spec.rb +96 -0
  618. data/spec/api/notifications_api_spec.rb +148 -0
  619. data/spec/api/organizations_api_spec.rb +143 -0
  620. data/spec/api/passwords_api_spec.rb +58 -0
  621. data/spec/api/paymentmethods_api_spec.rb +163 -0
  622. data/spec/api/paymentmethodsubscriptionlinks_api_spec.rb +71 -0
  623. data/spec/api/payments_api_spec.rb +172 -0
  624. data/spec/api/periods_api_spec.rb +79 -0
  625. data/spec/api/permissions_api_spec.rb +127 -0
  626. data/spec/api/pricingcalculator_api_spec.rb +82 -0
  627. data/spec/api/pricingcomponents_api_spec.rb +136 -0
  628. data/spec/api/pricingcomponenttiers_api_spec.rb +120 -0
  629. data/spec/api/pricingcomponentvaluechanges_api_spec.rb +138 -0
  630. data/spec/api/pricingcomponentvalues_api_spec.rb +123 -0
  631. data/spec/api/productrateplans_api_spec.rb +254 -0
  632. data/spec/api/products_api_spec.rb +173 -0
  633. data/spec/api/profiles_api_spec.rb +122 -0
  634. data/spec/api/quotes_api_spec.rb +58 -0
  635. data/spec/api/receipts_api_spec.rb +164 -0
  636. data/spec/api/refunds_api_spec.rb +156 -0
  637. data/spec/api/roles_api_spec.rb +129 -0
  638. data/spec/api/search_api_spec.rb +64 -0
  639. data/spec/api/subscriptions_api_spec.rb +809 -0
  640. data/spec/api/synch_app_configs_api_spec.rb +96 -0
  641. data/spec/api/synch_configs_api_spec.rb +125 -0
  642. data/spec/api/synch_jobs_api_spec.rb +151 -0
  643. data/spec/api/taxationlinks_api_spec.rb +136 -0
  644. data/spec/api/taxationstrategies_api_spec.rb +185 -0
  645. data/spec/api/time_api_spec.rb +58 -0
  646. data/spec/api/tokenization_api_spec.rb +138 -0
  647. data/spec/api/unitofmeasure_api_spec.rb +100 -0
  648. data/spec/api/usage_api_spec.rb +125 -0
  649. data/spec/api/usageperiods_api_spec.rb +99 -0
  650. data/spec/api/usageroundingstrategies_api_spec.rb +106 -0
  651. data/spec/api/usagesessions_api_spec.rb +104 -0
  652. data/spec/api/usernames_api_spec.rb +58 -0
  653. data/spec/api/users_api_spec.rb +187 -0
  654. data/spec/api/vaultedgateways_api_spec.rb +206 -0
  655. data/spec/api/webhooks_api_spec.rb +138 -0
  656. data/spec/api_client_spec.rb +237 -0
  657. data/spec/configuration_spec.rb +53 -0
  658. data/spec/models/account_ltv_result_paged_metadata_spec.rb +89 -0
  659. data/spec/models/account_paged_metadata_spec.rb +89 -0
  660. data/spec/models/account_payments_result_paged_metadata_spec.rb +89 -0
  661. data/spec/models/account_spec.rb +131 -0
  662. data/spec/models/add_charge_request_spec.rb +155 -0
  663. data/spec/models/add_coupon_code_request_spec.rb +71 -0
  664. data/spec/models/add_payment_method_request_spec.rb +53 -0
  665. data/spec/models/add_taxation_strategy_request_spec.rb +71 -0
  666. data/spec/models/address_paged_metadata_spec.rb +89 -0
  667. data/spec/models/address_spec.rb +143 -0
  668. data/spec/models/aggregating_component_spec.rb +107 -0
  669. data/spec/models/amendment_discard_amendment_spec.rb +137 -0
  670. data/spec/models/amendment_paged_metadata_spec.rb +89 -0
  671. data/spec/models/amendment_price_n_time_paged_metadata_spec.rb +89 -0
  672. data/spec/models/amendment_spec.rb +131 -0
  673. data/spec/models/api_configuration_paged_metadata_spec.rb +89 -0
  674. data/spec/models/api_quote_paged_metadata_spec.rb +89 -0
  675. data/spec/models/api_quote_response_quantity_spec.rb +159 -0
  676. data/spec/models/api_quote_spec.rb +225 -0
  677. data/spec/models/audit_entry_paged_metadata_spec.rb +89 -0
  678. data/spec/models/audit_entry_spec.rb +119 -0
  679. data/spec/models/auth_capture_request_spec.rb +115 -0
  680. data/spec/models/authorize_net_token_paged_metadata_spec.rb +89 -0
  681. data/spec/models/bank_account_verification_paged_metadata_spec.rb +89 -0
  682. data/spec/models/bf_error_spec.rb +75 -0
  683. data/spec/models/bf_permission_paged_metadata_spec.rb +89 -0
  684. data/spec/models/bf_permission_spec.rb +115 -0
  685. data/spec/models/billforward_managed_payments_result_paged_metadata_spec.rb +89 -0
  686. data/spec/models/billing_entity_base_spec.rb +53 -0
  687. data/spec/models/braintree_auth_capture_request_spec.rb +127 -0
  688. data/spec/models/braintree_capture_request_spec.rb +125 -0
  689. data/spec/models/braintree_token_paged_metadata_spec.rb +89 -0
  690. data/spec/models/cancel_subscription_request_spec.rb +97 -0
  691. data/spec/models/cancellation_amendment_spec.rb +169 -0
  692. data/spec/models/cass_churn_result_paged_metadata_spec.rb +89 -0
  693. data/spec/models/cass_payment_result_paged_metadata_spec.rb +89 -0
  694. data/spec/models/cass_upgrade_result_paged_metadata_spec.rb +89 -0
  695. data/spec/models/client_paged_metadata_spec.rb +89 -0
  696. data/spec/models/client_spec.rb +131 -0
  697. data/spec/models/component_change_spec.rb +133 -0
  698. data/spec/models/component_cost_spec.rb +59 -0
  699. data/spec/models/compound_usage_session_spec.rb +71 -0
  700. data/spec/models/compound_usage_spec.rb +71 -0
  701. data/spec/models/coupon_book_definition_paged_metadata_spec.rb +89 -0
  702. data/spec/models/coupon_book_definition_spec.rb +157 -0
  703. data/spec/models/coupon_book_paged_metadata_spec.rb +89 -0
  704. data/spec/models/coupon_book_spec.rb +131 -0
  705. data/spec/models/coupon_definition_paged_metadata_spec.rb +89 -0
  706. data/spec/models/coupon_definition_spec.rb +173 -0
  707. data/spec/models/coupon_discount_estimate_spec.rb +83 -0
  708. data/spec/models/coupon_discount_spec.rb +113 -0
  709. data/spec/models/coupon_instance_existing_value_spec.rb +95 -0
  710. data/spec/models/coupon_instance_paged_metadata_spec.rb +89 -0
  711. data/spec/models/coupon_instance_spec.rb +165 -0
  712. data/spec/models/coupon_modifier_base_paged_metadata_spec.rb +89 -0
  713. data/spec/models/coupon_modifier_base_spec.rb +149 -0
  714. data/spec/models/coupon_paged_metadata_spec.rb +89 -0
  715. data/spec/models/coupon_rule_paged_metadata_spec.rb +89 -0
  716. data/spec/models/coupon_rule_spec.rb +173 -0
  717. data/spec/models/coupon_spec.rb +201 -0
  718. data/spec/models/coupon_unique_codes_request_spec.rb +71 -0
  719. data/spec/models/coupon_unique_codes_response_paged_metadata_spec.rb +89 -0
  720. data/spec/models/coupon_unique_codes_response_spec.rb +65 -0
  721. data/spec/models/coupon_wrapper_response_spec.rb +83 -0
  722. data/spec/models/create_account_profile_request_spec.rb +125 -0
  723. data/spec/models/create_account_request_spec.rb +83 -0
  724. data/spec/models/create_address_request_spec.rb +107 -0
  725. data/spec/models/create_aggregating_component_request_spec.rb +65 -0
  726. data/spec/models/create_aggregating_subscription_request_spec.rb +143 -0
  727. data/spec/models/create_profile_address_request_spec.rb +101 -0
  728. data/spec/models/create_subscription_batch_request_spec.rb +65 -0
  729. data/spec/models/create_subscription_charge_amendment_spec.rb +203 -0
  730. data/spec/models/create_subscription_request_spec.rb +173 -0
  731. data/spec/models/credit_account_request_spec.rb +83 -0
  732. data/spec/models/credit_note_paged_metadata_spec.rb +89 -0
  733. data/spec/models/credit_note_spec.rb +135 -0
  734. data/spec/models/credit_subscription_request_spec.rb +77 -0
  735. data/spec/models/cybersource_token_paged_metadata_spec.rb +89 -0
  736. data/spec/models/data_synchronisation_app_configuration_paged_metadata_spec.rb +89 -0
  737. data/spec/models/data_synchronisation_configuration_paged_metadata_spec.rb +89 -0
  738. data/spec/models/data_synchronisation_configuration_spec.rb +129 -0
  739. data/spec/models/data_synchronization_job_paged_metadata_spec.rb +89 -0
  740. data/spec/models/debts_result_paged_metadata_spec.rb +89 -0
  741. data/spec/models/dunning_line_paged_metadata_spec.rb +89 -0
  742. data/spec/models/dunning_line_spec.rb +121 -0
  743. data/spec/models/dynamic_metadata_spec.rb +47 -0
  744. data/spec/models/email_paged_metadata_spec.rb +89 -0
  745. data/spec/models/email_provider_paged_metadata_spec.rb +89 -0
  746. data/spec/models/email_provider_spec.rb +113 -0
  747. data/spec/models/email_spec.rb +223 -0
  748. data/spec/models/email_subscription_paged_metadata_spec.rb +89 -0
  749. data/spec/models/email_subscription_spec.rb +133 -0
  750. data/spec/models/end_trial_amendment_spec.rb +131 -0
  751. data/spec/models/event_data_spec.rb +59 -0
  752. data/spec/models/event_spec.rb +95 -0
  753. data/spec/models/file_sham_spec.rb +47 -0
  754. data/spec/models/fixed_term_definition_paged_metadata_spec.rb +89 -0
  755. data/spec/models/fixed_term_expiry_amendment_spec.rb +137 -0
  756. data/spec/models/fixed_term_paged_metadata_spec.rb +89 -0
  757. data/spec/models/fixed_term_spec.rb +157 -0
  758. data/spec/models/flat_pricing_component_spec.rb +221 -0
  759. data/spec/models/import_invoice_line_spec.rb +101 -0
  760. data/spec/models/insertable_billing_entity_spec.rb +139 -0
  761. data/spec/models/invoice_charge_request_spec.rb +75 -0
  762. data/spec/models/invoice_line_payment_paged_metadata_spec.rb +89 -0
  763. data/spec/models/invoice_line_payment_spec.rb +225 -0
  764. data/spec/models/invoice_line_spec.rb +245 -0
  765. data/spec/models/invoice_next_execution_attempt_amendment_spec.rb +143 -0
  766. data/spec/models/invoice_outstanding_charges_amendment_spec.rb +137 -0
  767. data/spec/models/invoice_paged_metadata_spec.rb +89 -0
  768. data/spec/models/invoice_payment_spec.rb +141 -0
  769. data/spec/models/invoice_recalculation_amendment_spec.rb +163 -0
  770. data/spec/models/invoice_recalculation_request_spec.rb +85 -0
  771. data/spec/models/invoice_spec.rb +341 -0
  772. data/spec/models/issue_invoice_amendment_spec.rb +137 -0
  773. data/spec/models/metadata_key_values_paged_metadata_spec.rb +89 -0
  774. data/spec/models/migration_request_spec.rb +109 -0
  775. data/spec/models/model_alias_spec.rb +89 -0
  776. data/spec/models/mutable_billing_entity_spec.rb +183 -0
  777. data/spec/models/notification_paged_metadata_spec.rb +89 -0
  778. data/spec/models/notification_spec.rb +183 -0
  779. data/spec/models/organization_paged_metadata_spec.rb +89 -0
  780. data/spec/models/organization_spec.rb +131 -0
  781. data/spec/models/password_paged_metadata_spec.rb +89 -0
  782. data/spec/models/password_reset_request_spec.rb +53 -0
  783. data/spec/models/password_spec.rb +89 -0
  784. data/spec/models/pause_request_spec.rb +59 -0
  785. data/spec/models/payment_method_paged_metadata_spec.rb +89 -0
  786. data/spec/models/payment_method_spec.rb +205 -0
  787. data/spec/models/payment_method_subscription_link_paged_metadata_spec.rb +89 -0
  788. data/spec/models/payment_method_subscription_link_spec.rb +107 -0
  789. data/spec/models/payment_paged_metadata_spec.rb +89 -0
  790. data/spec/models/payment_retry_request_spec.rb +59 -0
  791. data/spec/models/payment_spec.rb +157 -0
  792. data/spec/models/pending_component_value_change_spec.rb +71 -0
  793. data/spec/models/period_paged_metadata_spec.rb +89 -0
  794. data/spec/models/period_spec.rb +109 -0
  795. data/spec/models/permission_action_entity_paged_metadata_spec.rb +89 -0
  796. data/spec/models/permission_resource_entity_paged_metadata_spec.rb +89 -0
  797. data/spec/models/price_calculation_paged_metadata_spec.rb +89 -0
  798. data/spec/models/pricing_component_coupon_modifier_spec.rb +149 -0
  799. data/spec/models/pricing_component_migration_value_spec.rb +77 -0
  800. data/spec/models/pricing_component_paged_metadata_spec.rb +89 -0
  801. data/spec/models/pricing_component_quantity_request_spec.rb +65 -0
  802. data/spec/models/pricing_component_spec.rb +221 -0
  803. data/spec/models/pricing_component_tier_paged_metadata_spec.rb +89 -0
  804. data/spec/models/pricing_component_tier_spec.rb +123 -0
  805. data/spec/models/pricing_component_value_change_amendment_spec.rb +153 -0
  806. data/spec/models/pricing_component_value_change_paged_metadata_spec.rb +89 -0
  807. data/spec/models/pricing_component_value_migration_amendment_mapping_spec.rb +101 -0
  808. data/spec/models/pricing_component_value_paged_metadata_spec.rb +89 -0
  809. data/spec/models/pricing_component_value_request_spec.rb +85 -0
  810. data/spec/models/pricing_component_value_response_paged_metadata_spec.rb +89 -0
  811. data/spec/models/pricing_component_value_spec.rb +125 -0
  812. data/spec/models/product_coupon_modifier_spec.rb +149 -0
  813. data/spec/models/product_paged_metadata_spec.rb +89 -0
  814. data/spec/models/product_payments_result_paged_metadata_spec.rb +89 -0
  815. data/spec/models/product_rate_plan_migration_amendment_spec.rb +187 -0
  816. data/spec/models/product_rate_plan_paged_metadata_spec.rb +89 -0
  817. data/spec/models/product_rate_plan_payments_result_paged_metadata_spec.rb +89 -0
  818. data/spec/models/product_rate_plan_spec.rb +275 -0
  819. data/spec/models/product_spec.rb +167 -0
  820. data/spec/models/profile_paged_metadata_spec.rb +89 -0
  821. data/spec/models/profile_spec.rb +155 -0
  822. data/spec/models/quote_request_spec.rb +161 -0
  823. data/spec/models/quote_request_value_spec.rb +71 -0
  824. data/spec/models/recalculate_charge_request_spec.rb +103 -0
  825. data/spec/models/receipt_paged_metadata_spec.rb +89 -0
  826. data/spec/models/receipt_spec.rb +237 -0
  827. data/spec/models/refund_paged_metadata_spec.rb +89 -0
  828. data/spec/models/refund_spec.rb +227 -0
  829. data/spec/models/resume_request_spec.rb +65 -0
  830. data/spec/models/resume_subscription_amendment_spec.rb +131 -0
  831. data/spec/models/revenue_attribution_paged_metadata_spec.rb +89 -0
  832. data/spec/models/revenue_attribution_spec.rb +191 -0
  833. data/spec/models/revive_subscription_request_spec.rb +53 -0
  834. data/spec/models/role_paged_metadata_spec.rb +89 -0
  835. data/spec/models/role_spec.rb +119 -0
  836. data/spec/models/rule_satisfaction_spec.rb +71 -0
  837. data/spec/models/search_result_paged_metadata_spec.rb +89 -0
  838. data/spec/models/service_end_amendment_spec.rb +131 -0
  839. data/spec/models/stripe_ach_token_paged_metadata_spec.rb +89 -0
  840. data/spec/models/stripe_auth_capture_request_spec.rb +133 -0
  841. data/spec/models/stripe_object_spec.rb +47 -0
  842. data/spec/models/stripe_token_paged_metadata_spec.rb +89 -0
  843. data/spec/models/subscription_cancellation_paged_metadata_spec.rb +89 -0
  844. data/spec/models/subscription_charge_paged_metadata_spec.rb +89 -0
  845. data/spec/models/subscription_charge_spec.rb +217 -0
  846. data/spec/models/subscription_ltv_result_paged_metadata_spec.rb +89 -0
  847. data/spec/models/subscription_paged_metadata_spec.rb +89 -0
  848. data/spec/models/subscription_spec.rb +303 -0
  849. data/spec/models/swagger_type_list_inv_spec.rb +53 -0
  850. data/spec/models/swagger_type_list_spec.rb +59 -0
  851. data/spec/models/swagger_type_list_subs_spec.rb +59 -0
  852. data/spec/models/taxation_link_paged_metadata_spec.rb +89 -0
  853. data/spec/models/taxation_strategy_paged_metadata_spec.rb +89 -0
  854. data/spec/models/tiered_pricing_component_spec.rb +221 -0
  855. data/spec/models/tiered_volume_pricing_component_spec.rb +221 -0
  856. data/spec/models/time_request_spec.rb +105 -0
  857. data/spec/models/time_response_paged_metadata_spec.rb +89 -0
  858. data/spec/models/time_response_spec.rb +117 -0
  859. data/spec/models/time_zone_spec.rb +71 -0
  860. data/spec/models/timer_amendment_spec.rb +189 -0
  861. data/spec/models/tokenization_pre_auth_paged_metadata_spec.rb +89 -0
  862. data/spec/models/trust_commerce_token_paged_metadata_spec.rb +89 -0
  863. data/spec/models/unit_discount_spec.rb +71 -0
  864. data/spec/models/unit_of_measure_coupon_modifier_spec.rb +149 -0
  865. data/spec/models/unit_of_measure_paged_metadata_spec.rb +89 -0
  866. data/spec/models/unit_of_measure_spec.rb +101 -0
  867. data/spec/models/update_address_request_spec.rb +113 -0
  868. data/spec/models/update_component_value_amendment_spec.rb +155 -0
  869. data/spec/models/update_profile_request_spec.rb +137 -0
  870. data/spec/models/update_role_request_spec.rb +83 -0
  871. data/spec/models/update_subscription_request_spec.rb +109 -0
  872. data/spec/models/usage_paged_metadata_spec.rb +89 -0
  873. data/spec/models/usage_period_paged_metadata_spec.rb +89 -0
  874. data/spec/models/usage_rounding_strategy_paged_metadata_spec.rb +89 -0
  875. data/spec/models/usage_session_paged_metadata_spec.rb +89 -0
  876. data/spec/models/usage_session_spec.rb +135 -0
  877. data/spec/models/usage_spec.rb +165 -0
  878. data/spec/models/user_creation_request_spec.rb +107 -0
  879. data/spec/models/user_creation_response_paged_metadata_spec.rb +89 -0
  880. data/spec/models/user_paged_metadata_spec.rb +89 -0
  881. data/spec/models/user_spec.rb +131 -0
  882. data/spec/models/username_paged_metadata_spec.rb +89 -0
  883. data/spec/models/username_spec.rb +83 -0
  884. data/spec/models/webhook_paged_metadata_spec.rb +89 -0
  885. data/spec/spec_helper.rb +122 -0
  886. metadata +1401 -0
@@ -0,0 +1,658 @@
1
+ =begin
2
+ #BillForward REST API
3
+
4
+ #No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ =end
23
+
24
+ require 'date'
25
+
26
+ module BillForward
27
+ # A rate plan describes a pricing system under which a subscription can be made to a product.
28
+ class ProductRatePlan
29
+ # { \"description\" : \"The UTC DateTime when the object was created.\", \"verbs\":[] }
30
+ attr_accessor :created
31
+
32
+ # { \"description\" : \"ID of the user who last updated the entity.\", \"verbs\":[] }
33
+ attr_accessor :changed_by
34
+
35
+ # { \"description\" : \"The UTC DateTime when the object was last updated.\", \"verbs\":[] }
36
+ attr_accessor :updated
37
+
38
+ # { \"description\" : \"Add metadata.\", \"verbs\":[\"POST\"] }
39
+ attr_accessor :metadata
40
+
41
+ # {\"description\":\"ID uniquely identifying this rate plan.\",\"verbs\":[\"GET\"]}
42
+ attr_accessor :id
43
+
44
+ # {\"description\":\"Customer-relationship-management ID of the rate plan.\",\"verbs\":[\"GET\",\"PUT\",\"POST\"]}
45
+ attr_accessor :crm_id
46
+
47
+ # {\"description\":\"ID of the product to which this rate plan belongs. A product is essentially a collection of rate plans, and describes the service conferred to a customer upon subscription to any of said product's rate plans. The product serves also as a template from which its rate plans can infer default attributes.\",\"verbs\":[\"POST\",\"GET\"]}
48
+ attr_accessor :product_id
49
+
50
+ # {\"description\":\"The currency of the product-rate-plan — as specified by a three-character ISO 4217 currency code (i.e. USD).\",\"verbs\":[\"POST\",\"GET\"]}
51
+ attr_accessor :currency
52
+
53
+ # {\"default\":\"inclusive\",\"description\":\"The tax status of the product-rate-plan &mdash; either inclusive or exclusive.<br><span class=\\\"label label-default\\\">exclusive</span>pricing indicates that the cost of the Pricing Components do not include tax; when BillForward generates an Invoice, the tax will be calculated with this price as a base. <br>Tax-<span class=\\\"label label-default\\\">inclusive</span>pricing indicates that the Pricing components include Tax. BillForward will still calculate tax on each invoice. Tax will be calculated from the sales price.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
54
+ attr_accessor :tax_status
55
+
56
+ # {\"default\":\"None\",\"description\":\"The action that should be taken, should an invoice for some subscription to this rate plan remain unpaid despite the dunning period's being exceeded.<br><span class=\\\"label label-default\\\">CancelSubscription</span> &mdash; Demotes the subscription to the `Failed` state as soon as the dunning period is exceeded.<br><span class=\\\"label label-default\\\">None</span> &mdash; The subscription is allowed to continue in the `AwaitingPayment` state indefinitely even if the dunning period is exceeded.For slow payment cycles &mdash; or when manual invoice remediation is common &mdash; <span class=\\\"label label-default\\\">None</span> is recommended.<br>In a heavily-automated SaaS environment, automatic cancellation via <span class=\\\"label label-default\\\">CancelSubscription</span> is recommended.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
57
+ attr_accessor :failed_payment_behaviour
58
+
59
+ # {\"description\":\"Number of length-measures which constitute the rate plan's period. If left unspecified: the rate plan will use the same `duration` number as the Product to which it belongs.\",\"verbs\":[\"POST\",\"GET\"]}
60
+ attr_accessor :duration
61
+
62
+ # {\"description\":\"Measure describing the magnitude of the rate plan's period. If left unspecified: the rate plan will use the same `durationPeriod` magnitude as the Product to which it belongs.\",\"verbs\":[\"POST\",\"GET\"]}
63
+ attr_accessor :duration_period
64
+
65
+ # {\"default\":0,\"description\":\"Number of trial-length-measures which constitute the rate plan's trial period. If left unspecified: the rate plan will use the same `trial` number as the Product to which it belongs.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
66
+ attr_accessor :trial
67
+
68
+ # {\"default\":\"none\",\"description\":\"Measure describing the magnitude of the rate plan's trial period. If left unspecified: the rate plan will use the same `trialPeriod` magnitude as the Product to which it belongs.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
69
+ attr_accessor :trial_period
70
+
71
+ # {\"default\":\"recurring\",\"description\":\"The frequency of the rate plan &mdash; either recurring or non-recurring. If left unspecified: the rate plan will use the same `productType` frequency as the Product to which it belongs.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
72
+ attr_accessor :product_type
73
+
74
+ # {\"default\":\"WithCoupon\",\"description\":\"The pro-rata mode for the rate plan. <br><span class=\\\"label label-default\\\">None</span> &mdash; The pro-rata cost for upgrades will be ignored.<br><span class=\\\"label label-default\\\">WithCoupon</span> &mdash; The pro-rata cost for upgrades will be calculated based on the time remaining for the subscription. Discounts from any attached coupons will be deducted from the pro-rated cost.<br><span class=\\\"label label-default\\\">WithoutCoupon</span> &mdash; The pro-rata cost for upgrades will be calculated based on the time remaining for the subscription. Discounts from any attached coupons will not be deducted from the pro-rated cost. \",\"verbs\":[]}
75
+ attr_accessor :pro_rata_mode
76
+
77
+ # {\"default\":\"true\",\"description\":\"Whether invoices are created if they have a zero valued cost before any discounts are applied.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"] }
78
+ attr_accessor :create_zero_valued_invoices
79
+
80
+ # {\"description\":\"A friendly name &mdash; for your benefit &mdash; used to identify this rate plan within some product in BillForward. The name should reflect the fact that this rate plan provides to the customer a price tiering system within which a subscription to its Product can be made. <br>The rate plan's name could describe the nature of its price tiering (e.g. \\\"Default pricing\\\", \\\"Student pricing\\\").<br>Remember also that rate plans can override the timing prescribed by their product. If your rate plan is defined by its overriding the default timing of its product, then that can be reflected in that rate plan's name. (e.g. \\\"Student pricing - Annual\\\").\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
81
+ attr_accessor :name
82
+
83
+ # {\"description\":\"A friendly non-unique name used to identify this product-rate-plan\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
84
+ attr_accessor :public_name
85
+
86
+ # {\"description\":\"The UTC DateTime specifying when the rate plan is valid from.\",\"verbs\":[\"GET\"]}
87
+ attr_accessor :valid_from
88
+
89
+ # {\"description\":\"The UTC DateTime specifying when the product-rate-plan is valid till.\",\"verbs\":[\"GET\"]}
90
+ attr_accessor :valid_till
91
+
92
+ # {\"description\":\"The current status of the rate plan.\",\"verbs\":[]}
93
+ attr_accessor :status
94
+
95
+ # {\"default\":\"CreditAccount\",\"description\":\"The action that should be taken, should the pro-rata calculation result in a negative value.<br><span class=\\\"label label-default\\\">NoCharge</span> &mdash; Don't return to the customer any money.<br><span class=\\\"label label-default\\\">CreditAccount</span> &mdash; Credit the customer's account with the amount.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
96
+ attr_accessor :migration_behaviour
97
+
98
+ # {\"default\":\"<span class=\\\"label label-default\\\">Immediate</span>\",\"description\":\"The strategy for how invoices for this plan will be issued.<br><span class=\\\"label label-default\\\">Immediate</span> &mdash; All generated invoices move immediately to the 'Unpaid' state &mdash; beginning the payment pursuit process.<br><span class=\\\"label label-default\\\">Delayed</span> &mdash; All generated invoices begin in the 'Pending' state. An 'Issue Invoice' amendment is scheduled (based on the rate plan's `issueDuration` and `issuePeriod`) that will move the invoice to the 'Unpaid' state (beginning the payment pursuit process) in accordance with the rate plan's issuance schedule.<br><span class=\\\"label label-default\\\">Manual</span> &mdash; All generated invoices sit in the 'Pending' state &mdash; they will not be issued to the customer unless explicit action is taken. This gives you an opportunity to review or recalculate the invoice.\"verbs\":[\"POST\",\"GET\"]}
99
+ attr_accessor :invoice_issue_type
100
+
101
+ # {\"description\":\"Number of issue-length-measures between issuance of invoices for this rate plan.\"\"verbs\":[\"POST\",\"GET\"]}
102
+ attr_accessor :issue_duration
103
+
104
+ # {\"description\":\"Measure describing the magnitude of the invoice issuance period.\",\"verbs\":[\"POST\",\"GET\"]}
105
+ attr_accessor :issue_period
106
+
107
+ # {\"description\":\"A list linking taxation strategies to the rate plan.\",\"verbs\":[\"POST\",\"GET\",\"PUT\"]}
108
+ attr_accessor :taxation
109
+
110
+ # {\"description\":\"A list linking \\\"Fixed-Term Definitions\\\" to the rate plan.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
111
+ attr_accessor :fixed_term_definitions
112
+
113
+ # {\"description\":\"The product to which this rate plan belongs. A product is essentially a collection of rate plans, and describes the service conferred to a customer upon subscription to any of said product's rate plans. The product serves also as a template from which its rate plans can infer default attributes.\",\"verbs\":[\"POST\",\"GET\"]}
114
+ attr_accessor :product
115
+
116
+ # {\"description\":\"The pricing-components which describe the price tiering system of this rate plan. A product rate plan may have 1 or more pricing components. Each pricing component represents a different charge associated with the subscription. Pricing components are versioned.\",\"verbs\":[\"POST\",\"PUT\",\"GET\"]}
117
+ attr_accessor :pricing_components
118
+
119
+ # {\"default\":\"(empty list)\",\"description\":\"List of AggregatingComponents &mdash; these describe pricing components whose prices should be recalculated upon invoice aggregation. For example: two subscriptions' individual consumptions may be neither of them large enough to achieve bulk-buy discounts. When aggregated, though, the same two subscriptions' consumption may add up to a quantity which does merit a bulk buy discount within your tiering system.\",\"verbs\":[\"POST\"]}
120
+ attr_accessor :aggregating_components
121
+
122
+ attr_accessor :payment_terms
123
+
124
+ class EnumAttributeValidator
125
+ attr_reader :datatype
126
+ attr_reader :allowable_values
127
+
128
+ def initialize(datatype, allowable_values)
129
+ @allowable_values = allowable_values.map do |value|
130
+ case datatype.to_s
131
+ when /Integer/i
132
+ value.to_i
133
+ when /Float/i
134
+ value.to_f
135
+ else
136
+ value
137
+ end
138
+ end
139
+ end
140
+
141
+ def valid?(value)
142
+ !value || allowable_values.include?(value)
143
+ end
144
+ end
145
+
146
+ # Attribute mapping from ruby-style variable name to JSON key.
147
+ def self.attribute_map
148
+ {
149
+ :'created' => :'created',
150
+ :'changed_by' => :'changedBy',
151
+ :'updated' => :'updated',
152
+ :'metadata' => :'metadata',
153
+ :'id' => :'id',
154
+ :'crm_id' => :'crmID',
155
+ :'product_id' => :'productID',
156
+ :'currency' => :'currency',
157
+ :'tax_status' => :'taxStatus',
158
+ :'failed_payment_behaviour' => :'failedPaymentBehaviour',
159
+ :'duration' => :'duration',
160
+ :'duration_period' => :'durationPeriod',
161
+ :'trial' => :'trial',
162
+ :'trial_period' => :'trialPeriod',
163
+ :'product_type' => :'productType',
164
+ :'pro_rata_mode' => :'proRataMode',
165
+ :'create_zero_valued_invoices' => :'createZeroValuedInvoices',
166
+ :'name' => :'name',
167
+ :'public_name' => :'publicName',
168
+ :'valid_from' => :'validFrom',
169
+ :'valid_till' => :'validTill',
170
+ :'status' => :'status',
171
+ :'migration_behaviour' => :'migrationBehaviour',
172
+ :'invoice_issue_type' => :'invoiceIssueType',
173
+ :'issue_duration' => :'issueDuration',
174
+ :'issue_period' => :'issuePeriod',
175
+ :'taxation' => :'taxation',
176
+ :'fixed_term_definitions' => :'fixedTermDefinitions',
177
+ :'product' => :'product',
178
+ :'pricing_components' => :'pricingComponents',
179
+ :'aggregating_components' => :'aggregatingComponents',
180
+ :'payment_terms' => :'paymentTerms'
181
+ }
182
+ end
183
+
184
+ # Attribute type mapping.
185
+ def self.swagger_types
186
+ {
187
+ :'created' => :'DateTime',
188
+ :'changed_by' => :'String',
189
+ :'updated' => :'DateTime',
190
+ :'metadata' => :'DynamicMetadata',
191
+ :'id' => :'String',
192
+ :'crm_id' => :'String',
193
+ :'product_id' => :'String',
194
+ :'currency' => :'String',
195
+ :'tax_status' => :'String',
196
+ :'failed_payment_behaviour' => :'String',
197
+ :'duration' => :'Integer',
198
+ :'duration_period' => :'String',
199
+ :'trial' => :'Integer',
200
+ :'trial_period' => :'String',
201
+ :'product_type' => :'String',
202
+ :'pro_rata_mode' => :'String',
203
+ :'create_zero_valued_invoices' => :'BOOLEAN',
204
+ :'name' => :'String',
205
+ :'public_name' => :'String',
206
+ :'valid_from' => :'DateTime',
207
+ :'valid_till' => :'DateTime',
208
+ :'status' => :'String',
209
+ :'migration_behaviour' => :'String',
210
+ :'invoice_issue_type' => :'String',
211
+ :'issue_duration' => :'Integer',
212
+ :'issue_period' => :'String',
213
+ :'taxation' => :'Array<MutableBillingEntity>',
214
+ :'fixed_term_definitions' => :'Array<MutableBillingEntity>',
215
+ :'product' => :'Product',
216
+ :'pricing_components' => :'Array<PricingComponent>',
217
+ :'aggregating_components' => :'Array<AggregatingComponent>',
218
+ :'payment_terms' => :'Integer'
219
+ }
220
+ end
221
+
222
+ # Initializes the object
223
+ # @param [Hash] attributes Model attributes in the form of hash
224
+ def initialize(attributes = {})
225
+ return unless attributes.is_a?(Hash)
226
+
227
+ # convert string to symbol for hash key
228
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
229
+
230
+ if attributes.has_key?(:'created')
231
+ self.created = attributes[:'created']
232
+ end
233
+
234
+ if attributes.has_key?(:'changedBy')
235
+ self.changed_by = attributes[:'changedBy']
236
+ end
237
+
238
+ if attributes.has_key?(:'updated')
239
+ self.updated = attributes[:'updated']
240
+ end
241
+
242
+ if attributes.has_key?(:'metadata')
243
+ self.metadata = attributes[:'metadata']
244
+ end
245
+
246
+ if attributes.has_key?(:'id')
247
+ self.id = attributes[:'id']
248
+ end
249
+
250
+ if attributes.has_key?(:'crmID')
251
+ self.crm_id = attributes[:'crmID']
252
+ end
253
+
254
+ if attributes.has_key?(:'productID')
255
+ self.product_id = attributes[:'productID']
256
+ end
257
+
258
+ if attributes.has_key?(:'currency')
259
+ self.currency = attributes[:'currency']
260
+ end
261
+
262
+ if attributes.has_key?(:'taxStatus')
263
+ self.tax_status = attributes[:'taxStatus']
264
+ end
265
+
266
+ if attributes.has_key?(:'failedPaymentBehaviour')
267
+ self.failed_payment_behaviour = attributes[:'failedPaymentBehaviour']
268
+ end
269
+
270
+ if attributes.has_key?(:'duration')
271
+ self.duration = attributes[:'duration']
272
+ end
273
+
274
+ if attributes.has_key?(:'durationPeriod')
275
+ self.duration_period = attributes[:'durationPeriod']
276
+ end
277
+
278
+ if attributes.has_key?(:'trial')
279
+ self.trial = attributes[:'trial']
280
+ end
281
+
282
+ if attributes.has_key?(:'trialPeriod')
283
+ self.trial_period = attributes[:'trialPeriod']
284
+ end
285
+
286
+ if attributes.has_key?(:'productType')
287
+ self.product_type = attributes[:'productType']
288
+ end
289
+
290
+ if attributes.has_key?(:'proRataMode')
291
+ self.pro_rata_mode = attributes[:'proRataMode']
292
+ end
293
+
294
+ if attributes.has_key?(:'createZeroValuedInvoices')
295
+ self.create_zero_valued_invoices = attributes[:'createZeroValuedInvoices']
296
+ else
297
+ self.create_zero_valued_invoices = false
298
+ end
299
+
300
+ if attributes.has_key?(:'name')
301
+ self.name = attributes[:'name']
302
+ end
303
+
304
+ if attributes.has_key?(:'publicName')
305
+ self.public_name = attributes[:'publicName']
306
+ end
307
+
308
+ if attributes.has_key?(:'validFrom')
309
+ self.valid_from = attributes[:'validFrom']
310
+ end
311
+
312
+ if attributes.has_key?(:'validTill')
313
+ self.valid_till = attributes[:'validTill']
314
+ end
315
+
316
+ if attributes.has_key?(:'status')
317
+ self.status = attributes[:'status']
318
+ end
319
+
320
+ if attributes.has_key?(:'migrationBehaviour')
321
+ self.migration_behaviour = attributes[:'migrationBehaviour']
322
+ end
323
+
324
+ if attributes.has_key?(:'invoiceIssueType')
325
+ self.invoice_issue_type = attributes[:'invoiceIssueType']
326
+ end
327
+
328
+ if attributes.has_key?(:'issueDuration')
329
+ self.issue_duration = attributes[:'issueDuration']
330
+ end
331
+
332
+ if attributes.has_key?(:'issuePeriod')
333
+ self.issue_period = attributes[:'issuePeriod']
334
+ end
335
+
336
+ if attributes.has_key?(:'taxation')
337
+ if (value = attributes[:'taxation']).is_a?(Array)
338
+ self.taxation = value
339
+ end
340
+ end
341
+
342
+ if attributes.has_key?(:'fixedTermDefinitions')
343
+ if (value = attributes[:'fixedTermDefinitions']).is_a?(Array)
344
+ self.fixed_term_definitions = value
345
+ end
346
+ end
347
+
348
+ if attributes.has_key?(:'product')
349
+ self.product = attributes[:'product']
350
+ end
351
+
352
+ if attributes.has_key?(:'pricingComponents')
353
+ if (value = attributes[:'pricingComponents']).is_a?(Array)
354
+ self.pricing_components = value
355
+ end
356
+ end
357
+
358
+ if attributes.has_key?(:'aggregatingComponents')
359
+ if (value = attributes[:'aggregatingComponents']).is_a?(Array)
360
+ self.aggregating_components = value
361
+ end
362
+ end
363
+
364
+ if attributes.has_key?(:'paymentTerms')
365
+ self.payment_terms = attributes[:'paymentTerms']
366
+ end
367
+
368
+ end
369
+
370
+ # Show invalid properties with the reasons. Usually used together with valid?
371
+ # @return Array for valid properies with the reasons
372
+ def list_invalid_properties
373
+ invalid_properties = Array.new
374
+ return invalid_properties
375
+ end
376
+
377
+ # Check to see if the all the properties in the model are valid
378
+ # @return true if the model is valid
379
+ def valid?
380
+ return false if @product_id.nil?
381
+ return false if @currency.nil?
382
+ return false if @tax_status.nil?
383
+ tax_status_validator = EnumAttributeValidator.new('String', ["inclusive", "exclusive"])
384
+ return false unless tax_status_validator.valid?(@tax_status)
385
+ return false if @failed_payment_behaviour.nil?
386
+ failed_payment_behaviour_validator = EnumAttributeValidator.new('String', ["CancelSubscription", "None"])
387
+ return false unless failed_payment_behaviour_validator.valid?(@failed_payment_behaviour)
388
+ return false if @duration_period.nil?
389
+ duration_period_validator = EnumAttributeValidator.new('String', ["minutes", "days", "months", "years"])
390
+ return false unless duration_period_validator.valid?(@duration_period)
391
+ trial_period_validator = EnumAttributeValidator.new('String', ["none", "minutes", "days", "months"])
392
+ return false unless trial_period_validator.valid?(@trial_period)
393
+ product_type_validator = EnumAttributeValidator.new('String', ["nonrecurring", "recurring"])
394
+ return false unless product_type_validator.valid?(@product_type)
395
+ return false if @pro_rata_mode.nil?
396
+ pro_rata_mode_validator = EnumAttributeValidator.new('String', ["None", "WithCoupon", "WithoutCoupon", "Full"])
397
+ return false unless pro_rata_mode_validator.valid?(@pro_rata_mode)
398
+ return false if @create_zero_valued_invoices.nil?
399
+ return false if @name.nil?
400
+ return false if @migration_behaviour.nil?
401
+ migration_behaviour_validator = EnumAttributeValidator.new('String', ["NoCharge", "CreditAccount"])
402
+ return false unless migration_behaviour_validator.valid?(@migration_behaviour)
403
+ invoice_issue_type_validator = EnumAttributeValidator.new('String', ["Immediate", "Delayed", "Manual"])
404
+ return false unless invoice_issue_type_validator.valid?(@invoice_issue_type)
405
+ issue_period_validator = EnumAttributeValidator.new('String', ["minutes", "days", "months", "years"])
406
+ return false unless issue_period_validator.valid?(@issue_period)
407
+ return false if @pricing_components.nil?
408
+ return true
409
+ end
410
+
411
+ # Custom attribute writer method checking allowed values (enum).
412
+ # @param [Object] tax_status Object to be assigned
413
+ def tax_status=(tax_status)
414
+ validator = EnumAttributeValidator.new('String', ["inclusive", "exclusive"])
415
+ unless validator.valid?(tax_status)
416
+ fail ArgumentError, "invalid value for 'tax_status', must be one of #{validator.allowable_values}."
417
+ end
418
+ @tax_status = tax_status
419
+ end
420
+
421
+ # Custom attribute writer method checking allowed values (enum).
422
+ # @param [Object] failed_payment_behaviour Object to be assigned
423
+ def failed_payment_behaviour=(failed_payment_behaviour)
424
+ validator = EnumAttributeValidator.new('String', ["CancelSubscription", "None"])
425
+ unless validator.valid?(failed_payment_behaviour)
426
+ fail ArgumentError, "invalid value for 'failed_payment_behaviour', must be one of #{validator.allowable_values}."
427
+ end
428
+ @failed_payment_behaviour = failed_payment_behaviour
429
+ end
430
+
431
+ # Custom attribute writer method checking allowed values (enum).
432
+ # @param [Object] duration_period Object to be assigned
433
+ def duration_period=(duration_period)
434
+ validator = EnumAttributeValidator.new('String', ["minutes", "days", "months", "years"])
435
+ unless validator.valid?(duration_period)
436
+ fail ArgumentError, "invalid value for 'duration_period', must be one of #{validator.allowable_values}."
437
+ end
438
+ @duration_period = duration_period
439
+ end
440
+
441
+ # Custom attribute writer method checking allowed values (enum).
442
+ # @param [Object] trial_period Object to be assigned
443
+ def trial_period=(trial_period)
444
+ validator = EnumAttributeValidator.new('String', ["none", "minutes", "days", "months"])
445
+ unless validator.valid?(trial_period)
446
+ fail ArgumentError, "invalid value for 'trial_period', must be one of #{validator.allowable_values}."
447
+ end
448
+ @trial_period = trial_period
449
+ end
450
+
451
+ # Custom attribute writer method checking allowed values (enum).
452
+ # @param [Object] product_type Object to be assigned
453
+ def product_type=(product_type)
454
+ validator = EnumAttributeValidator.new('String', ["nonrecurring", "recurring"])
455
+ unless validator.valid?(product_type)
456
+ fail ArgumentError, "invalid value for 'product_type', must be one of #{validator.allowable_values}."
457
+ end
458
+ @product_type = product_type
459
+ end
460
+
461
+ # Custom attribute writer method checking allowed values (enum).
462
+ # @param [Object] pro_rata_mode Object to be assigned
463
+ def pro_rata_mode=(pro_rata_mode)
464
+ validator = EnumAttributeValidator.new('String', ["None", "WithCoupon", "WithoutCoupon", "Full"])
465
+ unless validator.valid?(pro_rata_mode)
466
+ fail ArgumentError, "invalid value for 'pro_rata_mode', must be one of #{validator.allowable_values}."
467
+ end
468
+ @pro_rata_mode = pro_rata_mode
469
+ end
470
+
471
+ # Custom attribute writer method checking allowed values (enum).
472
+ # @param [Object] migration_behaviour Object to be assigned
473
+ def migration_behaviour=(migration_behaviour)
474
+ validator = EnumAttributeValidator.new('String', ["NoCharge", "CreditAccount"])
475
+ unless validator.valid?(migration_behaviour)
476
+ fail ArgumentError, "invalid value for 'migration_behaviour', must be one of #{validator.allowable_values}."
477
+ end
478
+ @migration_behaviour = migration_behaviour
479
+ end
480
+
481
+ # Custom attribute writer method checking allowed values (enum).
482
+ # @param [Object] invoice_issue_type Object to be assigned
483
+ def invoice_issue_type=(invoice_issue_type)
484
+ validator = EnumAttributeValidator.new('String', ["Immediate", "Delayed", "Manual"])
485
+ unless validator.valid?(invoice_issue_type)
486
+ fail ArgumentError, "invalid value for 'invoice_issue_type', must be one of #{validator.allowable_values}."
487
+ end
488
+ @invoice_issue_type = invoice_issue_type
489
+ end
490
+
491
+ # Custom attribute writer method checking allowed values (enum).
492
+ # @param [Object] issue_period Object to be assigned
493
+ def issue_period=(issue_period)
494
+ validator = EnumAttributeValidator.new('String', ["minutes", "days", "months", "years"])
495
+ unless validator.valid?(issue_period)
496
+ fail ArgumentError, "invalid value for 'issue_period', must be one of #{validator.allowable_values}."
497
+ end
498
+ @issue_period = issue_period
499
+ end
500
+
501
+ # Checks equality by comparing each attribute.
502
+ # @param [Object] Object to be compared
503
+ def ==(o)
504
+ return true if self.equal?(o)
505
+ self.class == o.class &&
506
+ created == o.created &&
507
+ changed_by == o.changed_by &&
508
+ updated == o.updated &&
509
+ metadata == o.metadata &&
510
+ id == o.id &&
511
+ crm_id == o.crm_id &&
512
+ product_id == o.product_id &&
513
+ currency == o.currency &&
514
+ tax_status == o.tax_status &&
515
+ failed_payment_behaviour == o.failed_payment_behaviour &&
516
+ duration == o.duration &&
517
+ duration_period == o.duration_period &&
518
+ trial == o.trial &&
519
+ trial_period == o.trial_period &&
520
+ product_type == o.product_type &&
521
+ pro_rata_mode == o.pro_rata_mode &&
522
+ create_zero_valued_invoices == o.create_zero_valued_invoices &&
523
+ name == o.name &&
524
+ public_name == o.public_name &&
525
+ valid_from == o.valid_from &&
526
+ valid_till == o.valid_till &&
527
+ status == o.status &&
528
+ migration_behaviour == o.migration_behaviour &&
529
+ invoice_issue_type == o.invoice_issue_type &&
530
+ issue_duration == o.issue_duration &&
531
+ issue_period == o.issue_period &&
532
+ taxation == o.taxation &&
533
+ fixed_term_definitions == o.fixed_term_definitions &&
534
+ product == o.product &&
535
+ pricing_components == o.pricing_components &&
536
+ aggregating_components == o.aggregating_components &&
537
+ payment_terms == o.payment_terms
538
+ end
539
+
540
+ # @see the `==` method
541
+ # @param [Object] Object to be compared
542
+ def eql?(o)
543
+ self == o
544
+ end
545
+
546
+ # Calculates hash code according to all attributes.
547
+ # @return [Fixnum] Hash code
548
+ def hash
549
+ [created, changed_by, updated, metadata, id, crm_id, product_id, currency, tax_status, failed_payment_behaviour, duration, duration_period, trial, trial_period, product_type, pro_rata_mode, create_zero_valued_invoices, name, public_name, valid_from, valid_till, status, migration_behaviour, invoice_issue_type, issue_duration, issue_period, taxation, fixed_term_definitions, product, pricing_components, aggregating_components, payment_terms].hash
550
+ end
551
+
552
+ # Builds the object from hash
553
+ # @param [Hash] attributes Model attributes in the form of hash
554
+ # @return [Object] Returns the model itself
555
+ def build_from_hash(attributes)
556
+ return nil unless attributes.is_a?(Hash)
557
+ self.class.swagger_types.each_pair do |key, type|
558
+ if type =~ /^Array<(.*)>/i
559
+ # check to ensure the input is an array given that the the attribute
560
+ # is documented as an array but the input is not
561
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
562
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
563
+ end
564
+ elsif !attributes[self.class.attribute_map[key]].nil?
565
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
566
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
567
+ end
568
+
569
+ self
570
+ end
571
+
572
+ # Deserializes the data based on type
573
+ # @param string type Data type
574
+ # @param string value Value to be deserialized
575
+ # @return [Object] Deserialized data
576
+ def _deserialize(type, value)
577
+ case type.to_sym
578
+ when :DateTime
579
+ DateTime.parse(value)
580
+ when :Date
581
+ Date.parse(value)
582
+ when :String
583
+ value.to_s
584
+ when :Integer
585
+ value.to_i
586
+ when :Float
587
+ value.to_f
588
+ when :BOOLEAN
589
+ if value.to_s =~ /^(true|t|yes|y|1)$/i
590
+ true
591
+ else
592
+ false
593
+ end
594
+ when :Object
595
+ # generic object (usually a Hash), return directly
596
+ value
597
+ when /\AArray<(?<inner_type>.+)>\z/
598
+ inner_type = Regexp.last_match[:inner_type]
599
+ value.map { |v| _deserialize(inner_type, v) }
600
+ when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
601
+ k_type = Regexp.last_match[:k_type]
602
+ v_type = Regexp.last_match[:v_type]
603
+ {}.tap do |hash|
604
+ value.each do |k, v|
605
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
606
+ end
607
+ end
608
+ else # model
609
+ temp_model = BillForward.const_get(type).new
610
+ temp_model.build_from_hash(value)
611
+ end
612
+ end
613
+
614
+ # Returns the string representation of the object
615
+ # @return [String] String presentation of the object
616
+ def to_s
617
+ to_hash.to_s
618
+ end
619
+
620
+ # to_body is an alias to to_hash (backward compatibility)
621
+ # @return [Hash] Returns the object in the form of hash
622
+ def to_body
623
+ to_hash
624
+ end
625
+
626
+ # Returns the object in the form of hash
627
+ # @return [Hash] Returns the object in the form of hash
628
+ def to_hash
629
+ hash = {}
630
+ self.class.attribute_map.each_pair do |attr, param|
631
+ value = self.send(attr)
632
+ next if value.nil?
633
+ hash[param] = _to_hash(value)
634
+ end
635
+ hash
636
+ end
637
+
638
+ # Outputs non-array value in the form of hash
639
+ # For object, use to_hash. Otherwise, just return the value
640
+ # @param [Object] value Any valid value
641
+ # @return [Hash] Returns the value in the form of hash
642
+ def _to_hash(value)
643
+ if value.is_a?(Array)
644
+ value.compact.map{ |v| _to_hash(v) }
645
+ elsif value.is_a?(Hash)
646
+ {}.tap do |hash|
647
+ value.each { |k, v| hash[k] = _to_hash(v) }
648
+ end
649
+ elsif value.respond_to? :to_hash
650
+ value.to_hash
651
+ else
652
+ value
653
+ end
654
+ end
655
+
656
+ end
657
+
658
+ end