ynab 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +3 -2
  4. data/Rakefile +3 -3
  5. data/config.json +1 -1
  6. data/docs/Account.md +3 -3
  7. data/docs/BudgetDetailWrapper.md +1 -1
  8. data/docs/BudgetsApi.md +1 -1
  9. data/docs/Category.md +8 -3
  10. data/docs/CurrencyFormat.md +1 -1
  11. data/docs/HybridTransaction.md +1 -1
  12. data/docs/MonthDetail.md +2 -2
  13. data/docs/MonthSummary.md +2 -2
  14. data/docs/SaveTransaction.md +1 -1
  15. data/docs/ScheduledSubTransaction.md +1 -1
  16. data/docs/ScheduledTransactionDetail.md +1 -1
  17. data/docs/ScheduledTransactionSummary.md +1 -1
  18. data/docs/SubTransaction.md +1 -1
  19. data/docs/TransactionDetail.md +1 -1
  20. data/docs/TransactionSummary.md +1 -1
  21. data/lib/ynab/api/budgets_api.rb +2 -2
  22. data/lib/ynab/models/account.rb +3 -3
  23. data/lib/ynab/models/budget_detail_wrapper.rb +1 -1
  24. data/lib/ynab/models/category.rb +113 -4
  25. data/lib/ynab/models/currency_format.rb +1 -1
  26. data/lib/ynab/models/hybrid_transaction.rb +1 -1
  27. data/lib/ynab/models/month_detail.rb +2 -2
  28. data/lib/ynab/models/month_summary.rb +2 -2
  29. data/lib/ynab/models/save_transaction.rb +1 -1
  30. data/lib/ynab/models/scheduled_sub_transaction.rb +1 -1
  31. data/lib/ynab/models/scheduled_transaction_detail.rb +1 -1
  32. data/lib/ynab/models/scheduled_transaction_summary.rb +1 -1
  33. data/lib/ynab/models/sub_transaction.rb +1 -1
  34. data/lib/ynab/models/transaction_detail.rb +1 -1
  35. data/lib/ynab/models/transaction_summary.rb +1 -1
  36. data/lib/ynab/version.rb +1 -1
  37. data/pkg/ynab-1.1.0.gem +0 -0
  38. data/pkg/ynab-1.2.0.gem +0 -0
  39. data/spec-v1-swagger.json +44 -16
  40. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9234cd3a793053cfa67ca0cffd6d08c638989742
4
- data.tar.gz: 955cc21173d5c86526d57d53bef16c46fc9cb59e
3
+ metadata.gz: 4a4d3a0740b445b4056dd6bf489c6ab83c0941c6
4
+ data.tar.gz: 04e4894f4d8f7ade62afc56ac7057b915bba3c9d
5
5
  SHA512:
6
- metadata.gz: 699bf0e03df428ddef46ad497a07dfae2c4e7059f293fc301859724731db22e0e6fef5dd5f390ed051b344241b90cd40932635191fa05c053165bef6aabbdb39
7
- data.tar.gz: fc3b48d22d5a3ed98d387710c498d470c53947186f9c76e98d5a766b72739859d6fd22204c9ab3564c7972969d90f239badcec797fd681d7dccb39c91c9730d8
6
+ metadata.gz: aa657ced871b1463e5db24f599d657f575bd4a50c3932a021ae761540dfc239af1619acff5953c9afd910e873b715819122947c0ac1ffdea13ee8891736c056d
7
+ data.tar.gz: 8c8fd058f98c7f954f7a87320b4f2f055ab6841224d8ee821ac703837689e55879c0a91b2ad722c258dfe1fdf2f2242df25b6128f19969ea728299751722ddb0
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ynab (1.1.0)
4
+ ynab (1.2.0)
5
5
  json (~> 2.1, >= 2.1.0)
6
6
  typhoeus (~> 1.0, >= 1.0.1)
7
7
 
data/README.md CHANGED
@@ -28,9 +28,9 @@ require 'ynab'
28
28
 
29
29
  access_token = 'bf0cbb14b4330-not-real-3de12e66a389eaafe2'
30
30
 
31
- ynab = YNAB::API.new(access_token)
31
+ ynab_api = YNAB::API.new(access_token)
32
32
 
33
- budget_response = ynab.budgets.get_budgets
33
+ budget_response = ynab_api.budgets.get_budgets
34
34
  budgets = budget_response.data.budgets
35
35
 
36
36
  budgets.each do |budget|
