activity-logger 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cdd4661a84aa8ccea1849bf778eac14d1f292539
4
- data.tar.gz: ec646b877c6f48cdf73349c6215014202a5f4ab9
2
+ SHA256:
3
+ metadata.gz: 0df8af298d3239703cd25652ae248b09a35d57284d2bda162ca5996d653604f5
4
+ data.tar.gz: 2cd0adb54c0b61bdb3c7dad547edb50cb5a198c8148dd61d06730da7d9a936f6
5
5
  SHA512:
6
- metadata.gz: ab4099fd5d56e33e9d1446bedca9bde68b5622d62fce815e56b54038c0e192ca5f5bf2712a7ffd493521481aa0e550c027cef1b0decc55a9d153ab49c90471a6
7
- data.tar.gz: 2419b34bd8efe2eb7fb6d36e84a4b45b1ef890ddf45a025c6ab43af60b7db88258c67a5a850212ffd82e564cde5601123147445edab317ab28f91f5657c139e2
6
+ metadata.gz: 67697208a53af25950f3cd8abea6f7ae116ffbe90633f3ef7b61b8c09aba025b7dab0a539c82a7ad61a0a1eb30a3bb6bec6df5e8ba16b7e35715bc209da28308
7
+ data.tar.gz: 67a2a1bc3b13e86357adf8160f234982ece5fb1f46d27a0fb3b1855b912133c93be833144422be918d6432488a84abd084375f03c015ce454f93cf6bb7a41796
checksums.yaml.gz.sig CHANGED
Binary file
@@ -4,6 +4,7 @@
4
4
 
5
5
  require 'dynarex-daily'
6
6
  require 'simple-config'
7
+ require 'rxfileio'
7
8
 
8
9
 
9
10
  module Library
@@ -17,99 +18,107 @@ module Library
17
18
  end
18
19
 
19
20
  class ActivityLogger
21
+ include RXFileIOModule
22
+ include Library
20
23
 
21
-
22
- def initialize(dir: nil, options: {}, config: nil)
24
+ def initialize(dirpath=nil, dir: dirpath, xsl_path: nil, config: nil)
23
25
 
24
- @options = options
25
26
  @publish_html = false
26
27
 
27
-
28
28
  if config then
29
-
29
+
30
30
  h = SimpleConfig.new(config).to_h
31
- dir, @urlbase, @edit_url, @css_url, @xsl_path = \
31
+ dir, @urlbase, @edit_url, @css_url, xsl = \
32
32
  %i(dir urlbase edit_url css_url xsl_path).map{|x| h[x]}
33
+ @xsl_path = xsl_path || xsl
33
34
  @publish_html = true
35
+
34
36
  end
35
-
37
+
36
38
  Dir.chdir(dir) if dir
37
39
  end
38
40
 
39
41
  def create(desc='', time=Time.now, id: id=nil)
40
42
 
41
- ddaily = DynarexDaily.new(nil, options: @options)
42
-
43
+ ddaily = DynarexDaily.new(nil, xslt: @xsl_path)
44
+
43
45
  ddaily.create(time: time.to_s, desc: desc, id: id)
44
46
  ddaily.save
45
47
 
46
48
  if @publish_html then
49
+
47
50
  File.write 'index.txt', ddaily.to_s
48
- save_html()
51
+ save_html()
49
52
  end
50
-
53
+
51
54
  end
52
-
53
55
 
54
-
56
+
57
+
55
58
  private
56
59
 
57
60
  def add(summary, name, s)
58
61
  summary.add Rexle::Element.new(name).add_text s
59
62
  end
60
-
63
+
61
64
  def render_html(doc)
62
65
 
63
66
  xslt_buffer = if @xsl_path then
64
-
65
- buffer, _ = RXFHelper.read @xsl_path
67
+
68
+ buffer, _ = RXFReader.read @xsl_path
66
69
  buffer
67
-
70
+
68
71
  else
69
-
72
+
73
+ puts 'activity-logger: warning: .xsl file not found, using notices.xsl'
70
74
  fetch_file('notices.xsl')
71
-
75
+
72
76
  end
73
77
 
74
78
  # jr280416 xslt = Nokogiri::XSLT(xslt_buffer)
75
- # jr280416 out = xslt.transform(Nokogiri::XML(doc.xml))
79
+ # jr280416 out = xslt.transform(Nokogiri::XML(doc.xml))
80
+
76
81
  out = Rexslt.new(xslt_buffer, doc.xml).to_s
77
82
 
78
- File.write 'index.html', out
83
+ FileX.write 'index.html', out
79
84
  end
80
-
85
+
81
86
  def save_html()
