ynab 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 311e29f4028a2e5f62f1063d1f4ab93f80b7a84c
4
- data.tar.gz: bf1f7c152d6fd1b47f6d5579d3db4d4382c427d9
3
+ metadata.gz: 39744a3c683ef3fcc20c118414fbc8539fa354d3
4
+ data.tar.gz: afa9589670fe68ae266c39964ee02da4c87dfdcf
5
5
  SHA512:
6
- metadata.gz: ef7959d67c285d6f7afceed65bc2b44e3dcb8fa8fd730033142a8b1f08447579bc9b415779a43adff38b34f772b1a37b1f10f8c4d70373e3a6c9afb60473528c
7
- data.tar.gz: b7454f90ce3c7a7e5b81f9403983d7bf81a8d42c8a26f311502734f849c83a1fdf17ca71634cd0f45dc8017437cf497a0826d418e7233bde8a6036912cf56414
6
+ metadata.gz: dbe683c41f006efab63120c75441ef5d4acb2710dca0152c835490937135970cb807d242ece8f669e6b1029c5a1ccdf3d84fc7e61bb99ef945f566ed25f4af86
7
+ data.tar.gz: 4a5bf3b5cfd557246e3424efcf232b4c7efc5a72baba629d1b5d4809f97afe7badf652b8f1175665135d2bf6111884c8f5977328b8d60ef1d4fedb9b91f3ad60
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ynab (0.7.0)
4
+ ynab (0.8.0)
5
5
  json (~> 2.1, >= 2.1.0)
6
6
  typhoeus (~> 1.0, >= 1.0.1)
7
7
 
data/Rakefile CHANGED
@@ -14,7 +14,7 @@ desc "Run Swagger Code Generator to update the client from the Swagger spec"
14
14
  task :generate do
15
15
  # Download latest swagger spec
16
16
  spec_filename = 'spec-v1-swagger.json'
17
- #sh "rm #{spec_filename} && wget https://api.youneedabudget.com/papi/#{spec_filename}"
17
+ sh "rm #{spec_filename} && wget https://api.youneedabudget.com/papi/#{spec_filename}"
18
18
 
19
19
  # Replace nullable types defined as i.e. ["string", "null"] in the spec to simply "string" as the generator does not understand the nullable format.
20
20
  # Examples:
data/config.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "gemName": "ynab",
3
3
  "moduleName": "YnabApi",
4
- "gemVersion": "0.7.0",
4
+ "gemVersion": "0.8.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",
data/docs/Account.md CHANGED
@@ -5,12 +5,13 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **id** | **String** | |
7
7
  **name** | **String** | |
8
- **type** | **String** | |
8
+ **type** | **String** | The type of account. Note: payPal, merchantAccount, investmentAccount, and mortgage types have been deprecated and will be removed in the future. |
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
12
  **balance** | **Float** | The current balance of the account in milliunits format |
13
13
  **cleared_balance** | **Float** | The current cleared balance of the account in milliunits format |
14
14
  **uncleared_balance** | **Float** | The current uncleared balance of the account in milliunits format |
15
+ **deleted** | **BOOLEAN** | Whether or not the account has been deleted. Deleted accounts will only be included in delta requests. |
15
16
 
16
17
 
data/docs/Category.md CHANGED
@@ -11,5 +11,6 @@ Name | Type | Description | Notes
11
11
  **budgeted** | **Float** | Budgeted amount in current month in milliunits format |
12
12
  **activity** | **Float** | Activity amount in current month in milliunits format |
13
13
  **balance** | **Float** | Balance in current month in milliunits format |
14
+ **deleted** | **BOOLEAN** | Whether or not the category has been deleted. Deleted categories will only be included in delta requests. |
14
15
 
15
16
 
@@ -6,5 +6,6 @@ Name | Type | Description | Notes
6
6
  **id** | **String** | |
7
7
  **name** | **String** | |
8
8
  **hidden** | **BOOLEAN** | Whether or not the category group is hidden |
