blawzoo-plutus 0.5.3

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 (62) hide show
  1. data/.yardopts +2 -0
  2. data/LICENSE +23 -0
  3. data/README.markdown +197 -0
  4. data/Rakefile +11 -0
  5. data/VERSION.yml +5 -0
  6. data/app/controllers/accounts_controller.rb +43 -0
  7. data/app/controllers/transactions_controller.rb +42 -0
  8. data/app/models/account.rb +57 -0
  9. data/app/models/asset.rb +81 -0
  10. data/app/models/equity.rb +82 -0
  11. data/app/models/expense.rb +81 -0
  12. data/app/models/liability.rb +76 -0
  13. data/app/models/revenue.rb +81 -0
  14. data/app/models/transaction.rb +27 -0
  15. data/app/views/accounts/index.html.erb +27 -0
  16. data/app/views/accounts/show.html.erb +69 -0
  17. data/app/views/layouts/accounts.html.erb +68 -0
  18. data/app/views/layouts/transactions.html.erb +68 -0
  19. data/app/views/transactions/index.html.erb +27 -0
  20. data/app/views/transactions/show.html.erb +24 -0
  21. data/doc/Account.html +300 -0
  22. data/doc/AccountsController.html +317 -0
  23. data/doc/Asset.html +610 -0
  24. data/doc/Equity.html +610 -0
  25. data/doc/Expense.html +610 -0
  26. data/doc/Liability.html +588 -0
  27. data/doc/Revenue.html +610 -0
  28. data/doc/Transaction.html +156 -0
  29. data/doc/TransactionsController.html +317 -0
  30. data/doc/_index.html +204 -0
  31. data/doc/class_list.html +36 -0
  32. data/doc/file.README.html +250 -0
  33. data/doc/file_list.html +38 -0
  34. data/doc/frames.html +13 -0
  35. data/doc/index.html +250 -0
  36. data/doc/js/app.js +202 -0
  37. data/doc/js/full_list.js +149 -0
  38. data/doc/js/jquery.js +154 -0
  39. data/doc/method_list.html +275 -0
  40. data/doc/top-level-namespace.html +90 -0
  41. data/lib/plutus.rb +6 -0
  42. data/plutus.gemspec +116 -0
  43. data/spec/controllers/accounts_controller_spec.rb +26 -0
  44. data/spec/controllers/transactions_controller_spec.rb +26 -0
  45. data/spec/factories/account_factory.rb +31 -0
  46. data/spec/factories/transaction_factory.rb +6 -0
  47. data/spec/lib/plutus_spec.rb +0 -0
  48. data/spec/models/account_spec.rb +43 -0
  49. data/spec/models/asset_spec.rb +46 -0
  50. data/spec/models/equity_spec.rb +46 -0
  51. data/spec/models/expense_spec.rb +46 -0
  52. data/spec/models/liability_spec.rb +46 -0
  53. data/spec/models/revenue_spec.rb +46 -0
  54. data/spec/models/transaction_spec.rb +48 -0
  55. data/spec/rcov.opts +2 -0
  56. data/spec/routing/accounts_routing_spec.rb +30 -0
  57. data/spec/routing/transactions_routing_spec.rb +30 -0
  58. data/spec/schema.rb +31 -0
  59. data/spec/spec.opts +4 -0
  60. data/spec/spec_helper.rb +14 -0
  61. data/tasks/plutus_tasks.rake +4 -0
  62. metadata +204 -0