82
-
87
+
83
88
  newfile = 'formatted.xml'
84
- FileUtils.cp 'dynarexdaily.xml', newfile
85
- doc = Rexle.new File.read(newfile)
86
-
89
+ FileX.cp 'dynarexdaily.xml', newfile
90
+ doc = Rexle.new FileX.read(newfile)
91
+
87
92
  summary = doc.root.element('summary')
88
93
 
94
+
89
95
  date = Date.today.strftime("%d-%b-%Y").upcase
90
96
  add summary, 'title', date + ' Notices'
91
97
  add summary, 'edit_url', @edit_url
92
98
  summary.element('date').text = date
93
99
  add summary, 'css_url', @css_url
94
- add summary, 'published', Time.now.strftime("%d-%m-%Y %H:%M")
95
-
100
+ add summary, 'published', Time.now.strftime("%d-%m-%Y %H:%M")
101
+
96
102
  doc.root.xpath('records/entry') do |entry|
97
-
103
+
98
104
  e = entry.element('time')
99
105
  e.text = Time.parse(e.text).strftime("%-l:%M%P")
100
106
  desc = entry.element('desc')
101
107
  desc.add Rexle.new("<span>%s</span>" % desc.text.unescape).root
102
- desc.text = ''
108
+ desc.text = ''
103
109
  end
104
-
105
- File.write newfile, doc.xml(pretty: true)
110
+
111
+ FileX.write newfile, doc.xml(pretty: true)
106
112
  render_html doc
107
-
113
+
108
114
  # save the related CSS file locally if the file doesn't already exist
109
115
 
110
- if not File.exists? 'notices.css' then
111
- File.write 'notices.css', fetch_file('notices.css')
112
- end
116
+ css_file = File.basename @css_url
117
+
118
+ if not FileX.exists? css_file then
119
+ FileX.write css_file, fetch_file('notices.css')
120
+ end
121
+
113
122
  end
114
123
 
115
- end
124
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activity-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MDQyODE4MTUyNFoXDTE3MDQyODE4MTUyNFowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAK565w9rid2dq8vxcTaf80Vk1qt09+uwSDW37aLpjSmvPeqqGPFAPW+eK9P2
19
- icvrNxuKrFbokLzxxvkVsCemBR7g9EO85zQ1cdYlbMgdxGFbdpJSVMt64D0MP/Xy
20
- VwVFU/Lp5eiSTjKlCRQ8X9Z9tHVQnr2MIfWlLwdZDeWVyiDUNj1eJJ5lw3P9AIpu
21
- UmTW0c02+sqVjUYb+6naj//ksfYcaG2AfIQZwlyy4l/u+eT7AuvKl0vpIo0kdhpf
22
- 184YK7Uqbo3ePG8Ue05TGYXOZBRzKDH444zseokyOCNBa7j872JRQq1iYaszsgts
23
- t5FoFxLPXAvz/a2El4RU7WXe4qsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUj8nZNJQedRC4nRfkE3Fak4OAHrowJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAUqCbUbvx
27
- 7VjuISdOWVVuA1DRI26SC55N9UGXQays0/U4zh8ZKb875tKdqVl+bSSLzUuLf25q
28
- pu5QIEsDx0QoooTL4uLLEiQO3MZ4qegvzMEGQYOWtimfoHO+7I9odKrhbznupKCN
29
- +iqclr2ayJvnIV/PVOQKYJyzxReb1fSNauG8nWfZ2MzqFDlWDkIt+tTw94Qv/Fk2
30
- gMC4uesB7LfKpkWcH7E7ZVnk1Av+otfwgTSd6/y3zNQGSvrIy+/BLYwBIPR7XJVa
31
- mtRjShaIYplelhkvlvR3KW1tYYumHi1mLSHuRvChNgpA0p/nQvwmNAyFBtqa+KK9
32
- BZQKg6VGzirONA==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMjIzMTk1ODM4WhcN
15
+ MjMwMjIzMTk1ODM4WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDcskqI
17
+ lOhUNo75I99EoIhtry73P9XpT0GLN7kjGwmbRvOSVPp7DCT8GTK5Sf9Ok1mcipvn
18
+ LwpiIXKyzbgd+dtSTZpYnwFFqSor1ezMfM7Ui/KP44tDhmpsAqxDDDdWx0qfibgJ
19
+ CqdELbGL2T70AXo1yGBgVqQ/HPEewbUBlYVFsvyIi48g/gKILagsh9TPzQ7c85WS
20
+ 5wPWt07Xmxij88fBjCYaqlyMu+SALP1lCC9La20pnnl3dg5mBy3okxhiS03mE/zJ
21
+ 6ax+di6wDIP40I6hH78Y5ZhwP6l6nwYGZZ4Cr3rGtggjDOdwkQzEGorSOCt6R44R
22
+ fFTBOtyFquWaa4UnACU3EFSrCSdq4v5EtMszEZypBWY7Q+zQPmHe0l+i9xGt1G6A
23
+ +kzPQsbgKEcKDWRZ4bjJpEofkqcBkGNSDZ7AbIiGrUX/9IcPkFGwbOOlE0VSW6Tm
24
+ AIRi29+cNmv5LL1O7E4HuNsYPNmUTxXO9K9dxYrmVcUHI7f0DBJ6rXz0NBsCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUHUyY6u1V
26
+ 3FAFNSeOC+qtn4IhHKIwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEA1LOUqtt+iIV8JiG5T4t5ABuYljOVxc5+h3rPW4oV
29
+ vdqEHGBwlLgRItNAVu1hjwiwGBdBeEtiIdlyP/A9fuiIEH/LysD8OWHlLikDmpF3
30
+ B9vjB7D3Z5ZjaLxAnKS2InfK1nIc0/Up9Q1YonDR/t5/CGf1v+wlYwvH2IaOCTkC
31
+ qK29oll/hsbTORBP5vp4LQxsBUXTIZi/gvZFWXm4PfcZ8/ZT5jnjhf2rlgEsBAm7
32
+ u5e5dO4xEjo0Z7MSe/Z2/m2UWqTQevvnzGliVw1xUpL6W7gD1GguhS5GLUL3grFh
33
+ fFCMsfCWFOyFfax1DrACgkMOXZdXp2NWqiISCsJLluQne4PeYn9svDPydoMaJnPB
34
+ NBV6wjOuB8hgbbENfxdcUhMOwo8+oU84BDd/xfbz7lcrf+Bs/6q5whpyJQQETNAf
35
+ +Qd174XGam7HoAxQJMnJGqURfalDPgo+a56fe05CZyU6Ja02tXcMkNYoLoIXU0fV
36
+ 51XanOwv6dza+pP7W98Johwf
33
37
  -----END CERTIFICATE-----