9
+ **deleted** | **BOOLEAN** | Whether or not the category group has been deleted. Deleted category groups will only be included in delta requests. |
9
10
 
10
11
 
@@ -6,6 +6,7 @@ Name | Type | Description | Notes
6
6
  **id** | **String** | |
7
7
  **name** | **String** | |
8
8
  **hidden** | **BOOLEAN** | Whether or not the category group is hidden |
9
+ **deleted** | **BOOLEAN** | Whether or not the category group has been deleted. Deleted category groups will only be included in delta requests. |
9
10
  **categories** | [**Array<Category>**](Category.md) | Category group categories |
10
11
 
11
12
 
@@ -5,7 +5,7 @@ Name | Type | Description | Notes
5
5
  ------------ | ------------- | ------------- | -------------
6
6
  **iso_code** | **String** | |
7
7
  **example_format** | **String** | |
8
- **decimal_digits** | **String** | |
8
+ **decimal_digits** | **Float** | |
9
9
  **decimal_separator** | **String** | |
10
10
  **symbol_first** | **BOOLEAN** | |
11
11
  **group_separator** | **String** | |
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
15
15
  **category_id** | **String** | |
16
16
  **transfer_account_id** | **String** | |
17
17
  **import_id** | **String** | If the Transaction was imported, this field is a unique (by account) import identifier. If this transaction was imported through File Based Import or Direct Import and not through the API, the import_id will have the format: 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a transaction dated 2015-12-30 in the amount of -$294.23 USD would have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second transaction on the same account was imported and had the same date and same amount, its import_id would be 'YNAB:-294230:2015-12-30:2'. |
18
+ **deleted** | **BOOLEAN** | Whether or not the transaction has been deleted. Deleted transactions will only be included in delta requests. |
18
19
  **type** | **String** | Whether the hybrid transaction represents a regular transaction or a subtransaction |
19
20
  **parent_transaction_id** | **String** | For subtransaction types, this is the id of the pararent transaction. For transaction types, this id will be always be null. |
20
21
  **account_name** | **String** | |
data/docs/Payee.md CHANGED
@@ -6,5 +6,6 @@ Name | Type | Description | Notes
6
6
  **id** | **String** | |
7
7
  **name** | **String** | |
8
8
  **transfer_account_id** | **String** | If a transfer payee, the account_id to which this payee transfers to |
9
+ **deleted** | **BOOLEAN** | Whether or not the payee has been deleted. Deleted payees will only be included in delta requests. |
9
10
 
10
11
 
@@ -7,5 +7,6 @@ Name | Type | Description | Notes
7
7
  **payee_id** | **String** | |
8
8
  **latitude** | **String** | |
9
9
  **longitude** | **String** | |
10
+ **deleted** | **BOOLEAN** | Whether or not the payee location has been deleted. Deleted payee locations will only be included in delta requests. |
10
11
 
11
12
 
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
9
9
  **memo** | **String** | |
10
10
  **payee_id** | **String** | |
11
11
  **category_id** | **String** | |
12
- **transfer_account_id** | **String** | If a transfer, the account_id which the scheduled sub transaction transfers to |
12
+ **transfer_account_id** | **String** | If a transfer, the account_id which the scheduled subtransaction transfers to |
13
+ **deleted** | **BOOLEAN** | Whether or not the scheduled subtransaction has been deleted. Deleted scheduled subtransactions will only be included in delta requests. |
13
14
 
14
15
 
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
14
14
  **payee_id** | **String** | |
15
15
  **category_id** | **String** | |
16
16
  **transfer_account_id** | **String** | If a transfer, the account_id which the scheduled transaction transfers to |
17
+ **deleted** | **BOOLEAN** | Whether or not the scheduled transaction has been deleted. Deleted scheduled transactions will only be included in delta requests. |
17
18
  **account_name** | **String** | |
18
19
  **payee_name** | **String** | |
19
20
  **category_name** | **String** | |
@@ -14,5 +14,6 @@ Name | Type | Description | Notes
14
14
  **payee_id** | **String** | |
