pacioli 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,6 +34,9 @@ class CreatePacioliTables < ActiveRecord::Migration
34
34
  t.references :pacioli_company
35
35
  t.decimal :amount, :precision => 20, :scale => 10
36
36
 
37
+ t.integer :source_documentable_id
38
+ t.string :source_documentable_type
39
+
37
40
  t.datetime :dated
38
41
  t.timestamps
39
42
  end
@@ -2,6 +2,7 @@ module Pacioli
2
2
  class JournalEntry < ActiveRecord::Base
3
3
  belongs_to :company, foreign_key: :pacioli_company_id
4
4
  has_many :transactions, foreign_key: :pacioli_journal_entry_id
5
+ belongs_to :source_documentable, polymorphic: true
5
6
 
6
7
  def with_description(desc)
7
8
  self.description = desc
@@ -11,6 +12,10 @@ module Pacioli
11
12
  self.amount = amt
12
13
  end
13
14
 
15
+ def with_source_document(source_document)
16
+ self.source_documentable = source_document
17
+ end
18
+
14
19
  def type(type=nil)
15
20
  self.journal_type = type
16
21
  end
@@ -57,5 +62,9 @@ module Pacioli
57
62
  self.credit(account: credit[:account], amount: (self.amount / 100) * credit[:percentage])
58
63
  end
59
64
  end
65
+
66
+ def source
67
+ source_documentable
68
+ end
60
69
  end
61
70
  end
@@ -1,3 +1,3 @@
1
1
  module Pacioli
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
Binary file
@@ -33,6 +33,9 @@ ActiveRecord::Schema.define do
33
33
  t.references :pacioli_company
34
34
  t.decimal :amount, :precision => 20, :scale => 10
35
35
 
36
+ t.integer :source_documentable_id
37
+ t.string :source_documentable_type
38
+
36
39
  t.datetime :dated
37
40
  t.timestamps
38
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pacioli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-09 00:00:00.000000000Z
12
+ date: 2013-01-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70253548011320 !ruby/object:Gem::Requirement
16
+ requirement: &70160997647260 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70253548011320
24
+ version_requirements: *70160997647260
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
27
- requirement: &70253548010820 !ruby/object:Gem::Requirement
27
+ requirement: &70160997646760 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70253548010820
35
+ version_requirements: *70160997646760
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: i18n
38
- requirement: &70253548010400 !ruby/object:Gem::Requirement
38
+ requirement: &70160997646340 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70253548010400
46
+ version_requirements: *70160997646340
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: combustion
49
- requirement: &70253548009860 !ruby/object:Gem::Requirement
49
+ requirement: &70160997645800 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: 0.3.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70253548009860
57
+ version_requirements: *70160997645800
58
58
  description: A double-entry bookkeeping system for Ruby on Rails
59
59
  email:
60
60
  - jeffmess@gmail.com