double_entry 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -1
  3. data/.rubocop.yml +55 -0
  4. data/.travis.yml +23 -12
  5. data/README.md +5 -1
  6. data/Rakefile +8 -3
  7. data/double_entry.gemspec +4 -3
  8. data/lib/active_record/locking_extensions.rb +28 -40
  9. data/lib/active_record/locking_extensions/log_subscriber.rb +4 -4
  10. data/lib/double_entry.rb +0 -2
  11. data/lib/double_entry/account.rb +13 -16
  12. data/lib/double_entry/account_balance.rb +0 -4
  13. data/lib/double_entry/balance_calculator.rb +4 -5
  14. data/lib/double_entry/configurable.rb +0 -2
  15. data/lib/double_entry/configuration.rb +2 -3
  16. data/lib/double_entry/errors.rb +2 -2
  17. data/lib/double_entry/line.rb +13 -16
  18. data/lib/double_entry/locking.rb +13 -18
  19. data/lib/double_entry/reporting.rb +2 -3
  20. data/lib/double_entry/reporting/aggregate.rb +90 -88
  21. data/lib/double_entry/reporting/aggregate_array.rb +58 -58
  22. data/lib/double_entry/reporting/day_range.rb +37 -35
  23. data/lib/double_entry/reporting/hour_range.rb +40 -37
  24. data/lib/double_entry/reporting/line_aggregate.rb +27 -28
  25. data/lib/double_entry/reporting/month_range.rb +67 -67
  26. data/lib/double_entry/reporting/time_range.rb +40 -38
  27. data/lib/double_entry/reporting/time_range_array.rb +3 -5
  28. data/lib/double_entry/reporting/week_range.rb +77 -78
  29. data/lib/double_entry/reporting/year_range.rb +27 -27
  30. data/lib/double_entry/transfer.rb +14 -15
  31. data/lib/double_entry/validation/line_check.rb +92 -86
  32. data/lib/double_entry/version.rb +1 -1
  33. data/lib/generators/double_entry/install/install_generator.rb +1 -2
  34. data/lib/generators/double_entry/install/templates/migration.rb +0 -2
  35. data/script/jack_hammer +1 -1
  36. data/spec/active_record/locking_extensions_spec.rb +45 -38
  37. data/spec/double_entry/account_balance_spec.rb +4 -5
  38. data/spec/double_entry/account_spec.rb +43 -44
  39. data/spec/double_entry/balance_calculator_spec.rb +6 -8
  40. data/spec/double_entry/configuration_spec.rb +14 -16
  41. data/spec/double_entry/line_spec.rb +25 -26
  42. data/spec/double_entry/locking_spec.rb +34 -39
  43. data/spec/double_entry/reporting/aggregate_array_spec.rb +8 -10
  44. data/spec/double_entry/reporting/aggregate_spec.rb +84 -44
  45. data/spec/double_entry/reporting/line_aggregate_spec.rb +7 -6
  46. data/spec/double_entry/reporting/month_range_spec.rb +109 -103
  47. data/spec/double_entry/reporting/time_range_array_spec.rb +145 -135
  48. data/spec/double_entry/reporting/time_range_spec.rb +36 -35
  49. data/spec/double_entry/reporting/week_range_spec.rb +82 -76
  50. data/spec/double_entry/reporting_spec.rb +9 -13
  51. data/spec/double_entry/transfer_spec.rb +13 -15
  52. data/spec/double_entry/validation/line_check_spec.rb +73 -79
  53. data/spec/double_entry_spec.rb +65 -68
  54. data/spec/generators/double_entry/install/install_generator_spec.rb +7 -10
  55. data/spec/spec_helper.rb +68 -10
  56. data/spec/support/accounts.rb +2 -4
  57. data/spec/support/double_entry_spec_helper.rb +4 -4
  58. data/spec/support/gemfiles/Gemfile.rails-3.2.x +1 -0
  59. metadata +31 -2
@@ -1,15 +1,14 @@
1
1
  # encoding: utf-8
2
2
  require_relative 'blueprints'