15
15
  **category_id** | **String** | |
16
16
  **transfer_account_id** | **String** | If a transfer, the account_id which the scheduled transaction transfers to |
17
+ **deleted** | **BOOLEAN** | Whether or not the scheduled transaction has been deleted. Deleted scheduled transactions will only be included in delta requests. |
17
18
 
18
19
 
@@ -10,5 +10,6 @@ Name | Type | Description | Notes
10
10
  **payee_id** | **String** | |
11
11
  **category_id** | **String** | |
12
12
  **transfer_account_id** | **String** | If a transfer, the account_id which the subtransaction transfers to |
13
+ **deleted** | **BOOLEAN** | Whether or not the subtransaction has been deleted. Deleted subtransactions will only be included in delta requests. |
13
14
 
14
15
 
@@ -15,6 +15,7 @@ Name | Type | Description | Notes
15
15
  **category_id** | **String** | |
16
16
  **transfer_account_id** | **String** | |
17
17
  **import_id** | **String** | If the Transaction was imported, this field is a unique (by account) import identifier. If this transaction was imported through File Based Import or Direct Import and not through the API, the import_id will have the format: 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a transaction dated 2015-12-30 in the amount of -$294.23 USD would have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second transaction on the same account was imported and had the same date and same amount, its import_id would be 'YNAB:-294230:2015-12-30:2'. |
18
+ **deleted** | **BOOLEAN** | Whether or not the transaction has been deleted. Deleted transactions will only be included in delta requests. |
18
19
  **account_name** | **String** | |
19
20
  **payee_name** | **String** | |
20
21
  **category_name** | **String** | |
@@ -15,5 +15,6 @@ Name | Type | Description | Notes
15
15
  **category_id** | **String** | |
16
16
  **transfer_account_id** | **String** | |
17
17
  **import_id** | **String** | If the Transaction was imported, this field is a unique (by account) import identifier. If this transaction was imported through File Based Import or Direct Import and not through the API, the import_id will have the format: 'YNAB:[milliunit_amount]:[iso_date]:[occurrence]'. For example, a transaction dated 2015-12-30 in the amount of -$294.23 USD would have an import_id of 'YNAB:-294230:2015-12-30:1'. If a second transaction on the same account was imported and had the same date and same amount, its import_id would be 'YNAB:-294230:2015-12-30:2'. |
18
+ **deleted** | **BOOLEAN** | Whether or not the transaction has been deleted. Deleted transactions will only be included in delta requests. |
18
19
 
19
20
 
@@ -18,6 +18,7 @@ module YnabApi
18
18
 
19
19
  attr_accessor :name
20
20
 
21
+ # The type of account. Note: payPal, merchantAccount, investmentAccount, and mortgage types have been deprecated and will be removed in the future.
21
22
  attr_accessor :type
22
23
 
23
24
  # Whether this account is on budget or not
@@ -37,6 +38,9 @@ module YnabApi
37
38
  # The current uncleared balance of the account in milliunits format
38
39
  attr_accessor :uncleared_balance
39
40
 
41
+ # Whether or not the account has been deleted. Deleted accounts will only be included in delta requests.
42
+ attr_accessor :deleted
43
+
40
44
  class EnumAttributeValidator
41
45
  attr_reader :datatype
42
46
  attr_reader :allowable_values
@@ -70,7 +74,8 @@ module YnabApi
70
74
  :'note' => :'note',
71
75
  :'balance' => :'balance',
72
76
  :'cleared_balance' => :'cleared_balance',
73
- :'uncleared_balance' => :'uncleared_balance'
77
+ :'uncleared_balance' => :'uncleared_balance',
78
+ :'deleted' => :'deleted'
74
79
  }
75
80
  end
76
81
 
@@ -85,7 +90,8 @@ module YnabApi
85
90
  :'note' => :'String',
86
91
  :'balance' => :'Float',
87
92
  :'cleared_balance' => :'Float',