@@ -0,0 +1,610 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Class: Equity</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html">Index (E)</a> &raquo;
27
+
28
+
29
+ <span class="title">Equity</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: Equity
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+ <dt class="r1">Inherits:</dt>
55
+ <dd class="r1">
56
+ <span class="inheritName"><span class='object_link'><a href="Account.html" title="Account (class)">Account</a></span></span>
57
+
58
+ <ul class="fullTree">
59
+ <li>Object</li>
60
+
61
+ <li class="next">ActiveRecord::Base</li>
62
+
63
+ <li class="next"><span class='object_link'><a href="Account.html" title="Account (class)">Account</a></span></li>
64
+
65
+ <li class="next">Equity</li>
66
+
67
+ </ul>
68
+ <a href="#" class="inheritanceTree">show all</a>
69
+
70
+ </dd>
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+ <dt class="r2 last">Defined in:</dt>
81
+ <dd class="r2 last">app/models/equity.rb</dd>
82
+
83
+ </dl>
84
+ <div class="clear"></div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+ <p>
89
+ The Equity class is an account type used to represents owners rights to the
90
+ assets.
91
+ </p>
92
+ <h3>Normal Balance</h3>
93
+ <p>
94
+ The normal balance on Equity accounts is a <b>Credit</b>.
95
+ </p>
96
+
97
+
98
+ </div>
99
+ </div>
100
+ <div class="tags">
101
+
102
+ <h3>See Also:</h3>
103
+ <ul class="see">
104
+
105
+ <li><a href="http://en.wikipedia.org/wiki/Equity_(finance)" target="_parent" title="Equity">Equity</a></li>
106
+
107
+ </ul>
108
+ <h3>Author:</h3>
109
+ <ul class="author">
110
+
111
+ <li>
112
+
113
+
114
+
115
+
116
+
117
+ <div class='inline'><p>
118
+ Michael Bulat
119
+ </p>
120
+ </div>
121
+
122
+ </li>
123
+
124
+ </ul>
125
+
126
+ </div>
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+ <h2>
136
+ Class Method Summary
137
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
138
+ </h2>
139
+
140
+ <ul class="summary">
141
+
142
+ <li class="public ">
143
+ <span class="summary_signature">
144
+
145
+ <a href="#balance-class_method" title="balance (class method)">+ (BigDecimal) <strong>balance</strong> </a>
146
+
147
+
148
+
149
+ </span>
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+ <span class="summary_desc"><div class='inline'><p>
159
+ This class method is used to return the balance of all Equity accounts.
160
+ </p>
161
+ </div></span>
162
+
163
+ </li>
164
+
165
+
166
+ </ul>
167
+
168
+ <h2>
169
+ Instance Method Summary
170
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
171
+ </h2>
172
+
173
+ <ul class="summary">
174
+
175
+ <li class="public ">
176
+ <span class="summary_signature">
177
+
178
+ <a href="#balance-instance_method" title="#balance (instance method)">- (BigDecimal) <strong>balance</strong> </a>
179
+
180
+
181
+
182
+ </span>
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <span class="summary_desc"><div class='inline'><p>
192
+ The balance of the account.
193
+ </p>
194
+ </div></span>
195
+
196
+ </li>
197
+
198
+
199
+ <li class="public ">
200
+ <span class="summary_signature">
201
+
202
+ <a href="#credits_balance-instance_method" title="#credits_balance (instance method)">- (BigDecimal) <strong>credits_balance</strong> </a>
203
+
204
+
205
+
206
+ </span>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+ <span class="summary_desc"><div class='inline'><p>
216
+ The credit balance for the account.
217
+ </p>
218
+ </div></span>
219
+
220
+ </li>
221
+
222
+
223
+ <li class="public ">
224
+ <span class="summary_signature">
225
+
226
+ <a href="#debits_balance-instance_method" title="#debits_balance (instance method)">- (BigDecimal) <strong>debits_balance</strong> </a>
227
+
228
+
229
+
230
+ </span>
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+ <span class="summary_desc"><div class='inline'><p>
240
+ The debit balance for the account.
241
+ </p>
242
+ </div></span>
243
+
244
+ </li>
245
+
246
+
247
+ </ul>
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Account.html" title="Account (class)">Account</a></span></h3>
259
+ <p class="inherited"><span class='object_link'><a href="Account.html#trial_balance-class_method" title="Account.trial_balance (method)">trial_balance</a></span></p>
260
+
261
+
262
+
263
+ <div id="class_method_details" class="method_details_list">
264
+ <h2>Class Method Details</h2>
265
+
266
+
267
+ <div class="method_details first">
268
+ <p class="signature first" id="balance-class_method">
269
+
270
+ + (<tt>BigDecimal</tt>) <strong>balance</strong>
271
+
272
+
273
+
274
+ </p><div class="docstring">
275
+ <div class="discussion">
276
+ <p>
277
+ This class method is used to return the balance of all Equity accounts.
278
+ </p>
279
+ <p>
280
+ Contra accounts are automatically subtracted from the balance.
281
+ </p>
282
+
283
+
284
+ </div>
285
+ </div>
286
+ <div class="tags">
287
+
288
+ <div class="examples">
289
+ <h3>Examples:</h3>
290
+
291
+ <h4><div class='inline'></div></h4>
292
+ <pre class="example code"><span class='rshft op'>&gt;&gt;</span> <span class='Equity constant id'>Equity</span><span class='dot token'>.</span><span class='balance identifier id'>balance</span>
293
+ <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='comment val'>#&lt;BigDecimal:1030fcc98,'0.82875E5',8(20)&gt;</span>
294
+ </pre>
295
+
296
+ </div>
297
+ <h3>Returns:</h3>
298
+ <ul class="return">
299
+
300
+ <li>
301
+
302
+ <span class='type'>(<tt>BigDecimal</tt>)</span>
303
+
304
+
305
+
306
+
307
+ &mdash;
308
+ <div class='inline'><p>
309
+ The decimal value balance
310
+ </p>
311
+ </div>
312
+
313
+ </li>
314
+
315
+ </ul>
316
+
317
+ </div><table class="source_code">
318
+ <tr>
319
+ <td>
320
+ <pre class="lines">
321
+
322
+
323
+ 70
324
+ 71
325
+ 72
326
+ 73
327
+ 74
328
+ 75
329
+ 76
330
+ 77
331
+ 78
332
+ 79
333
+ 80
334
+ 81</pre>
335
+ </td>
336
+ <td>
337
+ <pre class="code"><span class="info file"># File 'app/models/equity.rb', line 70</span>
338
+
339
+ <span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='balance identifier id'>balance</span>
340
+ <span class='accounts_balance identifier id'>accounts_balance</span> <span class='assign token'>=</span> <span class='BigDecimal constant id'>BigDecimal</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>'0'</span><span class='rparen token'>)</span>
341
+ <span class='accounts identifier id'>accounts</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='find identifier id'>find</span><span class='lparen token'>(</span><span class='symbol val'>:all</span><span class='rparen token'>)</span>
342
+ <span class='accounts identifier id'>accounts</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='equity identifier id'>equity</span><span class='bitor op'>|</span>
343
+ <span class='unless unless kw'>unless</span> <span class='equity identifier id'>equity</span><span class='dot token'>.</span><span class='contra identifier id'>contra</span>
344
+ <span class='accounts_balance identifier id'>accounts_balance</span> <span class='opasgn op'>+=</span> <span class='equity identifier id'>equity</span><span class='dot token'>.</span><span class='balance identifier id'>balance</span>
345
+ <span class='else else kw'>else</span>
346
+ <span class='accounts_balance identifier id'>accounts_balance</span> <span class='opasgn op'>-=</span> <span class='equity identifier id'>equity</span><span class='dot token'>.</span><span class='balance identifier id'>balance</span>
347
+ <span class='end end kw'>end</span>
348
+ <span class='end end kw'>end</span>
349
+ <span class='accounts_balance identifier id'>accounts_balance</span>
350
+ <span class='end end kw'>end</span>
351
+ </pre>
352
+ </td>
353
+ </tr>
354
+ </table>
355
+ </div>
356
+
357
+ </div>
358
+
359
+ <div id="instance_method_details" class="method_details_list">
360
+ <h2>Instance Method Details</h2>
361
+
362
+
363
+ <div class="method_details first">
364
+ <p class="signature first" id="balance-instance_method">
365
+
366
+ - (<tt>BigDecimal</tt>) <strong>balance</strong>
367
+
368
+
369
+
370
+ </p><div class="docstring">
371
+ <div class="discussion">
372
+ <p>
373
+ The balance of the account.
374
+ </p>
375
+ <p>
376
+ Equity accounts have normal credit balances, so the debits are subtracted
377
+ from the credits unless this is a contra account, in which credits are
378
+ subtracted from debits
379
+ </p>
380
+
381
+
382
+ </div>
383
+ </div>
384
+ <div class="tags">
385
+
386
+ <div class="examples">
387
+ <h3>Examples:</h3>
388
+
389
+ <h4><div class='inline'></div></h4>
390
+ <pre class="example code"><span class='rshft op'>&gt;&gt;</span> <span class='asset identifier id'>asset</span><span class='dot token'>.</span><span class='balance identifier id'>balance</span>
391
+ <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='comment val'>#&lt;BigDecimal:103259bb8,'0.2E4',4(12)&gt; </span>
392
+ </pre>
393
+
394
+ </div>
395
+ <h3>Returns:</h3>
396
+ <ul class="return">
397
+
398
+ <li>
399
+
400
+ <span class='type'>(<tt>BigDecimal</tt>)</span>
401
+
402
+
403
+
404
+
405
+ &mdash;
406
+ <div class='inline'><p>
407
+ The decimal value balance
408
+ </p>
409
+ </div>
410
+
411
+ </li>
412
+
413
+ </ul>
414
+
415
+ </div><table class="source_code">
416
+ <tr>
417
+ <td>
418
+ <pre class="lines">
419
+
420
+
421
+ 52
422
+ 53
423
+ 54
424
+ 55
425
+ 56
426
+ 57
427
+ 58</pre>
428
+ </td>
429
+ <td>
430
+ <pre class="code"><span class="info file"># File 'app/models/equity.rb', line 52</span>
431
+
432
+ <span class='def def kw'>def</span> <span class='balance identifier id'>balance</span>
433
+ <span class='unless unless kw'>unless</span> <span class='contra identifier id'>contra</span>
434
+ <span class='credits_balance identifier id'>credits_balance</span> <span class='minus op'>-</span> <span class='debits_balance identifier id'>debits_balance</span>
435
+ <span class='else else kw'>else</span>
436
+ <span class='debits_balance identifier id'>debits_balance</span> <span class='minus op'>-</span> <span class='credits_balance identifier id'>credits_balance</span>
437
+ <span class='end end kw'>end</span>
438
+ <span class='end end kw'>end</span>
439
+ </pre>
440
+ </td>
441
+ </tr>
442
+ </table>
443
+ </div>
444
+
445
+ <div class="method_details ">
446
+ <p class="signature " id="credits_balance-instance_method">
447
+
448
+ - (<tt>BigDecimal</tt>) <strong>credits_balance</strong>
449
+
450
+
451
+
452
+ </p><div class="docstring">
453
+ <div class="discussion">
454
+ <p>
455
+ The credit balance for the account.
456
+ </p>
457
+
458
+
459
+ </div>
460
+ </div>
461
+ <div class="tags">
462
+
463
+ <div class="examples">
464
+ <h3>Examples:</h3>
465
+
466
+ <h4><div class='inline'></div></h4>
467
+ <pre class="example code"><span class='rshft op'>&gt;&gt;</span> <span class='equity identifier id'>equity</span><span class='dot token'>.</span><span class='credits_balance identifier id'>credits_balance</span>
468
+ <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='comment val'>#&lt;BigDecimal:103259bb8,'0.3E4',4(12)&gt; </span>
469
+ </pre>
470
+
471
+ </div>
472
+ <h3>Returns:</h3>
473
+ <ul class="return">
474
+
475
+ <li>
476
+
477
+ <span class='type'>(<tt>BigDecimal</tt>)</span>
478
+
479
+
480
+
481
+
482
+ &mdash;
483
+ <div class='inline'><p>
484
+ The decimal value credit balance
485
+ </p>
486
+ </div>
487
+
488
+ </li>
489
+
490
+ </ul>
491
+
492
+ </div><table class="source_code">
493
+ <tr>
494
+ <td>
495
+ <pre class="lines">
496
+
497
+
498
+ 18
499
+ 19
500
+ 20
501
+ 21
502
+ 22
503
+ 23
504
+ 24</pre>
505
+ </td>
506
+ <td>
507
+ <pre class="code"><span class="info file"># File 'app/models/equity.rb', line 18</span>
508
+
509
+ <span class='def def kw'>def</span> <span class='credits_balance identifier id'>credits_balance</span>
510
+ <span class='credits_balance identifier id'>credits_balance</span> <span class='assign token'>=</span> <span class='BigDecimal constant id'>BigDecimal</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>'0'</span><span class='rparen token'>)</span>
511
+ <span class='credit_transactions identifier id'>credit_transactions</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='credit_transaction identifier id'>credit_transaction</span><span class='bitor op'>|</span>
512
+ <span class='credits_balance identifier id'>credits_balance</span> <span class='assign token'>=</span> <span class='credits_balance identifier id'>credits_balance</span> <span class='plus op'>+</span> <span class='credit_transaction identifier id'>credit_transaction</span><span class='dot token'>.</span><span class='amount identifier id'>amount</span>
513
+ <span class='end end kw'>end</span>
514
+ <span class='return return kw'>return</span> <span class='credits_balance identifier id'>credits_balance</span>
515
+ <span class='end end kw'>end</span>
516
+ </pre>
517
+ </td>
518
+ </tr>
519
+ </table>
520
+ </div>
521
+
522
+ <div class="method_details ">
523
+ <p class="signature " id="debits_balance-instance_method">
524
+
525
+ - (<tt>BigDecimal</tt>) <strong>debits_balance</strong>
526
+
527
+
528
+
529
+ </p><div class="docstring">
530
+ <div class="discussion">
531
+ <p>
532
+ The debit balance for the account.
533
+ </p>
534
+
535
+
536
+ </div>
537
+ </div>
538
+ <div class="tags">
539
+
540
+ <div class="examples">
541
+ <h3>Examples:</h3>
542
+
543
+ <h4><div class='inline'></div></h4>
544
+ <pre class="example code"><span class='rshft op'>&gt;&gt;</span> <span class='equity identifier id'>equity</span><span class='dot token'>.</span><span class='debits_balance identifier id'>debits_balance</span>
545
+ <span class='assign token'>=</span><span class='gt op'>&gt;</span> <span class='comment val'>#&lt;BigDecimal:103259bb8,'0.1E4',4(12)&gt; </span>
546
+ </pre>
547
+
548
+ </div>
549
+ <h3>Returns:</h3>
550
+ <ul class="return">
551
+
552
+ <li>
553
+
554
+ <span class='type'>(<tt>BigDecimal</tt>)</span>
555
+
556
+
557
+
558
+
559
+ &mdash;
560
+ <div class='inline'><p>
561
+ The decimal value credit balance
562
+ </p>
563
+ </div>
564
+
565
+ </li>
566
+
567
+ </ul>
568
+
569
+ </div><table class="source_code">
570
+ <tr>
571
+ <td>
572
+ <pre class="lines">
573
+
574
+
575
+ 33
576
+ 34
577
+ 35
578
+ 36
579
+ 37
580
+ 38
581
+ 39</pre>
582
+ </td>
583
+ <td>
584
+ <pre class="code"><span class="info file"># File 'app/models/equity.rb', line 33</span>
585
+
586
+ <span class='def def kw'>def</span> <span class='debits_balance identifier id'>debits_balance</span>
587
+ <span class='debits_balance identifier id'>debits_balance</span> <span class='assign token'>=</span> <span class='BigDecimal constant id'>BigDecimal</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>'0'</span><span class='rparen token'>)</span>
588
+ <span class='debit_transactions identifier id'>debit_transactions</span><span class='dot token'>.</span><span class='each identifier id'>each</span> <span class='do do kw'>do</span> <span class='bitor op'>|</span><span class='debit_transaction identifier id'>debit_transaction</span><span class='bitor op'>|</span>
589
+ <span class='debits_balance identifier id'>debits_balance</span> <span class='assign token'>=</span> <span class='debits_balance identifier id'>debits_balance</span> <span class='plus op'>+</span> <span class='debit_transaction identifier id'>debit_transaction</span><span class='dot token'>.</span><span class='amount identifier id'>amount</span>
590
+ <span class='end end kw'>end</span>
591
+ <span class='return return kw'>return</span> <span class='debits_balance identifier id'>debits_balance</span>
592
+ <span class='end end kw'>end</span>
593
+ </pre>
594
+ </td>
595
+ </tr>
596
+ </table>
597
+ </div>
598
+
599
+ </div>
600
+
601
+ </div>
602
+
603
+ <div id="footer">
604
+ Generated on Fri Dec 3 14:35:07 2010 by
605
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
606
+ 0.6.2 (ruby-1.8.7).
607
+ </div>
608
+
609
+ </body>
610
+ </html>