double_entry 1.0.1 → 2.0.0.beta5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +497 -0
- data/README.md +107 -44
- data/double_entry.gemspec +22 -49
- data/lib/active_record/locking_extensions.rb +3 -3
- data/lib/active_record/locking_extensions/log_subscriber.rb +1 -1
- data/lib/double_entry.rb +29 -21
- data/lib/double_entry/account.rb +39 -46
- data/lib/double_entry/account_balance.rb +20 -3
- data/lib/double_entry/balance_calculator.rb +5 -5
- data/lib/double_entry/configurable.rb +1 -0
- data/lib/double_entry/configuration.rb +8 -2
- data/lib/double_entry/errors.rb +13 -13
- data/lib/double_entry/line.rb +7 -6
- data/lib/double_entry/locking.rb +5 -5
- data/lib/double_entry/transfer.rb +37 -30
- data/lib/double_entry/validation.rb +1 -0
- data/lib/double_entry/validation/account_fixer.rb +36 -0
- data/lib/double_entry/validation/line_check.rb +25 -43
- data/lib/double_entry/version.rb +1 -1
- data/lib/generators/double_entry/install/install_generator.rb +22 -1
- data/lib/generators/double_entry/install/templates/initializer.rb +20 -0
- data/lib/generators/double_entry/install/templates/migration.rb +45 -55
- metadata +35 -256
- data/.gitignore +0 -32
- data/.rspec +0 -2
- data/.travis.yml +0 -29
- data/.yardopts +0 -2
- data/Gemfile +0 -2
- data/Rakefile +0 -15
- data/lib/double_entry/reporting.rb +0 -181
- data/lib/double_entry/reporting/aggregate.rb +0 -110
- data/lib/double_entry/reporting/aggregate_array.rb +0 -76
- data/lib/double_entry/reporting/day_range.rb +0 -42
- data/lib/double_entry/reporting/hour_range.rb +0 -45
- data/lib/double_entry/reporting/line_aggregate.rb +0 -16
- data/lib/double_entry/reporting/line_aggregate_filter.rb +0 -79
- data/lib/double_entry/reporting/month_range.rb +0 -94
- data/lib/double_entry/reporting/time_range.rb +0 -59
- data/lib/double_entry/reporting/time_range_array.rb +0 -49
- data/lib/double_entry/reporting/week_range.rb +0 -107
- data/lib/double_entry/reporting/year_range.rb +0 -40
- data/script/jack_hammer +0 -210
- data/script/setup.sh +0 -8
- data/spec/active_record/locking_extensions_spec.rb +0 -110
- data/spec/double_entry/account_balance_spec.rb +0 -7
- data/spec/double_entry/account_spec.rb +0 -130
- data/spec/double_entry/balance_calculator_spec.rb +0 -88
- data/spec/double_entry/configuration_spec.rb +0 -50
- data/spec/double_entry/line_spec.rb +0 -80
- data/spec/double_entry/locking_spec.rb +0 -214
- data/spec/double_entry/performance/double_entry_performance_spec.rb +0 -32
- data/spec/double_entry/performance/reporting/aggregate_performance_spec.rb +0 -50
- data/spec/double_entry/reporting/aggregate_array_spec.rb +0 -123
- data/spec/double_entry/reporting/aggregate_spec.rb +0 -205
- data/spec/double_entry/reporting/line_aggregate_filter_spec.rb +0 -90
- data/spec/double_entry/reporting/line_aggregate_spec.rb +0 -39
- data/spec/double_entry/reporting/month_range_spec.rb +0 -139
- data/spec/double_entry/reporting/time_range_array_spec.rb +0 -169
- data/spec/double_entry/reporting/time_range_spec.rb +0 -45
- data/spec/double_entry/reporting/week_range_spec.rb +0 -103
- data/spec/double_entry/reporting_spec.rb +0 -181
- data/spec/double_entry/transfer_spec.rb +0 -93
- data/spec/double_entry/validation/line_check_spec.rb +0 -99
- data/spec/double_entry_spec.rb +0 -428
- data/spec/generators/double_entry/install/install_generator_spec.rb +0 -30
- data/spec/spec_helper.rb +0 -118
- data/spec/support/accounts.rb +0 -21
- data/spec/support/blueprints.rb +0 -43
- data/spec/support/database.example.yml +0 -21
- data/spec/support/database.travis.yml +0 -24
- data/spec/support/double_entry_spec_helper.rb +0 -27
- data/spec/support/gemfiles/Gemfile.rails-3.2.x +0 -8
- data/spec/support/gemfiles/Gemfile.rails-4.1.x +0 -6
- data/spec/support/gemfiles/Gemfile.rails-4.2.x +0 -5
- data/spec/support/gemfiles/Gemfile.rails-5.0.x +0 -5
- data/spec/support/performance_helper.rb +0 -26
- data/spec/support/reporting_configuration.rb +0 -6
- data/spec/support/schema.rb +0 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3fac339d10077ee1c807e16d37f4aa6bd7ad4d6179f8f94b4ad114085e83b83a
|
4
|
+
data.tar.gz: 5f50033972098dfada8195c0bd17923005f2e0601ed1a694cf25c43080d2f939
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2fb0041f4cf1af34416a5af798d1b7b32675565f39f9f0abec80d40d1ad30159dc1fe716427a41a43c1c608f9b1cd8ff63c998ee2c974895a28c873ba0e7250e
|
7
|
+
data.tar.gz: 66be7ef0d59ca846b5c9c588d68dd72be1577c2ef03069fc93d148ec7bc821aaf265b66ae75ad1cece6649d1605412f41f3e81284ba2d29c513804f6484af368
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,497 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
All notable changes to this project will be documented in this file.
|
4
|
+
|
5
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
6
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
7
|
+
|
8
|
+
## [Unreleased]
|
9
|
+
|
10
|
+
## [2.0.0.beta5] - 2020-01-25
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- Use the Ruby 1.9 hash syntax ([#182]).
|
15
|
+
- Make the Line detail association optional ([#184]).
|
16
|
+
- Support Ruby 3 ([#196]).
|
17
|
+
|
18
|
+
[#182]: https://github.com/envato/double_entry/pull/182
|
19
|
+
[#184]: https://github.com/envato/double_entry/pull/184
|
20
|
+
[#196]: https://github.com/envato/double_entry/pull/196
|
21
|
+
|
22
|
+
## [2.0.0.beta4] - 2020-01-25
|
23
|
+
|
24
|
+
### Added
|
25
|
+
|
26
|
+
- Test against Rails 6.0, ([#176]).
|
27
|
+
|
28
|
+
- Support for Ruby 2.7 ([#180]).
|
29
|
+
|
30
|
+
### Changed
|
31
|
+
|
32
|
+
- Metadata stored by default in a json(b) column for new installs ([#178]).
|
33
|
+
|
34
|
+
- Remove `force: true` from migration ([#181]).
|
35
|
+
|
36
|
+
- Prevent using Ruby 2.2 via restrictions in Gemfile and Gemspec ([#175]).
|
37
|
+
|
38
|
+
[#175]: https://github.com/envato/double_entry/pull/175
|
39
|
+
[#176]: https://github.com/envato/double_entry/pull/176
|
40
|
+
[#178]: https://github.com/envato/double_entry/pull/178
|
41
|
+
[#180]: https://github.com/envato/double_entry/pull/180
|
42
|
+
[#181]: https://github.com/envato/double_entry/pull/181
|
43
|
+
|
44
|
+
## [2.0.0.beta3] - 2019-11-14
|
45
|
+
|
46
|
+
### Fixed
|
47
|
+
|
48
|
+
- Remove duplicate detail columns in `double_entry_lines` table migration, ([#173]).
|
49
|
+
|
50
|
+
[#173]: https://github.com/envato/double_entry/pull/173
|
51
|
+
|
52
|
+
## [2.0.0.beta2] - 2019-01-27
|
53
|
+
|
54
|
+
### Removed
|
55
|
+
|
56
|
+
- Extract `DoubleEntry::Reporting` module to a separate gem:
|
57
|
+
[`double_entry-reporting`](https://github.com/envato/double_entry-reporting).
|
58
|
+
|
59
|
+
If this module is in use in your project add the `double_entry-reporting` gem
|
60
|
+
and checkout the
|
61
|
+
[changelog](https://github.com/envato/double_entry-reporting/blob/master/CHANGELOG.md)
|
62
|
+
for more updates.
|
63
|
+
|
64
|
+
If not in use, one can delete the `double_entry_line_aggregates` table using
|
65
|
+
the following migration:
|
66
|
+
|
67
|
+
```ruby
|
68
|
+
drop_table :double_entry_line_aggregates
|
69
|
+
```
|
70
|
+
|
71
|
+
## [2.0.0.beta1] - 2018-12-31
|
72
|
+
|
73
|
+
### Added
|
74
|
+
|
75
|
+
- Added contributor credits to README.
|
76
|
+
|
77
|
+
- Added support for Ruby 2.3, 2.4, 2.5 and 2.6.
|
78
|
+
|
79
|
+
- Added support for Rails 5.0, 5.1 and 5.2
|
80
|
+
|
81
|
+
- Support passing an array of metadata values.
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
DoubleEntry.transfer(
|
85
|
+
Money.new(20_00),
|
86
|
+
:from => one_account,
|
87
|
+
:to => another_account,
|
88
|
+
:code => :a_business_code_for_this_type_of_transfer,
|
89
|
+
:metadata => { :key1 => ['value 1', 'value 2'], :key2 => 'value 3' },
|
90
|
+
)
|
91
|
+
```
|
92
|
+
|
93
|
+
- Allow partner account to be specified for aggregates.
|
94
|
+
|
95
|
+
- Allow filtering aggregates by multiple metadata key/value pairs.
|
96
|
+
|
97
|
+
- Add index on the `double_entry_line_checks` table. This covers the query to
|
98
|
+
obtain the last line check.
|
99
|
+
|
100
|
+
Add this index to your database via a migration like:
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
def up
|
104
|
+
add_index "double_entry_line_checks", ["created_at", "last_line_id"], :name => "line_checks_created_at_last_line_id_idx"
|
105
|
+
end
|
106
|
+
```
|
107
|
+
|
108
|
+
- Log account balance cache errors to the database when performing the line check:
|
109
|
+
`DoubleEntry::Validation::LineCheck::perform!`
|
110
|
+
|
111
|
+
### Changed
|
112
|
+
|
113
|
+
- Replaced Machinist with Factory Bot in test suite.
|
114
|
+
|
115
|
+
- Implement `DoubleEntry::Transfer::Set` and `DoubleEntry::Account::Set` with
|
116
|
+
`Hash`es rather than `Array`s for performance.
|
117
|
+
|
118
|
+
- Reporting API now uses keyword arguments. Note these reporting classes are
|
119
|
+
marked API private: their interface is not considered stable.
|
120
|
+
- `DoubleEntry::Reporting::aggregate`
|
121
|
+
- `DoubleEntry::Reporting::aggregate_array`
|
122
|
+
- `DoubleEntry::Reporting::Aggregate::new`
|
123
|
+
- `DoubleEntry::Reporting::Aggregate::formatted_amount`
|
124
|
+
- `DoubleEntry::Reporting::AggregateArray::new`
|
125
|
+
- `DoubleEntry::Reporting::LineAggregateFilter::new`
|
126
|
+
|
127
|
+
- Loosened database string column contstraints to the default (255 characters).
|
128
|
+
Engineering teams can choose to apply this change, or apply their own column
|
129
|
+
length constraints specific to their needs. ([#152])
|
130
|
+
|
131
|
+
- Removed default values for the length checks on `code`, `account` and `scope`
|
132
|
+
([#152]). These checks will now only be performed when configured with a value:
|
133
|
+
|
134
|
+
```ruby
|
135
|
+
DoubleEntry.configure do |config|
|
136
|
+
config.code_max_length = 47
|
137
|
+
config.account_identifier_max_length = 31
|
138
|
+
config.scope_identifier_max_length = 23
|
139
|
+
end
|
140
|
+
```
|
141
|
+
- Use `bigint` for monetary values in the database to avoid integer overflow
|
142
|
+
([#154]). Apply changes via this migration:
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
change_column :double_entry_account_balances, :balance, :bigint, null: false
|
146
|
+
|
147
|
+
change_column :double_entry_line_aggregates, :amount, :bigint, null: false
|
148
|
+
|
149
|
+
change_column :double_entry_lines, :amount, :bigint, null: false
|
150
|
+
change_column :double_entry_lines, :balance, :bigint, null: false
|
151
|
+
```
|
152
|
+
- On Rails version 5.1 and above, use `bigint` for foreign key values in the
|
153
|
+
database to avoid integer overflow ([#154]). Apply changes via this
|
154
|
+
migration:
|
155
|
+
|
156
|
+
```ruby
|
157
|
+
change_column :double_entry_line_checks, :last_line_id, :bigint, null: false
|
158
|
+
|
159
|
+
change_column :double_entry_line_metadata, :line_id, :bigint, null: false
|
160
|
+
|
161
|
+
change_column :double_entry_lines, :partner_id, :bigint, null: true
|
162
|
+
change_column :double_entry_lines, :detail_id, :bigint, null: true
|
163
|
+
```
|
164
|
+
|
165
|
+
- Line check validation no-longer performs corrections by default. The
|
166
|
+
`DoubleEntry::Validation::LineCheck::perform!` method will only log validation
|
167
|
+
failures in the database. To perform auto-correction pass the `fixer` option:
|
168
|
+
`LineCheck.perform!(fixer: DoubleEntry::Validation::AccountFixer.new)`
|
169
|
+
|
170
|
+
### Removed
|
171
|
+
|
172
|
+
- Removed support for Ruby 1.9, 2.0, 2.1 and 2.2.
|
173
|
+
|
174
|
+
- Removed support for Rails 3.2, 4.0, and 4.1.
|
175
|
+
|
176
|
+
- Removed unneeded development dependencies from Gemspec.
|
177
|
+
|
178
|
+
- Removed spec and script files from gem package.
|
179
|
+
|
180
|
+
- Removed the `active_record_scope_identifier` method for configuring scoped accounts.
|
181
|
+
|
182
|
+
```ruby
|
183
|
+
user_scope = accounts.active_record_scope_identifier(User)
|
184
|
+
```
|
185
|
+
|
186
|
+
As a replacement, please define your own with a lambda:
|
187
|
+
|
188
|
+
```ruby
|
189
|
+
user_scope = ->(user) do
|
190
|
+
raise 'not a User' unless user.class.name == 'User'
|
191
|
+
user.id
|
192
|
+
end
|
193
|
+
```
|
194
|
+
|
195
|
+
### Fixed
|
196
|
+
|
197
|
+
- Fixed more Ruby warnings.
|
198
|
+
|
199
|
+
- Use `double_entry` namespace when publishing to
|
200
|
+
`ActiveSupport::Notifications`.
|
201
|
+
|
202
|
+
- Fixed problem of Rails version number not being set in migration template for apps using Rails 5 or higher.
|
203
|
+
|
204
|
+
[#152]: https://github.com/envato/double_entry/pull/152
|
205
|
+
[#154]: https://github.com/envato/double_entry/pull/154
|
206
|
+
|
207
|
+
## [1.0.1] - 2018-01-06
|
208
|
+
|
209
|
+
### Removed
|
210
|
+
|
211
|
+
- Removed Rubocop checks and build step.
|
212
|
+
|
213
|
+
### Fixed
|
214
|
+
|
215
|
+
- Use `Money#positive?` and `Money#negative?` rather than comparing to zero.
|
216
|
+
Resolves issues when dealing with multiple currencies.
|
217
|
+
|
218
|
+
- Fixed typo in jack_hammer documentation.
|
219
|
+
|
220
|
+
## [1.0.0] - 2015-08-04
|
221
|
+
|
222
|
+
### Added
|
223
|
+
|
224
|
+
- Record meta-data against transfers.
|
225
|
+
|
226
|
+
```ruby
|
227
|
+
DoubleEntry.transfer(
|
228
|
+
Money.new(20_00),
|
229
|
+
:from => one_account,
|
230
|
+
:to => another_account,
|
231
|
+
:code => :a_business_code_for_this_type_of_transfer,
|
232
|
+
:metadata => { :key1 => 'value 1', :key2 => 'value 2' },
|
233
|
+
)
|
234
|
+
```
|
235
|
+
|
236
|
+
This feature requires a new DB table. Please add a migration similar to:
|
237
|
+
|
238
|
+
```ruby
|
239
|
+
class CreateDoubleEntryLineMetadata < ActiveRecord::Migration
|
240
|
+
def self.up
|
241
|
+
create_table "#{DoubleEntry.table_name_prefix}line_metadata", :force => true do |t|
|
242
|
+
t.integer "line_id", :null => false
|
243
|
+
t.string "key", :limit => 48, :null => false
|
244
|
+
t.string "value", :limit => 64, :null => false
|
245
|
+
t.timestamps :null => false
|
246
|
+
end
|
247
|
+
|
248
|
+
add_index "#{DoubleEntry.table_name_prefix}line_metadata",
|
249
|
+
["line_id", "key", "value"],
|
250
|
+
:name => "lines_meta_line_id_key_value_idx"
|
251
|
+
end
|
252
|
+
|
253
|
+
def self.down
|
254
|
+
drop_table "#{DoubleEntry.table_name_prefix}line_metadata"
|
255
|
+
end
|
256
|
+
end
|
257
|
+
```
|
258
|
+
|
259
|
+
### Changed
|
260
|
+
|
261
|
+
- Raise `DoubleEntry::Locking::LockWaitTimeout` for lock wait timeouts.
|
262
|
+
|
263
|
+
### Fixed
|
264
|
+
|
265
|
+
- Ensure that a range is specified when performing an aggregate function over
|
266
|
+
lines.
|
267
|
+
|
268
|
+
## [0.10.3] - 2015-07-15
|
269
|
+
|
270
|
+
### Added
|
271
|
+
|
272
|
+
- Check code format with Rubocop as part of the CI build.
|
273
|
+
|
274
|
+
### Fixed
|
275
|
+
|
276
|
+
- More Rubocop code formatting issues fixed.
|
277
|
+
|
278
|
+
## [0.10.2] - 2015-07-10
|
279
|
+
|
280
|
+
### Fixed
|
281
|
+
|
282
|
+
- `DoubleEntry::Reporting::AggregateArray` correctly retreives previously
|
283
|
+
calculated aggregates.
|
284
|
+
|
285
|
+
## [0.10.1] - 2015-07-06
|
286
|
+
|
287
|
+
### Added
|
288
|
+
|
289
|
+
- Run CI build against Ruby 2.2.0.
|
290
|
+
|
291
|
+
- Added Rubocop and resolved code formatting issues.
|
292
|
+
|
293
|
+
### Changed
|
294
|
+
|
295
|
+
- Reduced permutations of DB, Ruby and Rails in CI build.
|
296
|
+
|
297
|
+
- Build status badge displayed in README reports on just the master branch.
|
298
|
+
|
299
|
+
- Update RSpec configuration with latest recommended options.
|
300
|
+
|
301
|
+
### Fixed
|
302
|
+
|
303
|
+
- Addressed Ruby warnings.
|
304
|
+
|
305
|
+
- Fixed circular arg reference.
|
306
|
+
|
307
|
+
## [0.10.0] - 2015-01-09
|
308
|
+
|
309
|
+
### Added
|
310
|
+
|
311
|
+
- Define accounts that can be negative only.
|
312
|
+
|
313
|
+
```ruby
|
314
|
+
DoubleEntry.configure do |config|
|
315
|
+
config.define_accounts do |accounts|
|
316
|
+
accounts.define(
|
317
|
+
:identifier => :my_account_that_never_goes_positive,
|
318
|
+
:negative_only => true
|
319
|
+
)
|
320
|
+
end
|
321
|
+
end
|
322
|
+
```
|
323
|
+
|
324
|
+
- Run CI build against Rails 4.2
|
325
|
+
|
326
|
+
## [0.9.0] - 2014-12-08
|
327
|
+
|
328
|
+
### Changed
|
329
|
+
|
330
|
+
- `DoubleEntry::Reporting::Agregate#formated_amount` no longer accepts
|
331
|
+
`currency` argument.
|
332
|
+
|
333
|
+
## [0.8.0] - 2014-11-19
|
334
|
+
|
335
|
+
### Added
|
336
|
+
|
337
|
+
- Log when we encounter deadlocks causing restart/retry.
|
338
|
+
|
339
|
+
## [0.7.2] - 2014-11-18
|
340
|
+
|
341
|
+
### Removed
|
342
|
+
|
343
|
+
- Removed `DoubleEntry::currency` method.
|
344
|
+
|
345
|
+
## [0.7.1] - 2014-11-17
|
346
|
+
|
347
|
+
### Fixed
|
348
|
+
|
349
|
+
- `DoubleEntry::balance` and `DoubleEntry::account` now raise
|
350
|
+
`DoubleEntry::AccountScopeMismatchError` if the scope provided is not of
|
351
|
+
the same type in the account definition.
|
352
|
+
|
353
|
+
- Speed up CI build.
|
354
|
+
|
355
|
+
## [0.7.0] - 2014-11-12
|
356
|
+
|
357
|
+
### Added
|
358
|
+
|
359
|
+
- Added support for currency. :money_with_wings:
|
360
|
+
|
361
|
+
### Changed
|
362
|
+
|
363
|
+
- Require at least version 6.0 of Money gem.
|
364
|
+
|
365
|
+
## [0.6.1] - 2014-10-10
|
366
|
+
|
367
|
+
### Changed
|
368
|
+
|
369
|
+
- Removed use of Active Record callbacks in `DoubleEntry::Line`.
|
370
|
+
|
371
|
+
- Changed `DoubleEntry::Reporting::WeekRange` calculation to use
|
372
|
+
`Date#cweek`.
|
373
|
+
|
374
|
+
## [0.6.0] - 2014-08-23
|
375
|
+
|
376
|
+
### Fixed
|
377
|
+
|
378
|
+
- Fixed defect preventing locking a scoped and a non scoped account.
|
379
|
+
|
380
|
+
## [0.5.0] - 2014-08-01
|
381
|
+
|
382
|
+
### Added
|
383
|
+
|
384
|
+
- Added a convenience method for defining active record scope identifiers.
|
385
|
+
|
386
|
+
```ruby
|
387
|
+
DoubleEntry.configure do |config|
|
388
|
+
config.define_accounts do |accounts|
|
389
|
+
user_scope = accounts.active_record_scope_identifier(User)
|
390
|
+
accounts.define(:identifier => :checking, :scope_identifier => user_scope)
|
391
|
+
end
|
392
|
+
end
|
393
|
+
```
|
394
|
+
|
395
|
+
- Added support for SQLite.
|
396
|
+
|
397
|
+
### Removed
|
398
|
+
|
399
|
+
- Removed errors: `DoubleEntry::RequiredMetaMissing` and
|
400
|
+
`DoubleEntry::UserAccountNotLocked`.
|
401
|
+
|
402
|
+
### Fixed
|
403
|
+
|
404
|
+
- Fixed `Reporting::reconciled?` support for account scopes.
|
405
|
+
|
406
|
+
## [0.4.0] - 2014-07-17
|
407
|
+
|
408
|
+
### Added
|
409
|
+
|
410
|
+
- Added Yardoc documention to the `DoubleEntry::balance` method.
|
411
|
+
|
412
|
+
### Changed
|
413
|
+
|
414
|
+
- Changed `Line#debit?` to `Line#increase?` and `Line#credit?` to
|
415
|
+
`Line#decrease?`.
|
416
|
+
|
417
|
+
### Removed
|
418
|
+
|
419
|
+
- Removed the `DoubleEntry::Line#meta` attribute.
|
420
|
+
|
421
|
+
## [0.3.1] - 2014-07-11
|
422
|
+
|
423
|
+
### Fixed
|
424
|
+
|
425
|
+
- Obtain a year range array without prioviding a start date.
|
426
|
+
|
427
|
+
## [0.3.0] - 2014-07-11
|
428
|
+
|
429
|
+
### Added
|
430
|
+
|
431
|
+
- Add Yardoc to `Reporting` module.
|
432
|
+
- Allow reporting month and year time ranges without a start date.
|
433
|
+
|
434
|
+
### Changed
|
435
|
+
|
436
|
+
- Use ruby18 hash syntax for configuration example in README.
|
437
|
+
|
438
|
+
### Removed
|
439
|
+
|
440
|
+
- Removed `DoubleEntry::describe` and `DoubleEntry::Line#description`
|
441
|
+
methods.
|
442
|
+
|
443
|
+
## [0.2.0] - 2014-06-28
|
444
|
+
|
445
|
+
### Added
|
446
|
+
|
447
|
+
- Added a configuration class to define valid accounts and transfers.
|
448
|
+
|
449
|
+
```ruby
|
450
|
+
DoubleEntry.configure do |config|
|
451
|
+
config.define_accounts do |accounts|
|
452
|
+
accounts.define(identifier: :savings, positive_only: true)
|
453
|
+
accounts.define(identifier: :checking)
|
454
|
+
end
|
455
|
+
|
456
|
+
config.define_transfers do |transfers|
|
457
|
+
transfers.define(from: :checking, to: :savings, code: :deposit)
|
458
|
+
transfers.define(from: :savings, to: :checking, code: :withdraw)
|
459
|
+
end
|
460
|
+
end
|
461
|
+
```
|
462
|
+
|
463
|
+
### Changed
|
464
|
+
|
465
|
+
- Move reporting classes into the `DoubleEntry::Reporting` namespace. Mark
|
466
|
+
this module as `@api private`: internal use only.
|
467
|
+
|
468
|
+
## 0.1.0 - 2014-06-20
|
469
|
+
|
470
|
+
### Added
|
471
|
+
|
472
|
+
- Library released as Open Source!
|
473
|
+
|
474
|
+
[Unreleased]: https://github.com/envato/double_entry/compare/v2.0.0.beta5...HEAD
|
475
|
+
[2.0.0.beta5]: https://github.com/envato/double_entry/compare/v2.0.0.beta4...v2.0.0.beta5
|
476
|
+
[2.0.0.beta4]: https://github.com/envato/double_entry/compare/v2.0.0.beta3...v2.0.0.beta4
|
477
|
+
[2.0.0.beta3]: https://github.com/envato/double_entry/compare/v2.0.0.beta2...v2.0.0.beta3
|
478
|
+
[2.0.0.beta2]: https://github.com/envato/double_entry/compare/v2.0.0.beta1...v2.0.0.beta2
|
479
|
+
[2.0.0.beta1]: https://github.com/envato/double_entry/compare/v1.0.1...v2.0.0.beta1
|
480
|
+
[1.0.1]: https://github.com/envato/double_entry/compare/v1.0.0...v1.0.1
|
481
|
+
[1.0.0]: https://github.com/envato/double_entry/compare/v0.10.3...v1.0.0
|
482
|
+
[0.10.3]: https://github.com/envato/double_entry/compare/v0.10.2...v0.10.3
|
483
|
+
[0.10.2]: https://github.com/envato/double_entry/compare/v0.10.1...v0.10.2
|
484
|
+
[0.10.1]: https://github.com/envato/double_entry/compare/v0.10.0...v0.10.1
|
485
|
+
[0.10.0]: https://github.com/envato/double_entry/compare/v0.9.0...v0.10.0
|
486
|
+
[0.9.0]: https://github.com/envato/double_entry/compare/v0.8.0...v0.9.0
|
487
|
+
[0.8.0]: https://github.com/envato/double_entry/compare/v0.7.2...v0.8.0
|
488
|
+
[0.7.2]: https://github.com/envato/double_entry/compare/v0.7.1...v0.7.2
|
489
|
+
[0.7.1]: https://github.com/envato/double_entry/compare/v0.7.0...v0.7.1
|
490
|
+
[0.7.0]: https://github.com/envato/double_entry/compare/v0.6.1...v0.7.0
|
491
|
+
[0.6.1]: https://github.com/envato/double_entry/compare/v0.6.0...v0.6.1
|
492
|
+
[0.6.0]: https://github.com/envato/double_entry/compare/v0.5.0...v0.6.0
|
493
|
+
[0.5.0]: https://github.com/envato/double_entry/compare/v0.4.0...v0.5.0
|
494
|
+
[0.4.0]: https://github.com/envato/double_entry/compare/v0.3.1...v0.4.0
|
495
|
+
[0.3.1]: https://github.com/envato/double_entry/compare/v0.3.0...v0.3.1
|
496
|
+
[0.3.0]: https://github.com/envato/double_entry/compare/v0.2.0...v0.3.0
|
497
|
+
[0.2.0]: https://github.com/envato/double_entry/compare/v0.1.0...v0.2.0
|