88
- :'uncleared_balance' => :'Float'
93
+ :'uncleared_balance' => :'Float',
94
+ :'deleted' => :'BOOLEAN'
89
95
  }
90
96
  end
91
97
 
@@ -132,6 +138,10 @@ module YnabApi
132
138
  if attributes.has_key?(:'uncleared_balance')
133
139
  self.uncleared_balance = attributes[:'uncleared_balance']
134
140
  end
141
+
142
+ if attributes.has_key?(:'deleted')
143
+ self.deleted = attributes[:'deleted']
144
+ end
135
145
  end
136
146
 
137
147
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -174,6 +184,10 @@ module YnabApi
174
184
  invalid_properties.push('invalid value for "uncleared_balance", uncleared_balance cannot be nil.')
175
185
  end
176
186
 
187
+ if @deleted.nil?
188
+ invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
189
+ end
190
+
177
191
  invalid_properties
178
192
  end
179
193
 
@@ -183,7 +197,7 @@ module YnabApi
183
197
  return false if @id.nil?
184
198
  return false if @name.nil?
185
199
  return false if @type.nil?
186
- type_validator = EnumAttributeValidator.new('String', ['checking', 'savings', 'creditCard', 'cash', 'lineOfCredit', 'merchantAccount', 'payPal', 'investmentAccount', 'mortgage', 'otherAsset', 'otherLiability'])
200
+ type_validator = EnumAttributeValidator.new('String', ['checking', 'savings', 'cash', 'creditCard', 'lineOfCredit', 'otherAsset', 'otherLiability', 'payPal', 'merchantAccount', 'investmentAccount', 'mortgage'])
187
201
  return false unless type_validator.valid?(@type)
188
202
  return false if @on_budget.nil?
189
203
  return false if @closed.nil?
@@ -191,13 +205,14 @@ module YnabApi
191
205
  return false if @balance.nil?
192
206
  return false if @cleared_balance.nil?
193
207
  return false if @uncleared_balance.nil?
208
+ return false if @deleted.nil?
194
209
  true
195
210
  end
196
211
 
197
212
  # Custom attribute writer method checking allowed values (enum).
198
213
  # @param [Object] type Object to be assigned
199
214
  def type=(type)
200
- validator = EnumAttributeValidator.new('String', ['checking', 'savings', 'creditCard', 'cash', 'lineOfCredit', 'merchantAccount', 'payPal', 'investmentAccount', 'mortgage', 'otherAsset', 'otherLiability'])
215
+ validator = EnumAttributeValidator.new('String', ['checking', 'savings', 'cash', 'creditCard', 'lineOfCredit', 'otherAsset', 'otherLiability', 'payPal', 'merchantAccount', 'investmentAccount', 'mortgage'])
201
216
  unless validator.valid?(type)
202
217
  fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
203
218
  end
@@ -217,7 +232,8 @@ module YnabApi
217
232
  note == o.note &&
218
233
  balance == o.balance &&
219
234
  cleared_balance == o.cleared_balance &&
220
- uncleared_balance == o.uncleared_balance
235
+ uncleared_balance == o.uncleared_balance &&
236
+ deleted == o.deleted
221
237
  end
222
238
 
223
239
  # @see the `==` method
@@ -229,7 +245,7 @@ module YnabApi
229
245
  # Calculates hash code according to all attributes.
230
246
  # @return [Fixnum] Hash code
231
247
  def hash
232
- [id, name, type, on_budget, closed, note, balance, cleared_balance, uncleared_balance].hash
248
+ [id, name, type, on_budget, closed, note, balance, cleared_balance, uncleared_balance, deleted].hash
233
249
  end
234
250
 
235
251
  # Builds the object from hash
@@ -34,6 +34,9 @@ module YnabApi
34
34
  # Balance in current month in milliunits format
35
35
  attr_accessor :balance
36
36
 
37
+ # Whether or not the category has been deleted. Deleted categories will only be included in delta requests.
38
+ attr_accessor :deleted
39
+
37
40
  # Attribute mapping from ruby-style variable name to JSON key.