3
3
  DoubleEntry.configure do |config|
4
-
5
4
  # A set of accounts to test with
6
5
  config.define_accounts do |accounts|
7
6
  user_scope = accounts.active_record_scope_identifier(User)
8
7
  accounts.define(:identifier => :savings, :scope_identifier => user_scope, :positive_only => true)
9
8
  accounts.define(:identifier => :checking, :scope_identifier => user_scope, :positive_only => true)
10
9
  accounts.define(:identifier => :test, :scope_identifier => user_scope)
11
- accounts.define(:identifier => :btc_test, :scope_identifier => user_scope, :currency => "BTC")
12
- accounts.define(:identifier => :btc_savings, :scope_identifier => user_scope, :currency => "BTC")
10
+ accounts.define(:identifier => :btc_test, :scope_identifier => user_scope, :currency => 'BTC')
11
+ accounts.define(:identifier => :btc_savings, :scope_identifier => user_scope, :currency => 'BTC')
13
12
  end
14
13
 
15
14
  # A set of allowed transfers between accounts
@@ -19,5 +18,4 @@ DoubleEntry.configure do |config|
19
18
  transfers.define(:from => :savings, :to => :test, :code => :test_withdrawal)
20
19
  transfers.define(:from => :btc_test, :to => :btc_savings, :code => :btc_test_transfer)
21
20
  end
22
-
23
21
  end
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  module DoubleEntrySpecHelper
3
-
4
3
  def lines_for_account(account)
5
4
  lines = DoubleEntry::Line.order(:id)
6
5
  lines = lines.where(:scope => account.scope_identity) if account.scoped?
@@ -9,7 +8,8 @@ module DoubleEntrySpecHelper
9
8
  end
10
9
 
11
10
  def perform_deposit(user, amount)
12
- DoubleEntry.transfer(Money.new(amount),
11
+ DoubleEntry.transfer(
12
+ Money.new(amount),
13
13
  :from => DoubleEntry.account(:test, :scope => user),
14
14
  :to => DoubleEntry.account(:savings, :scope => user),
15
15
  :code => :bonus,
@@ -17,11 +17,11 @@ module DoubleEntrySpecHelper
17
17
  end
18
18
 
19
19
  def perform_btc_deposit(user, amount)
20
- DoubleEntry.transfer(Money.new(amount, :btc),
20
+ DoubleEntry.transfer(
21
+ Money.new(amount, :btc),
21
22
  :from => DoubleEntry.account(:btc_test, :scope => user),
22
23
  :to => DoubleEntry.account(:btc_savings, :scope => user),
23
24
  :code => :btc_test_transfer,
24
25
  )
25
26
  end
26
-
27
27
  end
@@ -4,3 +4,4 @@ gemspec :path => '../../../'
4
4
 
5
5
  gem 'i18n', '0.6.11'
6
6
  gem 'rails', '~> 3.2.0'
7
+ gem 'minitest', '~> 4.7.5'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: double_entry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Sellitti
@@ -15,7 +15,7 @@ authors:
15
15
  autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
- date: 2015-01-09 00:00:00.000000000 Z
18
+ date: 2015-07-06 00:00:00.000000000 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: money
@@ -157,6 +157,20 @@ dependencies:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: rspec-instafail
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
160
174
  - !ruby/object:Gem::Dependency
161
175
  name: database_cleaner
162
176
  requirement: !ruby/object:Gem::Requirement
@@ -213,6 +227,20 @@ dependencies:
213
227
  - - ">="
214
228
  - !ruby/object:Gem::Version
215
229
  version: '0'
230
+ - !ruby/object:Gem::Dependency
231
+ name: rubocop
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
216
244
  description:
217
245
  email:
218
246
  - anthony.sellitti@envato.com
@@ -229,6 +257,7 @@ extra_rdoc_files: []
229
257
  files:
230
258
  - ".gitignore"
231
259
  - ".rspec"
260
+ - ".rubocop.yml"
232
261
  - ".travis.yml"
233
262
  - ".yardopts"
234
263
  - Gemfile