quickpep 0.1.3 → 0.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00b7cb104e2090fb59936478625cf3802e3cb994b22279e1ee22b973749daed1
4
- data.tar.gz: 051e2bc9b41b8fa555a47f0af0f2a069ce472ab65a60426d7a3c7dd8f0fee88f
3
+ metadata.gz: 781926a87ca1e7da51eb37ae4c04241ed58161298e5e30274fdd17b815bfb0b1
4
+ data.tar.gz: 1313a750409901529c92fe6d777236fa0eec34ea623cefe2deec5fb7991d2f9f
5
5
  SHA512:
6
- metadata.gz: 64e8b74f36ec2486e985e9c936735d7e6394315c479b829b95de2b426abb2d477be0497e6a37241c95993d487bafbe144f796084e9de8cd9fcacf9c4fa775dc2
7
- data.tar.gz: d17d3b85c28bc7cfc7c633927122d28ef1d5644d7d9a48f440700fb19228a656fcab5f6c2a1ae09601a56262e2fddcc58df7d7b5e1c2d6fe4ac484b283dbe16b
6
+ metadata.gz: ebc1a5b5a6e5accc3ea775a40cada9983d764a5082248acbb9876651f1ad96d43d2ef15e5e91137abc3ac949b8343a10b2b67e30394f80dfbc6f49c38e28d23a
7
+ data.tar.gz: b508903ad51617cbaf18d5579172c54966df2d85721e74cb743af55201f48a0a0cbd960781682868d730c86e7e9b26a108d72bcb5b686bf7dd3c080cf322007b
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/quickpep.rb CHANGED
@@ -11,7 +11,7 @@ require 'event_nlp'
11
11
  class QuickPep
12
12
  using ColouredText
13
13
 
14
- attr_reader :to_s
14
+ attr_reader :to_s, :to_dx
15
15
 
16
16
  def initialize(s, balance: 0, currency: '', today: Date.today, debug: false)
17
17
 
@@ -60,6 +60,39 @@ class QuickPep
60
60
 
61
61
  end
62
62
 
63
+ def to_html(title: "Personal Budget #{@today.year}")
64
+
65
+ t = to_dx().to_table
66
+ t.labels = %w(date title debit: credit: balance: uid:)
67
+ table = t.display markdown: true
68
+
69
+ "<html>
70
+ <head>
71
+ <meta name='viewport' content='width=device-width, initial-scale=1'>
72
+ <title>#{title}</title>
73
+ <style>
74
+ table {border-collapse: collapse; width: 700px}
75
+ tr:nth-child(even) {
76
+ background-color: #aca;
77
+ }
78
+ @media print {
79
+
80
+ tr:nth-child(even) {
81
+ background-color: #ccc;
82
+ }
83
+
84
+ }
85
+ </style>
86
+ </head>
87
+ <body>
88
+ <h1>#{title}</h1>
89
+ #{RDiscount.new(table).to_html}
90
+ <hr/>
91
+ <footer>Generated by QuickPEP</footer>
92
+ </body>
93
+ </html>"
94
+ end
95
+
63
96
  def warnings()
64
97
  @warnings.each {|warning| puts warning.warn }
65
98
  end
@@ -72,15 +105,17 @@ class QuickPep
72
105
 
73
106
  @h = dx.all.map {|x| [x.title, x]}.to_h
74
107
 
75
- @date_events = dx.all.flat_map do |rx|
108
+ date_events = dx.all.flat_map do |rx|
76
109
 
77
110
  title = [rx.title, rx.day, rx.recurring].join(' ')
78
111
  puts '1. title: ' + title.inspect if @debug
79
- e = EventNlp.new()
112
+ e = EventNlp.new(@today.to_time)
80
113
  e.project(title).map {|x| [x.to_date, e.parse(title).title]}
81
114
 
82
115
  end.clone.sort_by(&:first)
83
116
 
117
+ # remove any dates less than the current date
118
+ @date_events = date_events.reject {|date, _| date < @today }
84
119
 
85
120
  # identify the source of income
86
121
  found = dx.all.find {|x| x.amount[0] == '+'}
@@ -136,7 +171,8 @@ class QuickPep
136
171
 
137
172
  end
138
173
 
139
- dx2 = Dynarex.new('items/item(date, title, debit, credit, balance)', debug: @debug)
174
+ dx2 = Dynarex.new('items/item(date, title, debit, credit, balance)',
175
+ debug: @debug)
140
176
  dx2.default_key = :uid
141
177
 
142
178
  a.each do |date, title, debit, credit, balance|
@@ -148,12 +184,15 @@ class QuickPep
148
184
  title: title,
149
185
  debit: debit > 0 ? (@currency + "%.2f" % debit) : '',
150
186
  credit: credit > 0 ? (@currency + "%.2f" % credit) : '',
151
- balance: (@currency + "%.2f" % balance).sub(/#{@currency}-/, + '-' + @currency)
187
+ balance: (@currency + "%.2f" % balance).sub(/#{@currency}-/,
188
+ '-' + @currency)
152
189
  }
153
190
 
154
191
  dx2.create row
155
192
  end
156
193
 
194
+ @to_dx = dx2
195
+
157
196
  dx2.to_table #(fields: %i(date title debit: credit: balance:))
158
197
 
159
198
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quickpep
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  kmcJnzHNiVwSBry7rnILYU3ouLJeHEtQY1v/S4KqPXGNS1FPvas3Wb429Cui2LtB
36
36
  CkYfvLZCZS1SZGB2dGilreNS
37
37
  -----END CERTIFICATE-----
38
- date: 2022-04-03 00:00:00.000000000 Z
38
+ date: 2022-05-03 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: event_nlp
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '1.9'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 1.9.8
69
+ version: 1.9.10
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '1.9'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 1.9.8
79
+ version: 1.9.10
80
80
  description:
81
81
  email: digital.robertson@gmail.com
82
82
  executables: []
metadata.gz.sig CHANGED
Binary file