38
41
  def self.attribute_map
39
42
  {
@@ -44,7 +47,8 @@ module YnabApi
44
47
  :'note' => :'note',
45
48
  :'budgeted' => :'budgeted',
46
49
  :'activity' => :'activity',
47
- :'balance' => :'balance'
50
+ :'balance' => :'balance',
51
+ :'deleted' => :'deleted'
48
52
  }
49
53
  end
50
54
 
@@ -58,7 +62,8 @@ module YnabApi
58
62
  :'note' => :'String',
59
63
  :'budgeted' => :'Float',
60
64
  :'activity' => :'Float',
61
- :'balance' => :'Float'
65
+ :'balance' => :'Float',
66
+ :'deleted' => :'BOOLEAN'
62
67
  }
63
68
  end
64
69
 
@@ -101,6 +106,10 @@ module YnabApi
101
106
  if attributes.has_key?(:'balance')
102
107
  self.balance = attributes[:'balance']
103
108
  end
109
+
110
+ if attributes.has_key?(:'deleted')
111
+ self.deleted = attributes[:'deleted']
112
+ end
104
113
  end
105
114
 
106
115
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -139,6 +148,10 @@ module YnabApi
139
148
  invalid_properties.push('invalid value for "balance", balance cannot be nil.')
140
149
  end
141
150
 
151
+ if @deleted.nil?
152
+ invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
153
+ end
154
+
142
155
  invalid_properties
143
156
  end
144
157
 
@@ -153,6 +166,7 @@ module YnabApi
153
166
  return false if @budgeted.nil?
154
167
  return false if @activity.nil?
155
168
  return false if @balance.nil?
169
+ return false if @deleted.nil?
156
170
  true
157
171
  end
158
172
 
@@ -168,7 +182,8 @@ module YnabApi
168
182
  note == o.note &&
169
183
  budgeted == o.budgeted &&
170
184
  activity == o.activity &&
171
- balance == o.balance
185
+ balance == o.balance &&
186
+ deleted == o.deleted
172
187
  end
173
188
 
174
189
  # @see the `==` method
@@ -180,7 +195,7 @@ module YnabApi
180
195
  # Calculates hash code according to all attributes.
181
196
  # @return [Fixnum] Hash code
182
197
  def hash
183
- [id, category_group_id, name, hidden, note, budgeted, activity, balance].hash
198
+ [id, category_group_id, name, hidden, note, budgeted, activity, balance, deleted].hash
184
199
  end
185
200
 
186
201
  # Builds the object from hash
@@ -21,12 +21,16 @@ module YnabApi
21
21
  # Whether or not the category group is hidden
22
22
  attr_accessor :hidden
23
23
 
24
+ # Whether or not the category group has been deleted. Deleted category groups will only be included in delta requests.
25
+ attr_accessor :deleted
26
+
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
27
30
  :'id' => :'id',
28
31
  :'name' => :'name',
29
- :'hidden' => :'hidden'
32
+ :'hidden' => :'hidden',
33
+ :'deleted' => :'deleted'
30
34
  }
31
35
  end
32
36
 
@@ -35,7 +39,8 @@ module YnabApi
35
39
  {
36
40
  :'id' => :'String',
37
41
  :'name' => :'String',
38
- :'hidden' => :'BOOLEAN'
42
+ :'hidden' => :'BOOLEAN',
43
+ :'deleted' => :'BOOLEAN'
39
44
  }
40
45
  end
41
46
 
@@ -58,6 +63,10 @@ module YnabApi
58
63
  if attributes.has_key?(:'hidden')
59
64
  self.hidden = attributes[:'hidden']
60
65
  end
66
+
67
+ if attributes.has_key?(:'deleted')
68
+ self.deleted = attributes[:'deleted']
69
+ end
61
70
  end
62
71
 
63
72
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -76,6 +85,10 @@ module YnabApi
76
85
  invalid_properties.push('invalid value for "hidden", hidden cannot be nil.')
