ynab 1.31.0 → 2.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/DEVELOPMENT.md +11 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +42 -0
- data/README.md +3 -3
- data/Rakefile +58 -0
- data/config.json +9 -0
- data/docs/Account.md +25 -0
- data/docs/AccountResponse.md +8 -0
- data/docs/AccountResponseData.md +8 -0
- data/docs/AccountType.md +7 -0
- data/docs/AccountWrapper.md +8 -0
- data/docs/AccountsApi.md +70 -0
- data/docs/AccountsResponse.md +8 -0
- data/docs/AccountsResponseData.md +9 -0
- data/docs/AccountsWrapper.md +9 -0
- data/docs/BudgetDetail.md +24 -0
- data/docs/BudgetDetailAllOf.md +17 -0
- data/docs/BudgetDetailResponse.md +8 -0
- data/docs/BudgetDetailResponseData.md +9 -0
- data/docs/BudgetDetailWrapper.md +9 -0
- data/docs/BudgetSettings.md +9 -0
- data/docs/BudgetSettingsResponse.md +8 -0
- data/docs/BudgetSettingsResponseData.md +8 -0
- data/docs/BudgetSettingsWrapper.md +8 -0
- data/docs/BudgetSummary.md +15 -0
- data/docs/BudgetSummaryResponse.md +8 -0
- data/docs/BudgetSummaryResponseData.md +9 -0
- data/docs/BudgetSummaryWrapper.md +9 -0
- data/docs/BudgetsApi.md +68 -0
- data/docs/BulkIdWrapper.md +8 -0
- data/docs/BulkIds.md +9 -0
- data/docs/BulkResponse.md +8 -0
- data/docs/BulkResponseData.md +8 -0
- data/docs/BulkResponseDataBulk.md +9 -0
- data/docs/BulkTransactionCreateResponse.md +8 -0
- data/docs/BulkTransactionIds.md +8 -0
- data/docs/BulkTransactions.md +8 -0
- data/docs/CategoriesApi.md +94 -0
- data/docs/CategoriesResponse.md +8 -0
- data/docs/CategoriesResponseData.md +9 -0
- data/docs/Category.md +30 -0
- data/docs/CategoryGroup.md +11 -0
- data/docs/CategoryGroupWithCategories.md +12 -0
- data/docs/CategoryGroupWithCategoriesAllOf.md +8 -0
- data/docs/CategoryGroupsWrapper.md +9 -0
- data/docs/CategoryResponse.md +8 -0
- data/docs/CategoryResponseData.md +8 -0
- data/docs/CategoryWrapper.md +9 -0
- data/docs/CurrencyFormat.md +15 -0
- data/docs/DateFormat.md +8 -0
- data/docs/DeprecatedApi.md +28 -0
- data/docs/ErrorDetail.md +10 -0
- data/docs/ErrorResponse.md +8 -0
- data/docs/HybridTransaction.md +30 -0
- data/docs/HybridTransactionAllOf.md +12 -0
- data/docs/HybridTransactionsResponse.md +8 -0
- data/docs/HybridTransactionsResponseData.md +9 -0
- data/docs/HybridTransactionsWrapper.md +8 -0
- data/docs/LoanAccountPeriodicValue.md +7 -0
- data/docs/MonthDetail.md +16 -0
- data/docs/MonthDetailAllOf.md +8 -0
- data/docs/MonthDetailResponse.md +8 -0
- data/docs/MonthDetailResponseData.md +8 -0
- data/docs/MonthDetailWrapper.md +8 -0
- data/docs/MonthSummariesResponse.md +8 -0
- data/docs/MonthSummariesResponseData.md +9 -0
- data/docs/MonthSummariesWrapper.md +9 -0
- data/docs/MonthSummary.md +15 -0
- data/docs/MonthsApi.md +49 -0
- data/docs/PatchMonthCategoryWrapper.md +8 -0
- data/docs/PatchTransactionsWrapper.md +8 -0
- data/docs/Payee.md +11 -0
- data/docs/PayeeLocation.md +12 -0
- data/docs/PayeeLocationResponse.md +8 -0
- data/docs/PayeeLocationResponseData.md +8 -0
- data/docs/PayeeLocationWrapper.md +8 -0
- data/docs/PayeeLocationsApi.md +69 -0
- data/docs/PayeeLocationsResponse.md +8 -0
- data/docs/PayeeLocationsResponseData.md +8 -0
- data/docs/PayeeLocationsWrapper.md +8 -0
- data/docs/PayeeResponse.md +8 -0
- data/docs/PayeeResponseData.md +8 -0
- data/docs/PayeeWrapper.md +8 -0
- data/docs/PayeesApi.md +49 -0
- data/docs/PayeesResponse.md +8 -0
- data/docs/PayeesResponseData.md +9 -0
- data/docs/PayeesWrapper.md +9 -0
- data/docs/PostAccountWrapper.md +8 -0
- data/docs/PostTransactionsWrapper.md +9 -0
- data/docs/PutTransactionWrapper.md +8 -0
- data/docs/SaveAccount.md +10 -0
- data/docs/SaveAccountWrapper.md +8 -0
- data/docs/SaveCategoryResponse.md +8 -0
- data/docs/SaveCategoryResponseData.md +9 -0
- data/docs/SaveMonthCategory.md +8 -0
- data/docs/SaveMonthCategoryWrapper.md +8 -0
- data/docs/SaveSubTransaction.md +12 -0
- data/docs/SaveTransaction.md +19 -0
- data/docs/SaveTransactionWithId.md +20 -0
- data/docs/SaveTransactionWithIdAllOf.md +8 -0
- data/docs/SaveTransactionWithOptionalFields.md +19 -0
- data/docs/SaveTransactionWrapper.md +8 -0
- data/docs/SaveTransactionsResponse.md +8 -0
- data/docs/SaveTransactionsResponseData.md +12 -0
- data/docs/SaveTransactionsWrapper.md +9 -0
- data/docs/ScheduledSubTransaction.md +15 -0
- data/docs/ScheduledTransactionDetail.md +23 -0
- data/docs/ScheduledTransactionDetailAllOf.md +11 -0
- data/docs/ScheduledTransactionResponse.md +8 -0
- data/docs/ScheduledTransactionResponseData.md +8 -0
- data/docs/ScheduledTransactionSummary.md +19 -0
- data/docs/ScheduledTransactionWrapper.md +8 -0
- data/docs/ScheduledTransactionsApi.md +49 -0
- data/docs/ScheduledTransactionsResponse.md +8 -0
- data/docs/ScheduledTransactionsResponseData.md +9 -0
- data/docs/ScheduledTransactionsWrapper.md +8 -0
- data/docs/SubTransaction.md +18 -0
- data/docs/TransactionDetail.md +29 -0
- data/docs/TransactionDetailAllOf.md +11 -0
- data/docs/TransactionResponse.md +8 -0
- data/docs/TransactionResponseData.md +8 -0
- data/docs/TransactionSummary.md +25 -0
- data/docs/TransactionWrapper.md +8 -0
- data/docs/TransactionsApi.md +228 -0
- data/docs/TransactionsImportResponse.md +8 -0
- data/docs/TransactionsImportResponseData.md +8 -0
- data/docs/TransactionsResponse.md +8 -0
- data/docs/TransactionsResponseData.md +9 -0
- data/docs/TransactionsWrapper.md +9 -0
- data/docs/UpdateTransaction.md +20 -0
- data/docs/UpdateTransactionsWrapper.md +8 -0
- data/docs/User.md +8 -0
- data/docs/UserApi.md +25 -0
- data/docs/UserResponse.md +8 -0
- data/docs/UserResponseData.md +8 -0
- data/docs/UserWrapper.md +8 -0
- data/examples/budget-list.rb +21 -0
- data/examples/budget-month.rb +33 -0
- data/examples/category-balance.rb +23 -0
- data/examples/create-multiple-transactions.rb +42 -0
- data/examples/create-transaction.rb +30 -0
- data/examples/update-category-budgeted.rb +25 -0
- data/examples/update-multiple-transactions.rb +20 -0
- data/lib/ynab/api/accounts_api.rb +78 -41
- data/lib/ynab/api/budgets_api.rb +68 -36
- data/lib/ynab/api/categories_api.rb +108 -60
- data/lib/ynab/api/deprecated_api.rb +32 -17
- data/lib/ynab/api/months_api.rb +49 -28
- data/lib/ynab/api/payee_locations_api.rb +73 -41
- data/lib/ynab/api/payees_api.rb +49 -28
- data/lib/ynab/api/scheduled_transactions_api.rb +49 -28
- data/lib/ynab/api/transactions_api.rb +268 -140
- data/lib/ynab/api/user_api.rb +22 -12
- data/lib/ynab/api_client.rb +97 -95
- data/lib/ynab/configuration.rb +101 -14
- data/lib/ynab/models/account.rb +117 -55
- data/lib/ynab/models/account_response.rb +53 -18
- data/lib/ynab/models/account_response_data.rb +53 -18
- data/lib/ynab/models/account_type.rb +30 -20
- data/lib/ynab/models/accounts_response.rb +53 -18
- data/lib/ynab/models/accounts_response_data.rb +54 -19
- data/lib/ynab/models/budget_detail.rb +80 -35
- data/lib/ynab/models/budget_detail_all_of.rb +320 -0
- data/lib/ynab/models/budget_detail_response.rb +53 -18
- data/lib/ynab/models/budget_detail_response_data.rb +54 -19
- data/lib/ynab/models/budget_settings.rb +56 -29
- data/lib/ynab/models/budget_settings_response.rb +53 -18
- data/lib/ynab/models/budget_settings_response_data.rb +53 -18
- data/lib/ynab/models/budget_summary.rb +63 -26
- data/lib/ynab/models/budget_summary_response.rb +53 -18
- data/lib/ynab/models/budget_summary_response_data.rb +54 -20
- data/lib/ynab/models/bulk_response.rb +53 -18
- data/lib/ynab/models/bulk_response_data.rb +53 -18
- data/lib/ynab/models/bulk_response_data_bulk.rb +54 -19
- data/lib/ynab/models/bulk_transactions.rb +53 -18
- data/lib/ynab/models/categories_response.rb +53 -18
- data/lib/ynab/models/categories_response_data.rb +54 -19
- data/lib/ynab/models/category.rb +110 -48
- data/lib/ynab/models/category_group.rb +58 -23
- data/lib/ynab/models/category_group_with_categories.rb +67 -24
- data/lib/ynab/models/{save_month_category_wrapper.rb → category_group_with_categories_all_of.rb} +67 -29
- data/lib/ynab/models/category_response.rb +53 -18
- data/lib/ynab/models/category_response_data.rb +53 -18
- data/lib/ynab/models/currency_format.rb +62 -27
- data/lib/ynab/models/date_format.rb +53 -18
- data/lib/ynab/models/error_detail.rb +55 -20
- data/lib/ynab/models/error_response.rb +53 -18
- data/lib/ynab/models/hybrid_transaction.rb +118 -46
- data/lib/ynab/models/hybrid_transaction_all_of.rb +304 -0
- data/lib/ynab/models/hybrid_transactions_response.rb +53 -18
- data/lib/ynab/models/hybrid_transactions_response_data.rb +54 -19
- data/lib/ynab/models/month_detail.rb +72 -27
- data/lib/ynab/models/{update_transactions_wrapper.rb → month_detail_all_of.rb} +66 -30
- data/lib/ynab/models/month_detail_response.rb +53 -18
- data/lib/ynab/models/month_detail_response_data.rb +53 -18
- data/lib/ynab/models/month_summaries_response.rb +53 -18
- data/lib/ynab/models/month_summaries_response_data.rb +54 -19
- data/lib/ynab/models/month_summary.rb +63 -26
- data/lib/ynab/models/patch_month_category_wrapper.rb +53 -18
- data/lib/ynab/models/patch_transactions_wrapper.rb +53 -18
- data/lib/ynab/models/payee.rb +58 -22
- data/lib/ynab/models/payee_location.rb +58 -23
- data/lib/ynab/models/payee_location_response.rb +53 -18
- data/lib/ynab/models/payee_location_response_data.rb +53 -18
- data/lib/ynab/models/payee_locations_response.rb +53 -18
- data/lib/ynab/models/payee_locations_response_data.rb +53 -18
- data/lib/ynab/models/payee_response.rb +53 -18
- data/lib/ynab/models/payee_response_data.rb +53 -18
- data/lib/ynab/models/payees_response.rb +53 -18
- data/lib/ynab/models/payees_response_data.rb +54 -19
- data/lib/ynab/models/post_account_wrapper.rb +53 -18
- data/lib/ynab/models/post_transactions_wrapper.rb +54 -19
- data/lib/ynab/models/put_transaction_wrapper.rb +53 -18
- data/lib/ynab/models/save_account.rb +77 -20
- data/lib/ynab/models/save_category_response.rb +53 -18
- data/lib/ynab/models/save_category_response_data.rb +54 -19
- data/lib/ynab/models/save_month_category.rb +53 -18
- data/lib/ynab/models/save_sub_transaction.rb +61 -22
- data/lib/ynab/models/save_transaction.rb +88 -33
- data/lib/ynab/models/save_transaction_with_id.rb +102 -46
- data/lib/ynab/models/{save_transactions_wrapper.rb → save_transaction_with_id_all_of.rb} +60 -36
- data/lib/ynab/models/save_transaction_with_optional_fields.rb +81 -33
- data/lib/ynab/models/save_transactions_response.rb +53 -18
- data/lib/ynab/models/save_transactions_response_data.rb +57 -23
- data/lib/ynab/models/scheduled_sub_transaction.rb +66 -27
- data/lib/ynab/models/scheduled_transaction_detail.rb +94 -36
- data/lib/ynab/models/scheduled_transaction_detail_all_of.rb +262 -0
- data/lib/ynab/models/scheduled_transaction_response.rb +53 -18
- data/lib/ynab/models/scheduled_transaction_response_data.rb +53 -18
- data/lib/ynab/models/scheduled_transaction_summary.rb +80 -32
- data/lib/ynab/models/scheduled_transactions_response.rb +53 -18
- data/lib/ynab/models/scheduled_transactions_response_data.rb +54 -19
- data/lib/ynab/models/sub_transaction.rb +71 -29
- data/lib/ynab/models/transaction_detail.rb +112 -44
- data/lib/ynab/models/{save_transaction_wrapper.rb → transaction_detail_all_of.rb} +102 -29
- data/lib/ynab/models/transaction_response.rb +53 -18
- data/lib/ynab/models/transaction_response_data.rb +53 -18
- data/lib/ynab/models/transaction_summary.rb +98 -40
- data/lib/ynab/models/transactions_import_response.rb +53 -18
- data/lib/ynab/models/transactions_import_response_data.rb +53 -18
- data/lib/ynab/models/transactions_response.rb +53 -18
- data/lib/ynab/models/transactions_response_data.rb +54 -19
- data/lib/ynab/models/user.rb +53 -18
- data/lib/ynab/models/user_response.rb +53 -18
- data/lib/ynab/models/user_response_data.rb +53 -18
- data/lib/ynab/version.rb +1 -1
- data/lib/ynab.rb +19 -14
- data/open_api_spec.yaml +3012 -0
- data/templates/api_client.mustache +274 -0
- data/templates/api_client_typhoeus_partial.mustache +156 -0
- data/templates/api_doc.mustache +44 -0
- data/templates/gem.mustache +84 -0
- data/templates/partial_model_generic_doc.mustache +9 -0
- data/ynab.gemspec +38 -0
- metadata +194 -87
- data/lib/ynab/models/loan_account_periodic_value.rb +0 -175
- data/lib/ynab/models/save_account_wrapper.rb +0 -189
- data/lib/ynab/models/update_transaction.rb +0 -407
- data/spec/models/transaction_detail_spec.rb +0 -11
@@ -3,14 +3,15 @@
|
|
3
3
|
|
4
4
|
#Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
|
5
5
|
|
6
|
-
OpenAPI
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
7
|
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.6.0
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module YNAB
|
16
17
|
class ScheduledTransactionSummary
|
@@ -84,8 +85,13 @@ module YNAB
|
|
84
85
|
}
|
85
86
|
end
|
86
87
|
|
88
|
+
# Returns all the JSON keys this model knows about
|
89
|
+
def self.acceptable_attributes
|
90
|
+
attribute_map.values
|
91
|
+
end
|
92
|
+
|
87
93
|
# Attribute type mapping.
|
88
|
-
def self.
|
94
|
+
def self.openapi_types
|
89
95
|
{
|
90
96
|
:'id' => :'String',
|
91
97
|
:'date_first' => :'Date',
|
@@ -98,63 +104,81 @@ module YNAB
|
|
98
104
|
:'payee_id' => :'String',
|
99
105
|
:'category_id' => :'String',
|
100
106
|
:'transfer_account_id' => :'String',
|
101
|
-
:'deleted' => :'
|
107
|
+
:'deleted' => :'Boolean'
|
102
108
|
}
|
103
109
|
end
|
104
110
|
|
111
|
+
# List of attributes with nullable: true
|
112
|
+
def self.openapi_nullable
|
113
|
+
Set.new([
|
114
|
+
:'memo',
|
115
|
+
:'flag_color',
|
116
|
+
:'payee_id',
|
117
|
+
:'category_id',
|
118
|
+
:'transfer_account_id',
|
119
|
+
])
|
120
|
+
end
|
121
|
+
|
105
122
|
# Initializes the object
|
106
123
|
# @param [Hash] attributes Model attributes in the form of hash
|
107
124
|
def initialize(attributes = {})
|
108
|
-
|
125
|
+
if (!attributes.is_a?(Hash))
|
126
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `YNAB::ScheduledTransactionSummary` initialize method"
|
127
|
+
end
|
109
128
|
|
110
|
-
# convert string to symbol for hash key
|
111
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
129
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
130
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
131
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
132
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `YNAB::ScheduledTransactionSummary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
133
|
+
end
|
134
|
+
h[k.to_sym] = v
|
135
|
+
}
|
112
136
|
|
113
|
-
if attributes.
|
137
|
+
if attributes.key?(:'id')
|
114
138
|
self.id = attributes[:'id']
|
115
139
|
end
|
116
140
|
|
117
|
-
if attributes.
|
141
|
+
if attributes.key?(:'date_first')
|
118
142
|
self.date_first = attributes[:'date_first']
|
119
143
|
end
|
120
144
|
|
121
|
-
if attributes.
|
145
|
+
if attributes.key?(:'date_next')
|
122
146
|
self.date_next = attributes[:'date_next']
|
123
147
|
end
|
124
148
|
|
125
|
-
if attributes.
|
149
|
+
if attributes.key?(:'frequency')
|
126
150
|
self.frequency = attributes[:'frequency']
|
127
151
|
end
|
128
152
|
|
129
|
-
if attributes.
|
153
|
+
if attributes.key?(:'amount')
|
130
154
|
self.amount = attributes[:'amount']
|
131
155
|
end
|
132
156
|
|
133
|
-
if attributes.
|
157
|
+
if attributes.key?(:'memo')
|
134
158
|
self.memo = attributes[:'memo']
|
135
159
|
end
|
136
160
|
|
137
|
-
if attributes.
|
161
|
+
if attributes.key?(:'flag_color')
|
138
162
|
self.flag_color = attributes[:'flag_color']
|
139
163
|
end
|
140
164
|
|
141
|
-
if attributes.
|
165
|
+
if attributes.key?(:'account_id')
|
142
166
|
self.account_id = attributes[:'account_id']
|
143
167
|
end
|
144
168
|
|
145
|
-
if attributes.
|
169
|
+
if attributes.key?(:'payee_id')
|
146
170
|
self.payee_id = attributes[:'payee_id']
|
147
171
|
end
|
148
172
|
|
149
|
-
if attributes.
|
173
|
+
if attributes.key?(:'category_id')
|
150
174
|
self.category_id = attributes[:'category_id']
|
151
175
|
end
|
152
176
|
|
153
|
-
if attributes.
|
177
|
+
if attributes.key?(:'transfer_account_id')
|
154
178
|
self.transfer_account_id = attributes[:'transfer_account_id']
|
155
179
|
end
|
156
180
|
|
157
|
-
if attributes.
|
181
|
+
if attributes.key?(:'deleted')
|
158
182
|
self.deleted = attributes[:'deleted']
|
159
183
|
end
|
160
184
|
end
|
@@ -201,10 +225,10 @@ module YNAB
|
|
201
225
|
return false if @date_first.nil?
|
202
226
|
return false if @date_next.nil?
|
203
227
|
return false if @frequency.nil?
|
204
|
-
frequency_validator = EnumAttributeValidator.new('String', [
|
228
|
+
frequency_validator = EnumAttributeValidator.new('String', ["never", "daily", "weekly", "everyOtherWeek", "twiceAMonth", "every4Weeks", "monthly", "everyOtherMonth", "every3Months", "every4Months", "twiceAYear", "yearly", "everyOtherYear"])
|
205
229
|
return false unless frequency_validator.valid?(@frequency)
|
206
230
|
return false if @amount.nil?
|
207
|
-
flag_color_validator = EnumAttributeValidator.new('String', [
|
231
|
+
flag_color_validator = EnumAttributeValidator.new('String', ["red", "orange", "yellow", "green", "blue", "purple", "null"])
|
208
232
|
return false unless flag_color_validator.valid?(@flag_color)
|
209
233
|
return false if @account_id.nil?
|
210
234
|
return false if @deleted.nil?
|
@@ -214,12 +238,20 @@ module YNAB
|
|
214
238
|
# Custom attribute writer method checking allowed values (enum).
|
215
239
|
# @param [Object] frequency Object to be assigned
|
216
240
|
def frequency=(frequency)
|
241
|
+
validator = EnumAttributeValidator.new('String', ["never", "daily", "weekly", "everyOtherWeek", "twiceAMonth", "every4Weeks", "monthly", "everyOtherMonth", "every3Months", "every4Months", "twiceAYear", "yearly", "everyOtherYear"])
|
242
|
+
unless validator.valid?(frequency)
|
243
|
+
fail ArgumentError, "invalid value for \"frequency\", must be one of #{validator.allowable_values}."
|
244
|
+
end
|
217
245
|
@frequency = frequency
|
218
246
|
end
|
219
247
|
|
220
248
|
# Custom attribute writer method checking allowed values (enum).
|
221
249
|
# @param [Object] flag_color Object to be assigned
|
222
250
|
def flag_color=(flag_color)
|
251
|
+
validator = EnumAttributeValidator.new('String', ["red", "orange", "yellow", "green", "blue", "purple", "null"])
|
252
|
+
unless validator.valid?(flag_color)
|
253
|
+
fail ArgumentError, "invalid value for \"flag_color\", must be one of #{validator.allowable_values}."
|
254
|
+
end
|
223
255
|
@flag_color = flag_color
|
224
256
|
end
|
225
257
|
|
@@ -249,17 +281,28 @@ module YNAB
|
|
249
281
|
end
|
250
282
|
|
251
283
|
# Calculates hash code according to all attributes.
|
252
|
-
# @return [
|
284
|
+
# @return [Integer] Hash code
|
253
285
|
def hash
|
254
286
|
[id, date_first, date_next, frequency, amount, memo, flag_color, account_id, payee_id, category_id, transfer_account_id, deleted].hash
|
255
287
|
end
|
288
|
+
|
289
|
+
# Builds the object from hash
|
290
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
291
|
+
# @return [Object] Returns the model itself
|
292
|
+
def self.build_from_hash(attributes)
|
293
|
+
new.build_from_hash(attributes)
|
294
|
+
end
|
295
|
+
|
256
296
|
# Builds the object from hash
|
257
297
|
# @param [Hash] attributes Model attributes in the form of hash
|
258
298
|
# @return [Object] Returns the model itself
|
259
299
|
def build_from_hash(attributes)
|
260
300
|
return nil unless attributes.is_a?(Hash)
|
261
|
-
|
262
|
-
|
301
|
+
attributes = attributes.transform_keys(&:to_sym)
|
302
|
+
self.class.openapi_types.each_pair do |key, type|
|
303
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
304
|
+
self.send("#{key}=", nil)
|
305
|
+
elsif type =~ /\AArray<(.*)>/i
|
263
306
|
# check to ensure the input is an array given that the attribute
|
264
307
|
# is documented as an array but the input is not
|
265
308
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -267,7 +310,7 @@ module YNAB
|
|
267
310
|
end
|
268
311
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
269
312
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
270
|
-
end
|
313
|
+
end
|
271
314
|
end
|
272
315
|
|
273
316
|
self
|
@@ -279,8 +322,8 @@ module YNAB
|
|
279
322
|
# @return [Object] Deserialized data
|
280
323
|
def _deserialize(type, value)
|
281
324
|
case type.to_sym
|
282
|
-
when :
|
283
|
-
|
325
|
+
when :Time
|
326
|
+
Time.parse(value)
|
284
327
|
when :Date
|
285
328
|
Date.parse(value)
|
286
329
|
when :String
|
@@ -289,7 +332,7 @@ module YNAB
|
|
289
332
|
value.to_i
|
290
333
|
when :Float
|
291
334
|
value.to_f
|
292
|
-
when :
|
335
|
+
when :Boolean
|
293
336
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
294
337
|
true
|
295
338
|
else
|
@@ -310,8 +353,9 @@ module YNAB
|
|
310
353
|
end
|
311
354
|
end
|
312
355
|
else # model
|
313
|
-
|
314
|
-
|
356
|
+
# models (e.g. Pet) or oneOf
|
357
|
+
klass = YNAB.const_get(type)
|
358
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
315
359
|
end
|
316
360
|
end
|
317
361
|
|
@@ -333,7 +377,11 @@ module YNAB
|
|
333
377
|
hash = {}
|
334
378
|
self.class.attribute_map.each_pair do |attr, param|
|
335
379
|
value = self.send(attr)
|
336
|
-
|
380
|
+
if value.nil?
|
381
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
382
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
383
|
+
end
|
384
|
+
|
337
385
|
hash[param] = _to_hash(value)
|
338
386
|
end
|
339
387
|
hash
|
@@ -3,14 +3,15 @@
|
|
3
3
|
|
4
4
|
#Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
|
5
5
|
|
6
|
-
OpenAPI
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
7
|
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.6.0
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module YNAB
|
16
17
|
class ScheduledTransactionsResponse
|
@@ -23,22 +24,40 @@ module YNAB
|
|
23
24
|
}
|
24
25
|
end
|
25
26
|
|
27
|
+
# Returns all the JSON keys this model knows about
|
28
|
+
def self.acceptable_attributes
|
29
|
+
attribute_map.values
|
30
|
+
end
|
31
|
+
|
26
32
|
# Attribute type mapping.
|
27
|
-
def self.
|
33
|
+
def self.openapi_types
|
28
34
|
{
|
29
35
|
:'data' => :'ScheduledTransactionsResponseData'
|
30
36
|
}
|
31
37
|
end
|
32
38
|
|
39
|
+
# List of attributes with nullable: true
|
40
|
+
def self.openapi_nullable
|
41
|
+
Set.new([
|
42
|
+
])
|
43
|
+
end
|
44
|
+
|
33
45
|
# Initializes the object
|
34
46
|
# @param [Hash] attributes Model attributes in the form of hash
|
35
47
|
def initialize(attributes = {})
|
36
|
-
|
48
|
+
if (!attributes.is_a?(Hash))
|
49
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `YNAB::ScheduledTransactionsResponse` initialize method"
|
50
|
+
end
|
37
51
|
|
38
|
-
# convert string to symbol for hash key
|
39
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
52
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
53
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
54
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
55
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `YNAB::ScheduledTransactionsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
56
|
+
end
|
57
|
+
h[k.to_sym] = v
|
58
|
+
}
|
40
59
|
|
41
|
-
if attributes.
|
60
|
+
if attributes.key?(:'data')
|
42
61
|
self.data = attributes[:'data']
|
43
62
|
end
|
44
63
|
end
|
@@ -76,17 +95,28 @@ module YNAB
|
|
76
95
|
end
|
77
96
|
|
78
97
|
# Calculates hash code according to all attributes.
|
79
|
-
# @return [
|
98
|
+
# @return [Integer] Hash code
|
80
99
|
def hash
|
81
100
|
[data].hash
|
82
101
|
end
|
102
|
+
|
103
|
+
# Builds the object from hash
|
104
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
105
|
+
# @return [Object] Returns the model itself
|
106
|
+
def self.build_from_hash(attributes)
|
107
|
+
new.build_from_hash(attributes)
|
108
|
+
end
|
109
|
+
|
83
110
|
# Builds the object from hash
|
84
111
|
# @param [Hash] attributes Model attributes in the form of hash
|
85
112
|
# @return [Object] Returns the model itself
|
86
113
|
def build_from_hash(attributes)
|
87
114
|
return nil unless attributes.is_a?(Hash)
|
88
|
-
|
89
|
-
|
115
|
+
attributes = attributes.transform_keys(&:to_sym)
|
116
|
+
self.class.openapi_types.each_pair do |key, type|
|
117
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
118
|
+
self.send("#{key}=", nil)
|
119
|
+
elsif type =~ /\AArray<(.*)>/i
|
90
120
|
# check to ensure the input is an array given that the attribute
|
91
121
|
# is documented as an array but the input is not
|
92
122
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -94,7 +124,7 @@ module YNAB
|
|
94
124
|
end
|
95
125
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
96
126
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
97
|
-
end
|
127
|
+
end
|
98
128
|
end
|
99
129
|
|
100
130
|
self
|
@@ -106,8 +136,8 @@ module YNAB
|
|
106
136
|
# @return [Object] Deserialized data
|
107
137
|
def _deserialize(type, value)
|
108
138
|
case type.to_sym
|
109
|
-
when :
|
110
|
-
|
139
|
+
when :Time
|
140
|
+
Time.parse(value)
|
111
141
|
when :Date
|
112
142
|
Date.parse(value)
|
113
143
|
when :String
|
@@ -116,7 +146,7 @@ module YNAB
|
|
116
146
|
value.to_i
|
117
147
|
when :Float
|
118
148
|
value.to_f
|
119
|
-
when :
|
149
|
+
when :Boolean
|
120
150
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
121
151
|
true
|
122
152
|
else
|
@@ -137,8 +167,9 @@ module YNAB
|
|
137
167
|
end
|
138
168
|
end
|
139
169
|
else # model
|
140
|
-
|
141
|
-
|
170
|
+
# models (e.g. Pet) or oneOf
|
171
|
+
klass = YNAB.const_get(type)
|
172
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
142
173
|
end
|
143
174
|
end
|
144
175
|
|
@@ -160,7 +191,11 @@ module YNAB
|
|
160
191
|
hash = {}
|
161
192
|
self.class.attribute_map.each_pair do |attr, param|
|
162
193
|
value = self.send(attr)
|
163
|
-
|
194
|
+
if value.nil?
|
195
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
196
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
197
|
+
end
|
198
|
+
|
164
199
|
hash[param] = _to_hash(value)
|
165
200
|
end
|
166
201
|
hash
|
@@ -3,14 +3,15 @@
|
|
3
3
|
|
4
4
|
#Our API uses a REST based design, leverages the JSON data format, and relies upon HTTPS for transport. We respond with meaningful HTTP response codes and if an error occurs, we include error details in the response body. API Documentation is at https://api.ynab.com
|
5
5
|
|
6
|
-
OpenAPI
|
6
|
+
The version of the OpenAPI document: 1.0.0
|
7
7
|
|
8
|
-
Generated by: https://
|
9
|
-
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 6.6.0
|
10
10
|
|
11
11
|
=end
|
12
12
|
|
13
13
|
require 'date'
|
14
|
+
require 'time'
|
14
15
|
|
15
16
|
module YNAB
|
16
17
|
class ScheduledTransactionsResponseData
|
@@ -27,29 +28,47 @@ module YNAB
|
|
27
28
|
}
|
28
29
|
end
|
29
30
|
|
31
|
+
# Returns all the JSON keys this model knows about
|
32
|
+
def self.acceptable_attributes
|
33
|
+
attribute_map.values
|
34
|
+
end
|
35
|
+
|
30
36
|
# Attribute type mapping.
|
31
|
-
def self.
|
37
|
+
def self.openapi_types
|
32
38
|
{
|
33
39
|
:'scheduled_transactions' => :'Array<ScheduledTransactionDetail>',
|
34
40
|
:'server_knowledge' => :'Integer'
|
35
41
|
}
|
36
42
|
end
|
37
43
|
|
44
|
+
# List of attributes with nullable: true
|
45
|
+
def self.openapi_nullable
|
46
|
+
Set.new([
|
47
|
+
])
|
48
|
+
end
|
49
|
+
|
38
50
|
# Initializes the object
|
39
51
|
# @param [Hash] attributes Model attributes in the form of hash
|
40
52
|
def initialize(attributes = {})
|
41
|
-
|
53
|
+
if (!attributes.is_a?(Hash))
|
54
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `YNAB::ScheduledTransactionsResponseData` initialize method"
|
55
|
+
end
|
42
56
|
|
43
|
-
# convert string to symbol for hash key
|
44
|
-
attributes = attributes.each_with_object({}) { |(k, v), h|
|
57
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
58
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
59
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
60
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `YNAB::ScheduledTransactionsResponseData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
61
|
+
end
|
62
|
+
h[k.to_sym] = v
|
63
|
+
}
|
45
64
|
|
46
|
-
if attributes.
|
65
|
+
if attributes.key?(:'scheduled_transactions')
|
47
66
|
if (value = attributes[:'scheduled_transactions']).is_a?(Array)
|
48
67
|
self.scheduled_transactions = value
|
49
68
|
end
|
50
69
|
end
|
51
70
|
|
52
|
-
if attributes.
|
71
|
+
if attributes.key?(:'server_knowledge')
|
53
72
|
self.server_knowledge = attributes[:'server_knowledge']
|
54
73
|
end
|
55
74
|
end
|
@@ -93,17 +112,28 @@ module YNAB
|
|
93
112
|
end
|
94
113
|
|
95
114
|
# Calculates hash code according to all attributes.
|
96
|
-
# @return [
|
115
|
+
# @return [Integer] Hash code
|
97
116
|
def hash
|
98
117
|
[scheduled_transactions, server_knowledge].hash
|
99
118
|
end
|
119
|
+
|
120
|
+
# Builds the object from hash
|
121
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
122
|
+
# @return [Object] Returns the model itself
|
123
|
+
def self.build_from_hash(attributes)
|
124
|
+
new.build_from_hash(attributes)
|
125
|
+
end
|
126
|
+
|
100
127
|
# Builds the object from hash
|
101
128
|
# @param [Hash] attributes Model attributes in the form of hash
|
102
129
|
# @return [Object] Returns the model itself
|
103
130
|
def build_from_hash(attributes)
|
104
131
|
return nil unless attributes.is_a?(Hash)
|
105
|
-
|
106
|
-
|
132
|
+
attributes = attributes.transform_keys(&:to_sym)
|
133
|
+
self.class.openapi_types.each_pair do |key, type|
|
134
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
135
|
+
self.send("#{key}=", nil)
|
136
|
+
elsif type =~ /\AArray<(.*)>/i
|
107
137
|
# check to ensure the input is an array given that the attribute
|
108
138
|
# is documented as an array but the input is not
|
109
139
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
@@ -111,7 +141,7 @@ module YNAB
|
|
111
141
|
end
|
112
142
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
113
143
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
114
|
-
end
|
144
|
+
end
|
115
145
|
end
|
116
146
|
|
117
147
|
self
|
@@ -123,8 +153,8 @@ module YNAB
|
|
123
153
|
# @return [Object] Deserialized data
|
124
154
|
def _deserialize(type, value)
|
125
155
|
case type.to_sym
|
126
|
-
when :
|
127
|
-
|
156
|
+
when :Time
|
157
|
+
Time.parse(value)
|
128
158
|
when :Date
|
129
159
|
Date.parse(value)
|
130
160
|
when :String
|
@@ -133,7 +163,7 @@ module YNAB
|
|
133
163
|
value.to_i
|
134
164
|
when :Float
|
135
165
|
value.to_f
|
136
|
-
when :
|
166
|
+
when :Boolean
|
137
167
|
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
138
168
|
true
|
139
169
|
else
|
@@ -154,8 +184,9 @@ module YNAB
|
|
154
184
|
end
|
155
185
|
end
|
156
186
|
else # model
|
157
|
-
|
158
|
-
|
187
|
+
# models (e.g. Pet) or oneOf
|
188
|
+
klass = YNAB.const_get(type)
|
189
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
159
190
|
end
|
160
191
|
end
|
161
192
|
|
@@ -177,7 +208,11 @@ module YNAB
|
|
177
208
|
hash = {}
|
178
209
|
self.class.attribute_map.each_pair do |attr, param|
|
179
210
|
value = self.send(attr)
|
180
|
-
|
211
|
+
if value.nil?
|
212
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
213
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
214
|
+
end
|
215
|
+
|
181
216
|
hash[param] = _to_hash(value)
|
182
217
|
end
|
183
218
|
hash
|