clinvoice 1.1.0 → 2.2.2
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/.tool-versions +1 -0
- data/Gemfile.lock +8 -8
- data/clinvoice.gemspec +1 -1
- data/generate-gem +4 -0
- data/lib/clinvoice/data.rb +11 -1
- data/lib/clinvoice/generate_pdf.rb +1 -1
- data/lib/clinvoice/render_basic_info.rb +14 -0
- data/lib/clinvoice/version.rb +1 -1
- data/lib/clinvoice.rb +0 -10
- metadata +11 -10
- data/lib/clinvoice/generate_next_template.rb +0 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0613efe19493bd8ab74fd529496463b68d52cc8feff37fa279d21044dc271f16
|
4
|
+
data.tar.gz: 949fbc2f22382af6c0fb52844ebd0a0ebbff29e625d7f86ed395aff94bb834df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a8b43a3e3a229804442b895715d8712876937e9c50ff18680ce49fb2200b5960565c1dac29224b2374578a035b86b09a45fb4a2fe8090fc84081d1163194475
|
7
|
+
data.tar.gz: ceaa6f32db5fc09e4e16477493f07f4bb44fc03416710af7a5801b9c41c6bd517c8d8247c01354d189345a839b4d09928409e7b5942cacdc9c7da4e0090f5952
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.5.5
|
data/Gemfile.lock
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
clinvoice (1.
|
4
|
+
clinvoice (2.1.1)
|
5
5
|
prawn (~> 2.2)
|
6
6
|
prawn-table (~> 0.2.2)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
pdf-core (0.
|
12
|
-
prawn (2.
|
13
|
-
pdf-core (~> 0.
|
14
|
-
ttfunk (~> 1.
|
11
|
+
pdf-core (0.9.0)
|
12
|
+
prawn (2.4.0)
|
13
|
+
pdf-core (~> 0.9.0)
|
14
|
+
ttfunk (~> 1.7)
|
15
15
|
prawn-table (0.2.2)
|
16
16
|
prawn (>= 1.3.0, < 3.0.0)
|
17
17
|
rake (10.5.0)
|
18
|
-
ttfunk (1.
|
18
|
+
ttfunk (1.7.0)
|
19
19
|
|
20
20
|
PLATFORMS
|
21
21
|
ruby
|
22
22
|
|
23
23
|
DEPENDENCIES
|
24
|
-
bundler (~>
|
24
|
+
bundler (~> 2.2.10)
|
25
25
|
clinvoice!
|
26
26
|
rake (~> 10.0)
|
27
27
|
|
28
28
|
BUNDLED WITH
|
29
|
-
|
29
|
+
2.2.25
|
data/clinvoice.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
26
26
|
spec.require_paths = ['lib']
|
27
27
|
|
28
|
-
spec.add_development_dependency 'bundler', '~>
|
28
|
+
spec.add_development_dependency 'bundler', '~> 2.2.10'
|
29
29
|
spec.add_development_dependency 'rake', '~> 10.0'
|
30
30
|
spec.add_dependency 'prawn', '~> 2.2'
|
31
31
|
spec.add_dependency 'prawn-table', '~> 0.2.2'
|
data/generate-gem
ADDED
data/lib/clinvoice/data.rb
CHANGED
@@ -5,6 +5,8 @@ require 'yaml'
|
|
5
5
|
module Clinvoice
|
6
6
|
class Data
|
7
7
|
attr_reader :invoice_id,
|
8
|
+
:issue_date,
|
9
|
+
:due_date,
|
8
10
|
:currency,
|
9
11
|
:contractor,
|
10
12
|
:client,
|
@@ -14,13 +16,17 @@ module Clinvoice
|
|
14
16
|
:file
|
15
17
|
|
16
18
|
def initialize(file)
|
17
|
-
|
19
|
+
filename = file.end_with?('.yml') ? file : "#{file}.yml"
|
20
|
+
|
21
|
+
data = YAML.load_file(filename)['data']
|
18
22
|
|
19
23
|
@file = file
|
20
24
|
@invoice_id = data['id']
|
21
25
|
@currency = data['currency']
|
22
26
|
@issue_date = data['issue_date']
|
23
27
|
@contractor = data['contractor']
|
28
|
+
@issue_date = data['issue_date']
|
29
|
+
@due_date = data['due_date']
|
24
30
|
@client = data['client']
|
25
31
|
@items = data['items'].map do |item|
|
26
32
|
[
|
@@ -34,5 +40,9 @@ module Clinvoice
|
|
34
40
|
@notes = data['notes']
|
35
41
|
@total = @items.map(&:last).sum
|
36
42
|
end
|
43
|
+
|
44
|
+
def pdf_file
|
45
|
+
"#{file.gsub('.yml', '')}.pdf"
|
46
|
+
end
|
37
47
|
end
|
38
48
|
end
|
@@ -12,6 +12,20 @@ module Clinvoice
|
|
12
12
|
Clinvoice::Helper.new_line(pdf, data.currency)
|
13
13
|
|
14
14
|
pdf.move_down 10
|
15
|
+
|
16
|
+
if data.issue_date
|
17
|
+
Clinvoice::Helper.new_bold_line(pdf, "Issue Date")
|
18
|
+
Clinvoice::Helper.new_line(pdf, data.issue_date)
|
19
|
+
|
20
|
+
pdf.move_down 10
|
21
|
+
end
|
22
|
+
|
23
|
+
if data.issue_date
|
24
|
+
Clinvoice::Helper.new_bold_line(pdf, "Due Date")
|
25
|
+
Clinvoice::Helper.new_line(pdf, data.due_date)
|
26
|
+
|
27
|
+
pdf.move_down 10
|
28
|
+
end
|
15
29
|
end
|
16
30
|
end
|
17
31
|
end
|
data/lib/clinvoice/version.rb
CHANGED
data/lib/clinvoice.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'clinvoice/initialize_template'
|
4
|
-
require 'clinvoice/generate_next_template'
|
5
4
|
require 'clinvoice/generate_pdf'
|
6
5
|
require 'clinvoice/version'
|
7
6
|
|
@@ -17,8 +16,6 @@ module Clinvoice
|
|
17
16
|
Clinvoice::InitializeTemplate.call(file)
|
18
17
|
when 'new'
|
19
18
|
Clinvoice::GeneratePDF.call(file)
|
20
|
-
when 'next'
|
21
|
-
Clinvoice::GenerateNextTemplate.call(file)
|
22
19
|
else
|
23
20
|
show_usage_and_exit!
|
24
21
|
end
|
@@ -30,7 +27,6 @@ module Clinvoice
|
|
30
27
|
|
31
28
|
clinvoice init <datafile> # starts a new template with id 1 and empty entries.
|
32
29
|
clinvoice new <filename> # generates a pdf invoice based on a data file `yml`.
|
33
|
-
clinvoice next <datafile> # generates the next data file `yml`.
|
34
30
|
|
35
31
|
Args:
|
36
32
|
|
@@ -55,12 +51,6 @@ module Clinvoice
|
|
55
51
|
|
56
52
|
This will create a `doge-client-1.pdf` file based on the data file `doge-client-1.yml`.
|
57
53
|
|
58
|
-
4 - Generate a next datafile
|
59
|
-
|
60
|
-
`$ clinvoice next doge-client`
|
61
|
-
|
62
|
-
This will create a `doge-client-2.yml` data file, based on the last data file id + 1.
|
63
|
-
|
64
54
|
USAGE
|
65
55
|
|
66
56
|
exit
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clinvoice
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew S Aguiar
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.2.10
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.2.10
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -77,6 +77,7 @@ extra_rdoc_files: []
|
|
77
77
|
files:
|
78
78
|
- ".gitignore"
|
79
79
|
- ".rspec"
|
80
|
+
- ".tool-versions"
|
80
81
|
- ".travis.yml"
|
81
82
|
- CODE_OF_CONDUCT.md
|
82
83
|
- Gemfile
|
@@ -87,9 +88,9 @@ files:
|
|
87
88
|
- bin/clinvoice
|
88
89
|
- bin/setup
|
89
90
|
- clinvoice.gemspec
|
91
|
+
- generate-gem
|
90
92
|
- lib/clinvoice.rb
|
91
93
|
- lib/clinvoice/data.rb
|
92
|
-
- lib/clinvoice/generate_next_template.rb
|
93
94
|
- lib/clinvoice/generate_pdf.rb
|
94
95
|
- lib/clinvoice/helper.rb
|
95
96
|
- lib/clinvoice/initialize_template.rb
|
@@ -104,7 +105,7 @@ homepage: https://github.com/andrewaguiar/clinvoice
|
|
104
105
|
licenses:
|
105
106
|
- MIT
|
106
107
|
metadata: {}
|
107
|
-
post_install_message:
|
108
|
+
post_install_message:
|
108
109
|
rdoc_options: []
|
109
110
|
require_paths:
|
110
111
|
- lib
|
@@ -119,9 +120,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
120
|
- !ruby/object:Gem::Version
|
120
121
|
version: '0'
|
121
122
|
requirements: []
|
122
|
-
rubyforge_project:
|
123
|
-
rubygems_version: 2.7.
|
124
|
-
signing_key:
|
123
|
+
rubyforge_project:
|
124
|
+
rubygems_version: 2.7.6.2
|
125
|
+
signing_key:
|
125
126
|
specification_version: 4
|
126
127
|
summary: Generates invoices using command line
|
127
128
|
test_files: []
|
@@ -1,16 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Clinvoice
|
4
|
-
module GenerateNextTemplate
|
5
|
-
def self.call(file)
|
6
|
-
last_data_file = Dir["#{file}-*.yml"].max
|
7
|
-
template_content = File.read(last_data_file)
|
8
|
-
|
9
|
-
next_id = template_content.scan(/id: (\d*)/).first.first.to_i + 1
|
10
|
-
|
11
|
-
next_template_content = template_content.sub(/id: (\d*)/, "id: #{next_id}")
|
12
|
-
|
13
|
-
File.write("#{file}-#{next_id}.yml", next_template_content)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|