77
86
  end
78
87
 
88
+ if @deleted.nil?
89
+ invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
90
+ end
91
+
79
92
  invalid_properties
80
93
  end
81
94
 
@@ -85,6 +98,7 @@ module YnabApi
85
98
  return false if @id.nil?
86
99
  return false if @name.nil?
87
100
  return false if @hidden.nil?
101
+ return false if @deleted.nil?
88
102
  true
89
103
  end
90
104
 
@@ -95,7 +109,8 @@ module YnabApi
95
109
  self.class == o.class &&
96
110
  id == o.id &&
97
111
  name == o.name &&
98
- hidden == o.hidden
112
+ hidden == o.hidden &&
113
+ deleted == o.deleted
99
114
  end
100
115
 
101
116
  # @see the `==` method
@@ -107,7 +122,7 @@ module YnabApi
107
122
  # Calculates hash code according to all attributes.
108
123
  # @return [Fixnum] Hash code
109
124
  def hash
110
- [id, name, hidden].hash
125
+ [id, name, hidden, deleted].hash
111
126
  end
112
127
 
113
128
  # Builds the object from hash
@@ -21,6 +21,9 @@ module YnabApi
21
21
  # Whether or not the category group is hidden
22
22
  attr_accessor :hidden
23
23
 
24
+ # Whether or not the category group has been deleted. Deleted category groups will only be included in delta requests.
25
+ attr_accessor :deleted
26
+
24
27
  # Category group categories
25
28
  attr_accessor :categories
26
29
 
@@ -30,6 +33,7 @@ module YnabApi
30
33
  :'id' => :'id',
31
34
  :'name' => :'name',
32
35
  :'hidden' => :'hidden',
36
+ :'deleted' => :'deleted',
33
37
  :'categories' => :'categories'
34
38
  }
35
39
  end
@@ -40,6 +44,7 @@ module YnabApi
40
44
  :'id' => :'String',
41
45
  :'name' => :'String',
42
46
  :'hidden' => :'BOOLEAN',
47
+ :'deleted' => :'BOOLEAN',
43
48
  :'categories' => :'Array<Category>'
44
49
  }
45
50
  end
@@ -64,6 +69,10 @@ module YnabApi
64
69
  self.hidden = attributes[:'hidden']
65
70
  end
66
71
 
72
+ if attributes.has_key?(:'deleted')
73
+ self.deleted = attributes[:'deleted']
74
+ end
75
+
67
76
  if attributes.has_key?(:'categories')
68
77
  if (value = attributes[:'categories']).is_a?(Array)
69
78
  self.categories = value
@@ -87,6 +96,10 @@ module YnabApi
87
96
  invalid_properties.push('invalid value for "hidden", hidden cannot be nil.')
88
97
  end
89
98
 
99
+ if @deleted.nil?
100
+ invalid_properties.push('invalid value for "deleted", deleted cannot be nil.')
101
+ end
102
+
90
103
  if @categories.nil?
91
104
  invalid_properties.push('invalid value for "categories", categories cannot be nil.')
92
105
  end
@@ -100,6 +113,7 @@ module YnabApi
100
113
  return false if @id.nil?
101
114
  return false if @name.nil?
102
115
  return false if @hidden.nil?
116
+ return false if @deleted.nil?
103
117
  return false if @categories.nil?
104
118
  true
105
119
  end
@@ -112,6 +126,7 @@ module YnabApi
112
126
  id == o.id &&
113
127
  name == o.name &&
114
128
  hidden == o.hidden &&
129
+ deleted == o.deleted &&
115
130
  categories == o.categories
116
131
  end
117
132
 
@@ -124,7 +139,7 @@ module YnabApi
124
139
  # Calculates hash code according to all attributes.
125
140
  # @return [Fixnum] Hash code
126
141
  def hash
127
- [id, name, hidden, categories].hash
142
+ [id, name, hidden, deleted, categories].hash
128
143
  end
129
144
 
130
145
  # Builds the object from hash