double_entry 1.0.1 → 2.0.0.beta5
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.
- 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
|