34
- date: 2016-04-28 00:00:00.000000000 Z
38
+ date: 2022-02-23 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
41
  name: dynarex-daily
@@ -39,42 +43,62 @@ dependencies:
39
43
  requirements:
40
44
  - - "~>"
41
45
  - !ruby/object:Gem::Version
42
- version: '0.2'
46
+ version: '0.5'
43
47
  - - ">="
44
48
  - !ruby/object:Gem::Version
45
- version: 0.2.6
49
+ version: 0.5.1
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
49
53
  requirements:
50
54
  - - "~>"
51
55
  - !ruby/object:Gem::Version
52
- version: '0.2'
56
+ version: '0.5'
53
57
  - - ">="
54
58
  - !ruby/object:Gem::Version
55
- version: 0.2.6
59
+ version: 0.5.1
56
60
  - !ruby/object:Gem::Dependency
57
61
  name: simple-config
58
62
  requirement: !ruby/object:Gem::Requirement
59
63
  requirements:
60
64
  - - "~>"
61
65
  - !ruby/object:Gem::Version
62
- version: '0.6'
66
+ version: '0.7'
63
67
  - - ">="
64
68
  - !ruby/object:Gem::Version
65
- version: 0.6.1
69
+ version: 0.7.2
66
70
  type: :runtime
67
71
  prerelease: false
68
72
  version_requirements: !ruby/object:Gem::Requirement
69
73
  requirements:
70
74
  - - "~>"
71
75
  - !ruby/object:Gem::Version
72
- version: '0.6'
76
+ version: '0.7'
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 0.7.2
80
+ - !ruby/object:Gem::Dependency
81
+ name: rxfileio
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - "~>"
85
+ - !ruby/object:Gem::Version
86
+ version: '0.2'
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.2.1
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.2'
73
97
  - - ">="
74
98
  - !ruby/object:Gem::Version
75
- version: 0.6.1
99
+ version: 0.2.1
76
100
  description:
77
- email: james@r0bertson.co.uk
101
+ email: digital.robertson@gmail.com
78
102
  executables: []
79
103
  extensions: []
80
104
  extra_rdoc_files: []
@@ -99,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
123
  - !ruby/object:Gem::Version
100
124
  version: '0'
101
125
  requirements: []
102
- rubyforge_project:
103
- rubygems_version: 2.4.8
126
+ rubygems_version: 3.2.22
104
127
  signing_key:
105
128
  specification_version: 4
106
129
  summary: Uses the Dynarex-daily gem to log notices for the day
metadata.gz.sig CHANGED
Binary file