@@ -51,6 +51,7 @@ The following methods are available in this library.
51
51
  | **User** | [budgets.get_user()](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/UserApi.md#get_user) | Returns authenticated user information
52
52
  | **Budgets** | [budgets.get_budgets()](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budgets) | Returns budgets list with summary information |
53
53
  | | [budgets.get_budget_by_id(id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budget_by_id) | Returns a single budget with all related entities |
54
+ | | [budgets.get_budget_settings_by_id(id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/BudgetsApi.md#get_budget_settings_by_id) | Returns settings for a budget |
54
55
  | **Accounts** | [accounts.get_accounts(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/AccountsApi.md#get_accounts) | Returns all accounts |
55
56
  | | [accounts.get_account_by_id(budget_id, id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/AccountsApi.md#get_account_by_id) | Returns a single account |
56
57
  | **Categories** | [categories.get_categories(budget_id)](https://github.com/ynab/ynab-sdk-ruby/blob/master/docs/CategoriesApi.md#get_categories) | Returns all categories grouped by category group. |
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ task :generate do
21
21
  # Examples:
22
22
  # ["string", "null"] => "string"
23
23
  # ["number", "null"] => "number"
24
- sh %Q[sed -E -i '' 's/\\\[\\"(string|number|array|boolean)\\"\\, \\"null\\"\\\]/"\\1"/g' #{spec_filename}]
24
+ sh %Q[sed -E -i '' 's/\\\[\\"(string|number|integer|array|boolean)\\"\\, \\"null\\"\\\]/"\\1"/g' #{spec_filename}]
25
25
 
26
26
  # Use Docker to codegen ruby based on the swagger spec
27
27
  sh "docker run --rm -v ${PWD}:/local swaggerapi/swagger-codegen-cli generate"\
@@ -32,9 +32,9 @@ task :generate do
32
32
  end
33
33
 
34
34
  task :commit_version_bump do
35
- sh "git add lib/ynab/version.rb Gemfile.lock && git diff-index --quiet HEAD || git commit -m 'Bumping version for release'"
35
+ sh "git add config.json lib/ynab/version.rb Gemfile.lock && git diff-index --quiet HEAD || git commit -m 'Bumping version for release'"
36
36
  end
37
37
 
38
38
  desc "Bump version, run specs build a gem and release on RubyGems"
39
- task :publish => ['generate', 'commit_version_bump', 'spec', 'release']
39
+ task :publish => ['generate', 'spec', 'release']
40
40
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "gemName": "ynab",
3
3
  "moduleName": "YNAB",
4
- "gemVersion": "1.1.0",
4
+ "gemVersion": "1.2.0",
5
5
  "gemDescription": "Ruby gem wrapper for the YNAB API. Read the documentation at https://api.youneedabudget.com",
6
6
  "gemHomepage": "https://github.com/ynab/ynab-sdk-ruby",
7
7
  "gemLicense": "Apache-2.0",
@@ -9,9 +9,9 @@ Name | Type | Description | Notes
9
9
  **on_budget** | **BOOLEAN** | Whether this account is on budget or not |
10
10
  **closed** | **BOOLEAN** | Whether this account is closed or not |
11
11
  **note** | **String** | |
12
- **balance** | **Float** | The current balance of the account in milliunits format |
13
- **cleared_balance** | **Float** | The current cleared balance of the account in milliunits format |
14
- **uncleared_balance** | **Float** | The current uncleared balance of the account in milliunits format |
12
+ **balance** | **Integer** | The current balance of the account in milliunits format |
13
+ **cleared_balance** | **Integer** | The current cleared balance of the account in milliunits format |
14
+ **uncleared_balance** | **Integer** | The current uncleared balance of the account in milliunits format |
15
15
  **deleted** | **BOOLEAN** | Whether or not the account has been deleted. Deleted accounts will only be included in delta requests. |
16
16
 
17
17
 
@@ -4,6 +4,6 @@
4
4
  Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **budget** | [**BudgetDetail**](BudgetDetail.md) | |
7
- **server_knowledge** | **Float** | The knowledge of the server |
7
+ **server_knowledge** | **Integer** | The knowledge of the server |
8
8
 
9
9
 
@@ -21,7 +21,7 @@ Returns a single budget with all related entities. This resource is effectively
21
21
  Name | Type | Description | Notes
22
22
  ------------- | ------------- | ------------- | -------------
23
23
  **budget_id** | [**String**](.md)| The ID of the Budget. |
24
- **last_knowledge_of_server** | **Float**| The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included. | [optional]
24
+ **last_knowledge_of_server** | **Integer**| The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included. | [optional]
25
25
 
26
26
  ### Return type
27
27
 
@@ -9,9 +9,14 @@ Name | Type | Description | Notes
9
9
  **hidden** | **BOOLEAN** | Whether or not the category is hidden |
10
10
  **original_category_group_id** | **String** | If category is hidden this is the id of the category group it originally belonged to before it was hidden. | [optional]
11
11
  **note** | **String** | |
12
- **budgeted** | **Float** | Budgeted amount in current month in milliunits format |
13
- **activity** | **Float** | Activity amount in current month in milliunits format |
14
- **balance** | **Float** | Balance in current month in milliunits format |
12
+ **budgeted** | **Integer** | Budgeted amount in current month in milliunits format |
13
+ **activity** | **Integer** | Activity amount in current month in milliunits format |
14
+ **balance** | **Integer** | Balance in current month in milliunits format |
15
+ **goal_type** | **String** | The type of goal, if the cagegory has a goal (TB=Target Category Balance, TBD=Target Category Balance by Date, MF=Monthly Funding) |
16
+ **goal_creation_month** | **Date** | The month a goal was created |
17
+ **goal_target** | **Integer** | The goal target amount in milliunits |
18
+ **goal_target_month** | **Date** | If the goal type is 'TBD' (Target Category Balance by Date), this is the target month for the goal to be completed |
19
+ **goal_percentage_complete** | **Integer** | The percentage completion of the goal |
15
20
  **deleted** | **BOOLEAN** | Whether or not the category has been deleted. Deleted categories will only be included in delta requests. |
16
21
 
17
22
 
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **iso_code** | **String** | |
7
7
  **example_format** | **String** | |
8
- **decimal_digits** | **Float** | |
8
+ **decimal_digits** | **Integer** | |
9
9
  **decimal_separator** | **String** | |
10
10
  **symbol_first** | **BOOLEAN** | |
11
11
  **group_separator** | **String** | |
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **date** | **Date** | |
8
- **amount** | **Float** | The transaction amount in milliunits format |
8
+ **amount** | **Integer** | The transaction amount in milliunits format |
9
9
  **memo** | **String** | |
10
10
  **cleared** | **String** | The cleared status of the transaction |
11
11
  **approved** | **BOOLEAN** | Whether or not the transaction is approved |
@@ -5,8 +5,8 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **month** | **Date** | |
7
7
  **note** | **String** | |
8
- **to_be_budgeted** | **Float** | The current balance of the account in milliunits format |
9
- **age_of_money** | **Float** | |
8
+ **to_be_budgeted** | **Integer** | The current balance of the account in milliunits format |
9
+ **age_of_money** | **Integer** | |
10
10
  **categories** | [**Array<Category>**](Category.md) | The budget month categories |
11
11
 
12
12
 
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **month** | **Date** | |
7
7
  **note** | **String** | |
8
- **to_be_budgeted** | **Float** | The current balance of the account in milliunits format |
9
- **age_of_money** | **Float** | |
8
+ **to_be_budgeted** | **Integer** | The current balance of the account in milliunits format |
9
+ **age_of_money** | **Integer** | |
10
10
 
11
11
 
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **account_id** | **String** | |
7
7
  **date** | **Date** | |
8
- **amount** | **Float** | The transaction amount in milliunits format |
8
+ **amount** | **Integer** | The transaction amount in milliunits format |
9
9
  **payee_id** | **String** | The payee for the transaction. Transfer payees are not permitted and will be ignored if supplied. | [optional]
10
10
  **payee_name** | **String** | The payee name. If a payee_name value is provided and payee_id has a null value, the payee_name value will be used to resolve the payee by either (1) a matching payee rename rule (only if import_id is also specified) or (2) a payee with the same name or (3) creation of a new payee. | [optional]
11
11
  **category_id** | **String** | The category for the transaction. Split and Credit Card Payment categories are not permitted and will be ignored if supplied. | [optional]
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **scheduled_transaction_id** | **String** | |
8
- **amount** | **Float** | The scheduled subtransaction amount in milliunits format |
8
+ **amount** | **Integer** | The scheduled subtransaction amount in milliunits format |
9
9
  **memo** | **String** | |
10
10
  **payee_id** | **String** | |
11
11
  **category_id** | **String** | |
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
7
7
  **date_first** | **Date** | The first date for which the Scheduled Transaction was scheduled. |
8
8
  **date_next** | **Date** | The next date for which the Scheduled Transaction is scheduled. |
9
9
  **frequency** | **String** | |
10
- **amount** | **Float** | The scheduled transaction amount in milliunits format |
10
+ **amount** | **Integer** | The scheduled transaction amount in milliunits format |
11
11
  **memo** | **String** | |
12
12
  **flag_color** | **String** | The scheduled transaction flag |
13
13
  **account_id** | **String** | |
@@ -7,7 +7,7 @@ Name | Type | Description | Notes
7
7
  **date_first** | **Date** | The first date for which the Scheduled Transaction was scheduled. |
8
8
  **date_next** | **Date** | The next date for which the Scheduled Transaction is scheduled. |
9
9
  **frequency** | **String** | |
10
- **amount** | **Float** | The scheduled transaction amount in milliunits format |
10
+ **amount** | **Integer** | The scheduled transaction amount in milliunits format |
11
11
  **memo** | **String** | |
12
12
  **flag_color** | **String** | The scheduled transaction flag |
13
13
  **account_id** | **String** | |
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **transaction_id** | **String** | |
8
- **amount** | **Float** | The subtransaction amount in milliunits format |
8
+ **amount** | **Integer** | The subtransaction amount in milliunits format |
9
9
  **memo** | **String** | |
10
10
  **payee_id** | **String** | |
11
11
  **category_id** | **String** | |
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **date** | **Date** | |
8
- **amount** | **Float** | The transaction amount in milliunits format |
8
+ **amount** | **Integer** | The transaction amount in milliunits format |
9
9
  **memo** | **String** | |
10
10
  **cleared** | **String** | The cleared status of the transaction |
11
11
  **approved** | **BOOLEAN** | Whether or not the transaction is approved |
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **date** | **Date** | |
8
- **amount** | **Float** | The transaction amount in milliunits format |
8
+ **amount** | **Integer** | The transaction amount in milliunits format |
9
9
  **memo** | **String** | |
10
10
  **cleared** | **String** | The cleared status of the transaction |
11
11
  **approved** | **BOOLEAN** | Whether or not the transaction is approved |
@@ -23,7 +23,7 @@ module YNAB
23
23
  # Returns a single budget with all related entities. This resource is effectively a full budget export.
24
24
  # @param budget_id The ID of the Budget.
25
25
  # @param [Hash] opts the optional parameters
26
- # @option opts [Float] :last_knowledge_of_server The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included.
26
+ # @option opts [Integer] :last_knowledge_of_server The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included.
27
27
  # @return [BudgetDetailResponse]
28
28
  def get_budget_by_id(budget_id, opts = {})
29
29
  data, _status_code, _headers = get_budget_by_id_with_http_info(budget_id, opts)
@@ -34,7 +34,7 @@ module YNAB
34
34
  # Returns a single budget with all related entities. This resource is effectively a full budget export.
35
35
  # @param budget_id The ID of the Budget.
36
36
  # @param [Hash] opts the optional parameters
37
- # @option opts [Float] :last_knowledge_of_server The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included.
37
+ # @option opts [Integer] :last_knowledge_of_server The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included.
38
38
  # @return [Array<(BudgetDetailResponse, Fixnum, Hash)>] BudgetDetailResponse data, response status code and response headers
39
39
  def get_budget_by_id_with_http_info(budget_id, opts = {})
40
40
  if @api_client.config.debugging
@@ -88,9 +88,9 @@ module YNAB
88
88
  :'on_budget' => :'BOOLEAN',
89
89
  :'closed' => :'BOOLEAN',
90
90
  :'note' => :'String',
91
- :'balance' => :'Float',
92
- :'cleared_balance' => :'Float',
93
- :'uncleared_balance' => :'Float',
91
+ :'balance' => :'Integer',
92
+ :'cleared_balance' => :'Integer',
93
+ :'uncleared_balance' => :'Integer',
94
94
  :'deleted' => :'BOOLEAN'
95
95
  }
96
96
  end
@@ -31,7 +31,7 @@ module YNAB
31
31
  def self.swagger_types
32
32
  {
33
33
  :'budget' => :'BudgetDetail',
34
- :'server_knowledge' => :'Float'
34
+ :'server_knowledge' => :'Integer'
35
35
  }
36
36
  end
37
37
 
@@ -37,9 +37,46 @@ module YNAB
37
37
  # Balance in current month in milliunits format
38
38
  attr_accessor :balance
39
39
 
40
+ # The type of goal, if the cagegory has a goal (TB=Target Category Balance, TBD=Target Category Balance by Date, MF=Monthly Funding)
41
+ attr_accessor :goal_type
42
+
43
+ # The month a goal was created
44
+ attr_accessor :goal_creation_month
45
+
46
+ # The goal target amount in milliunits
47
+ attr_accessor :goal_target
48
+
49
+ # If the goal type is 'TBD' (Target Category Balance by Date), this is the target month for the goal to be completed
50
+ attr_accessor :goal_target_month
51
+
52
+ # The percentage completion of the goal
53
+ attr_accessor :goal_percentage_complete
54
+
40
55
  # Whether or not the category has been deleted. Deleted categories will only be included in delta requests.
41
56
  attr_accessor :deleted
42
57
 
58
+ class EnumAttributeValidator
59
+ attr_reader :datatype
60
+ attr_reader :allowable_values
61
+
62
+ def initialize(datatype, allowable_values)
63
+ @allowable_values = allowable_values.map do |value|
64
+ case datatype.to_s
65
+ when /Integer/i
66
+ value.to_i
67
+ when /Float/i
68
+ value.to_f
69
+ else
70
+ value
71
+ end
72
+ end
73
+ end
74
+
75
+ def valid?(value)
76
+ !value || allowable_values.include?(value)
77
+ end
78
+ end
79
+
43
80
  # Attribute mapping from ruby-style variable name to JSON key.
44
81
  def self.attribute_map
45
82
  {
@@ -52,6 +89,11 @@ module YNAB
52
89
  :'budgeted' => :'budgeted',
53
90
  :'activity' => :'activity',
54
91
  :'balance' => :'balance',
92
+ :'goal_type' => :'goal_type',
93
+ :'goal_creation_month' => :'goal_creation_month',
94
+ :'goal_target' => :'goal_target',
95
+ :'goal_target_month' => :'goal_target_month',
96
+ :'goal_percentage_complete' => :'goal_percentage_complete',
55
97
  :'deleted' => :'deleted'
56
98
  }
57
99
  end
@@ -65,9 +107,14 @@ module YNAB
65
107
  :'hidden' => :'BOOLEAN',
66
108
  :'original_category_group_id' => :'String',
67
109
  :'note' => :'String',
68
- :'budgeted' => :'Float',
69
- :'activity' => :'Float',
70
- :'balance' => :'Float',
110
+ :'budgeted' => :'Integer',
111
+ :'activity' => :'Integer',
112
+ :'balance' => :'Integer',
113
+ :'goal_type' => :'String',
114
+ :'goal_creation_month' => :'Date',
115
+ :'goal_target' => :'Integer',
116
+ :'goal_target_month' => :'Date',
117
+ :'goal_percentage_complete' => :'Integer',
71
118
  :'deleted' => :'BOOLEAN'
72
119
  }
73
120
  end
@@ -116,6 +163,26 @@ module YNAB
116
163
  self.balance = attributes[:'balance']
117
164
  end
118
165
 
166
+ if attributes.has_key?(:'goal_type')
167
+ self.goal_type = attributes[:'goal_type']
168
+ end
169
+
170
+ if attributes.has_key?(:'goal_creation_month')
171
+ self.goal_creation_month = attributes[:'goal_creation_month']
172
+ end
173
+
174
+ if attributes.has_key?(:'goal_target')
175
+ self.goal_target = attributes[:'goal_target']
176
+ end
177
+
178
+ if attributes.has_key?(:'goal_target_month')
179
+ self.goal_target_month = attributes[:'goal_target_month']
180
+ end
181
+
182
+ if attributes.has_key?(:'goal_percentage_complete')
183
+ self.goal_percentage_complete = attributes[:'goal_percentage_complete']
184
+ end
185
+
119
186
  if attributes.has_key?(:'deleted')
120
187
  self.deleted = attributes[:'deleted']
121
188
  end
@@ -157,6 +224,26 @@ module YNAB
157
224
  invalid_properties.push('invalid value for "balance", balance cannot be nil.')
158
225
  end
159
226
 
227
+ if @goal_type.nil?
228
+ invalid_properties.push('invalid value for "goal_type", goal_type cannot be nil.')
229
+ end
230
+
231
+ if @goal_creation_month.nil?
232
+ invalid_properties.push('invalid value for "goal_creation_month", goal_creation_month cannot be nil.')
233
+ end
234
+
235
+ if @goal_target.nil?
236
+ invalid_properties.push('invalid value for "goal_target", goal_target cannot be nil.')
237
+ end
238
+
239
+ if @goal_target_month.nil?
240
+ invalid_properties.push('invalid value for "goal_target_month", goal_target_month cannot be nil.')
241
+ end
242
+
243
+ if @goal_percentage_complete.nil?
244
+ invalid_properties.push('invalid value for "goal_percentage_complete", goal_percentage_complete cannot be nil.')
245
+ end
246
+
160
247
  if @deleted.nil?
161
248
  invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
162
249
  end
@@ -175,10 +262,27 @@ module YNAB
175
262
  return false if @budgeted.nil?
176
263
  return false if @activity.nil?
177
264
  return false if @balance.nil?
265
+ return false if @goal_type.nil?
266
+ goal_type_validator = EnumAttributeValidator.new('String', ['TB', 'TBD', 'MF'])
267
+ return false unless goal_type_validator.valid?(@goal_type)
268
+ return false if @goal_creation_month.nil?
269
+ return false if @goal_target.nil?
270
+ return false if @goal_target_month.nil?
271
+ return false if @goal_percentage_complete.nil?
178
272
  return false if @deleted.nil?
179
273
  true
180
274
  end
181
275
 
276
+ # Custom attribute writer method checking allowed values (enum).
277
+ # @param [Object] goal_type Object to be assigned
278
+ def goal_type=(goal_type)
279
+ validator = EnumAttributeValidator.new('String', ['TB', 'TBD', 'MF'])
280
+ unless validator.valid?(goal_type)
281
+ fail ArgumentError, 'invalid value for "goal_type", must be one of #{validator.allowable_values}.'
282
+ end
283
+ @goal_type = goal_type
284
+ end
285
+
182
286
  # Checks equality by comparing each attribute.
183
287
  # @param [Object] Object to be compared
184
288
  def ==(o)
@@ -193,6 +297,11 @@ module YNAB
193
297
  budgeted == o.budgeted &&
194
298
  activity == o.activity &&
195
299
  balance == o.balance &&
300
+ goal_type == o.goal_type &&
301
+ goal_creation_month == o.goal_creation_month &&
302
+ goal_target == o.goal_target &&
303
+ goal_target_month == o.goal_target_month &&
304
+ goal_percentage_complete == o.goal_percentage_complete &&
196
305
  deleted == o.deleted
197
306
  end
198
307
 
@@ -205,7 +314,7 @@ module YNAB
205
314
  # Calculates hash code according to all attributes.
206
315
  # @return [Fixnum] Hash code
207
316
  def hash
208
- [id, category_group_id, name, hidden, original_category_group_id, note, budgeted, activity, balance, deleted].hash
317
+ [id, category_group_id, name, hidden, original_category_group_id, note, budgeted, activity, balance, goal_type, goal_creation_month, goal_target, goal_target_month, goal_percentage_complete, deleted].hash
209
318
  end
210
319
 
211
320
  # Builds the object from hash
@@ -49,7 +49,7 @@ module YNAB
49
49
  {
50
50
  :'iso_code' => :'String',
51
51
  :'example_format' => :'String',
52
- :'decimal_digits' => :'Float',
52
+ :'decimal_digits' => :'Integer',
53
53
  :'decimal_separator' => :'String',
54
54
  :'symbol_first' => :'BOOLEAN',
55
55
  :'group_separator' => :'String',
@@ -109,7 +109,7 @@ module YNAB
109
109
  {
110
110
  :'id' => :'String',
111
111
  :'date' => :'Date',
112
- :'amount' => :'Float',
112
+ :'amount' => :'Integer',
113
113
  :'memo' => :'String',
114
114
  :'cleared' => :'String',
115
115
  :'approved' => :'BOOLEAN',
@@ -42,8 +42,8 @@ module YNAB
42
42
  {
43
43
  :'month' => :'Date',
44
44
  :'note' => :'String',
45
- :'to_be_budgeted' => :'Float',
46
- :'age_of_money' => :'Float',
45
+ :'to_be_budgeted' => :'Integer',
46
+ :'age_of_money' => :'Integer',
47
47
  :'categories' => :'Array<Category>'
48
48
  }
49
49
  end
@@ -38,8 +38,8 @@ module YNAB
38
38
  {
39
39
  :'month' => :'Date',
40
40
  :'note' => :'String',
41
- :'to_be_budgeted' => :'Float',
42
- :'age_of_money' => :'Float'
41
+ :'to_be_budgeted' => :'Integer',
42
+ :'age_of_money' => :'Integer'
43
43
  }
44
44
  end
45
45
 
@@ -88,7 +88,7 @@ module YNAB
88
88
  {
89
89
  :'account_id' => :'String',
90
90
  :'date' => :'Date',
91
- :'amount' => :'Float',
91
+ :'amount' => :'Integer',
92
92
  :'payee_id' => :'String',
93
93
  :'payee_name' => :'String',
94
94
  :'category_id' => :'String',
@@ -52,7 +52,7 @@ module YNAB
52
52
  {
53
53
  :'id' => :'String',
54
54
  :'scheduled_transaction_id' => :'String',
55
- :'amount' => :'Float',
55
+ :'amount' => :'Integer',
56
56
  :'memo' => :'String',
57
57
  :'payee_id' => :'String',
58
58
  :'category_id' => :'String',
@@ -104,7 +104,7 @@ module YNAB
104
104
  :'date_first' => :'Date',
105
105
  :'date_next' => :'Date',
106
106
  :'frequency' => :'String',
107
- :'amount' => :'Float',
107
+ :'amount' => :'Integer',
108
108
  :'memo' => :'String',
109
109
  :'flag_color' => :'String',
110
110
  :'account_id' => :'String',
@@ -91,7 +91,7 @@ module YNAB
91
91
  :'date_first' => :'Date',
92
92
  :'date_next' => :'Date',
93
93
  :'frequency' => :'String',
94
- :'amount' => :'Float',
94
+ :'amount' => :'Integer',
95
95
  :'memo' => :'String',
96
96
  :'flag_color' => :'String',
97
97
  :'account_id' => :'String',
@@ -52,7 +52,7 @@ module YNAB
52
52
  {
53
53
  :'id' => :'String',
54
54
  :'transaction_id' => :'String',
55
- :'amount' => :'Float',
55
+ :'amount' => :'Integer',
56
56
  :'memo' => :'String',
57
57
  :'payee_id' => :'String',
58
58
  :'category_id' => :'String',
@@ -105,7 +105,7 @@ module YNAB
105
105
  {
106
106
  :'id' => :'String',
107
107
  :'date' => :'Date',
108
- :'amount' => :'Float',
108
+ :'amount' => :'Integer',
109
109
  :'memo' => :'String',
110
110
  :'cleared' => :'String',
111
111
  :'approved' => :'BOOLEAN',
@@ -92,7 +92,7 @@ module YNAB
92
92
  {
93
93
  :'id' => :'String',
94
94
  :'date' => :'Date',
95
- :'amount' => :'Float',
95
+ :'amount' => :'Integer',
96
96
  :'memo' => :'String',
97
97
  :'cleared' => :'String',
98
98
  :'approved' => :'BOOLEAN',
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.4.0-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module YNAB
14
- VERSION = '1.1.0'
14
+ VERSION = '1.2.0'
15
15
  end
Binary file
Binary file
@@ -129,7 +129,7 @@
129
129
  "description":
130
130
  "The starting server knowledge. If provided, only entities that have changed since last_knowledge_of_server will be included.",
131
131
  "required": false,
132
- "type": "number"
132
+ "type": "integer"
133
133
  }
134
134
  ],
135
135
  "responses": {
@@ -1273,7 +1273,7 @@
1273
1273
  "type": "string"
1274
1274
  },
1275
1275
  "decimal_digits": {
1276
- "type": "number"
1276
+ "type": "integer"
1277
1277
  },
1278
1278
  "decimal_separator": {
1279
1279
  "type": "string"
@@ -1330,7 +1330,7 @@
1330
1330
  "$ref": "#/definitions/BudgetDetail"
1331
1331
  },
1332
1332
  "server_knowledge": {
1333
- "type": "number",
1333
+ "type": "integer",
1334
1334
  "description": "The knowledge of the server"
1335
1335
  }
1336
1336
  }
@@ -1552,19 +1552,19 @@
1552
1552
  "type": "string"
1553
1553
  },
1554
1554
  "balance": {
1555
- "type": "number",
1555
+ "type": "integer",
1556
1556
  "format": "1234000",
1557
1557
  "description":
1558
1558
  "The current balance of the account in milliunits format"
1559
1559
  },
1560
1560
  "cleared_balance": {
1561
- "type": "number",
1561
+ "type": "integer",
1562
1562
  "format": "1234000",
1563
1563
  "description":
1564
1564
  "The current cleared balance of the account in milliunits format"
1565
1565
  },
1566
1566
  "uncleared_balance": {
1567
- "type": "number",
1567
+ "type": "integer",
1568
1568
  "format": "1234000",
1569
1569
  "description":
1570
1570
  "The current uncleared balance of the account in milliunits format"
@@ -1666,6 +1666,11 @@
1666
1666
  "budgeted",
1667
1667
  "activity",
1668
1668
  "balance",
1669
+ "goal_type",
1670
+ "goal_creation_month",
1671
+ "goal_target",
1672
+ "goal_target_month",
1673
+ "goal_percentage_complete",
1669
1674
  "deleted"
1670
1675
  ],
1671
1676
  "properties": {
@@ -1693,17 +1698,40 @@
1693
1698
  "type": "string"
1694
1699
  },
1695
1700
  "budgeted": {
1696
- "type": "number",
1701
+ "type": "integer",
1697
1702
  "description": "Budgeted amount in current month in milliunits format"
1698
1703
  },
1699
1704
  "activity": {
1700
- "type": "number",
1705
+ "type": "integer",
1701
1706
  "description": "Activity amount in current month in milliunits format"
1702
1707
  },
1703
1708
  "balance": {
1704
- "type": "number",
1709
+ "type": "integer",
1705
1710
  "description": "Balance in current month in milliunits format"
1706
1711
  },
1712
+ "goal_type": {
1713
+ "type": "string",
1714
+ "enum": ["TB", "TBD", "MF", null],
1715
+ "description": "The type of goal, if the cagegory has a goal (TB=Target Category Balance, TBD=Target Category Balance by Date, MF=Monthly Funding)"
1716
+ },
1717
+ "goal_creation_month": {
1718
+ "type": "string",
1719
+ "format": "date",
1720
+ "description": "The month a goal was created"
1721
+ },
1722
+ "goal_target": {
1723
+ "type": "integer",
1724
+ "description": "The goal target amount in milliunits"
1725
+ },
1726
+ "goal_target_month": {
1727
+ "type": "string",
1728
+ "format": "date",
1729
+ "description": "If the goal type is 'TBD' (Target Category Balance by Date), this is the target month for the goal to be completed"
1730
+ },
1731
+ "goal_percentage_complete": {
1732
+ "type": "integer",
1733
+ "description": "The percentage completion of the goal"
1734
+ },
1707
1735
  "deleted": {
1708
1736
  "type": "boolean",
1709
1737
  "description": "Whether or not the category has been deleted. Deleted categories will only be included in delta requests."
@@ -1921,7 +1949,7 @@
1921
1949
  "format": "date"
1922
1950
  },
1923
1951
  "amount": {
1924
- "type": "number",
1952
+ "type": "integer",
1925
1953
  "format": "1234000",
1926
1954
  "description": "The transaction amount in milliunits format"
1927
1955
  },
@@ -2065,7 +2093,7 @@
2065
2093
  "format": "date"
2066
2094
  },
2067
2095
  "amount": {
2068
- "type": "number",
2096
+ "type": "integer",
2069
2097
  "format": "1234000",
2070
2098
  "description": "The transaction amount in milliunits format"
2071
2099
  },
@@ -2184,7 +2212,7 @@
2184
2212
  "format": "uuid"
2185
2213
  },
2186
2214
  "amount": {
2187
- "type": "number",
2215
+ "type": "integer",
2188
2216
  "format": "1234000",
2189
2217
  "description": "The subtransaction amount in milliunits format"
2190
2218
  },
@@ -2302,7 +2330,7 @@
2302
2330
  ]
2303
2331
  },
2304
2332
  "amount": {
2305
- "type": "number",
2333
+ "type": "integer",
2306
2334
  "format": "1234000",
2307
2335
  "description": "The scheduled transaction amount in milliunits format"
2308
2336
  },
@@ -2395,7 +2423,7 @@
2395
2423
  "format": "uuid"
2396
2424
  },
2397
2425
  "amount": {
2398
- "type": "number",
2426
+ "type": "integer",
2399
2427
  "format": "1234000",
2400
2428
  "description":
2401
2429
  "The scheduled subtransaction amount in milliunits format"
@@ -2474,13 +2502,13 @@
2474
2502
  "type": "string"
2475
2503
  },
2476
2504
  "to_be_budgeted": {
2477
- "type": "number",
2505
+ "type": "integer",
2478
2506
  "format": "1234000",
2479
2507
  "description":
2480
2508
  "The current balance of the account in milliunits format"
2481
2509
  },
2482
2510
  "age_of_money": {
2483
- "type": "number"
2511
+ "type": "integer"
2484
2512
  }
2485
2513
  }
2486
2514
  },
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ynab
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - You Need A Budget, LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-09 00:00:00.000000000 Z
11
+ date: 2018-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -269,6 +269,7 @@ files:
269
269
  - lib/ynab/version.rb
270
270
  - pkg/ynab-1.0.0.gem
271
271
  - pkg/ynab-1.1.0.gem
272
+ - pkg/ynab-1.2.0.gem
272
273
  - spec-v1-swagger.json
273
274
  - spec/api/accounts_spec.rb
274
275
  - spec/api/budgets_spec.rb