riif 1.0.0 → 1.1.0
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/riif/dsl/base.rb +14 -4
- data/lib/riif/version.rb +1 -1
- data/spec/riif/dsl/trns_spec.rb +54 -5
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a56ccfe5ea0177e0d909f225c82b3c109f0c67a81ecada953dc53a662297532
|
4
|
+
data.tar.gz: a12775175aa7214a7ddea3bff6b36646fc591d7f05a543b6706bcb87b4ff54f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8d2308744c322019ee558d536fbf877beacac33e152b936e787307900a0204b6bba273e209d99194a13a5f1572df2553a618701405d7606450c0a161fe57a6a
|
7
|
+
data.tar.gz: bdf9f39f3ceb8410010fc0d45f75d80c83736d606ff90ed7a591493cf365d19debc7769c983366fe585ee763eb3df584cf5931d2ffc6b4c604a1ad529cae0a4a
|
data/CHANGELOG.md
CHANGED
data/lib/riif/dsl/base.rb
CHANGED
@@ -1,14 +1,18 @@
|
|
1
1
|
module Riif::DSL
|
2
2
|
class Base
|
3
|
-
|
4
3
|
def initialize
|
5
4
|
@rows = []
|
6
5
|
@current_row = []
|
7
6
|
end
|
8
7
|
|
9
8
|
def build(&block)
|
10
|
-
|
11
|
-
|
9
|
+
if block_given?
|
10
|
+
if block.arity == 1
|
11
|
+
yield(self)
|
12
|
+
else
|
13
|
+
instance_eval(&block)
|
14
|
+
end
|
15
|
+
end
|
12
16
|
|
13
17
|
output
|
14
18
|
end
|
@@ -16,7 +20,13 @@ module Riif::DSL
|
|
16
20
|
def row(&block)
|
17
21
|
@current_row = [self.class::START_COLUMN]
|
18
22
|
|
19
|
-
|
23
|
+
if block_given?
|
24
|
+
if block.arity == 1
|
25
|
+
yield(self)
|
26
|
+
else
|
27
|
+
instance_eval(&block)
|
28
|
+
end
|
29
|
+
end
|
20
30
|
|
21
31
|
@rows << @current_row
|
22
32
|
end
|
data/lib/riif/version.rb
CHANGED
data/spec/riif/dsl/trns_spec.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Riif::DSL::Trns do
|
4
|
+
subject { trns }
|
4
5
|
|
5
6
|
let(:expected) { File.read('spec/fixtures/trns.iif') }
|
6
7
|
|
7
|
-
let(:trns)
|
8
|
+
let(:trns) do
|
8
9
|
Riif::IIF.new do
|
9
10
|
trns do
|
10
11
|
row do
|
@@ -16,7 +17,7 @@ describe Riif::DSL::Trns do
|
|
16
17
|
amount 20
|
17
18
|
docnum 1
|
18
19
|
clear 'N'
|
19
|
-
klass
|
20
|
+
klass 'foobar'
|
20
21
|
toprint 'N'
|
21
22
|
addr1 'Baker'
|
22
23
|
addr2 'Customer'
|
@@ -47,9 +48,57 @@ describe Riif::DSL::Trns do
|
|
47
48
|
end
|
48
49
|
end
|
49
50
|
end
|
50
|
-
|
51
|
-
|
52
|
-
subject { trns }
|
51
|
+
end
|
53
52
|
|
54
53
|
its(:output) { should eq expected }
|
54
|
+
|
55
|
+
context 'when arguments are passed to the block' do
|
56
|
+
let(:account) { 'Accounts Receivable' }
|
57
|
+
let(:trns) do
|
58
|
+
Riif::IIF.new do |riif|
|
59
|
+
riif.trns do |trns|
|
60
|
+
trns.row do |row|
|
61
|
+
row.trnsid 123
|
62
|
+
row.trnstype 'INVOICE'
|
63
|
+
row.date '8/31/1988'
|
64
|
+
row.accnt account
|
65
|
+
row.name 'Customer'
|
66
|
+
row.amount 20
|
67
|
+
row.docnum 1
|
68
|
+
row.clear 'N'
|
69
|
+
row.klass 'foobar'
|
70
|
+
row.toprint 'N'
|
71
|
+
row.addr1 'Baker'
|
72
|
+
row.addr2 'Customer'
|
73
|
+
row.saddr1 'Watson'
|
74
|
+
row.saddr2 'Recipient'
|
75
|
+
row.rep 'BOB'
|
76
|
+
end
|
77
|
+
|
78
|
+
trns.spl do
|
79
|
+
row do
|
80
|
+
splid '777'
|
81
|
+
trnstype 'INVOICE'
|
82
|
+
date '8/31/1988'
|
83
|
+
accnt 'Income Account'
|
84
|
+
amount '-20'
|
85
|
+
clear 'N'
|
86
|
+
qnty '-2'
|
87
|
+
price 10
|
88
|
+
invitem 'Sales Item'
|
89
|
+
taxable 'N'
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
trns.spl do
|
94
|
+
row do
|
95
|
+
splid '888'
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
its(:output) { should eq expected }
|
103
|
+
end
|
55
104
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riif
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jun Lin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -214,7 +214,7 @@ files:
|
|
214
214
|
homepage: https://github.com/linjunpop/riif
|
215
215
|
licenses: []
|
216
216
|
metadata: {}
|
217
|
-
post_install_message:
|
217
|
+
post_install_message:
|
218
218
|
rdoc_options: []
|
219
219
|
require_paths:
|
220
220
|
- lib
|
@@ -230,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
230
|
version: '0'
|
231
231
|
requirements: []
|
232
232
|
rubygems_version: 3.0.1
|
233
|
-
signing_key:
|
233
|
+
signing_key:
|
234
234
|
specification_version: 4
|
235
235
|
summary: A simple DSL to generate QuickBooks IIF file
|
236
236
|
test_files:
|