all_todo 0.1.1 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 175e73b57c1d10ac2ba181f29b75ebc157fc338a
4
- data.tar.gz: 158f117f95b91c334427b28d9f5d0d4ae782512b
3
+ metadata.gz: 5bd07113f2ecdb974722a6043b3b988964bed8e3
4
+ data.tar.gz: f73797ac6601c5e7210a972e676c003a1978bbec
5
5
  SHA512:
6
- metadata.gz: b3eb23b4a778223680e700cb4d419f04087b0f5c57b071731d4c4dd695aadb742d280b3ac3b058b93b3759792aed3c39db19f06cd77c3d94238f7685fde3edd2
7
- data.tar.gz: 01fbf7b6d8dc3c8fdff87e7937fa1a80e2a7e32f6e25b2ede502c5227c2e5c78e70ebfd87ec421d9a59674aaf4a8b4a7fbf329be52f28182356e725bd947ea25
6
+ metadata.gz: c30b739e1e3222bc9a94bf4df92347a0b8217efd33c56b919216f90a4b7214122ccf1758a8766c862ec470f85cfea0859d612479728d73fa1d5653c4f94e1243
7
+ data.tar.gz: 832ba84449f600344216438bab60da8090c41b8238180a86507c7475c018567617eeefd2ea87777dba144ec3d707b60b027ffa0ede4c3460aaee67f5594b8ff1
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/all_todo.rb CHANGED
@@ -3,6 +3,7 @@
3
3
  # file: all_todo.rb
4
4
 
5
5
 
6
+ require 'pxrowx'
6
7
  require 'polyrex-headings'
7
8
 
8
9
 
@@ -14,12 +15,80 @@ class AllTodo
14
15
  lines = s.lines
15
16
  lines.shift 3
16
17
 
17
- declaration = '<?ph schema="sections[title]/section[x]"?>'
18
- @px = PolyrexHeadings.new(declaration + "\n" + lines.join).to_polyrex
18
+ @fields = %w(todo when duration priority)
19
+ declar = "<?ph schema='sections[title]/section[#{@fields.join(',')}]'" +
20
+ " format_masks[0]='[!todo]'?>"
21
+
22
+ @px = PolyrexHeadings.new(declar + "\n" + lines.join).to_polyrex
23
+
24
+
25
+ end
26
+
27
+ def detail()
28
+
29
+ doc = Rexle.new(@px.to_xml)
30
+ a = scan doc.root.element('records')
31
+ lines = scan_print a
32
+
33
+ filename = 'all_todo_detail.txt'
34
+ heading = [filename, '=' * filename.length, '', ''].join("\n")
35
+
36
+ heading + lines.join("\n")
37
+
38
+ end
39
+
40
+ alias breakdown detail
41
+
42
+ def parse_detail(s)
43
+
44
+ lines = s.lines
45
+ lines.shift 3
46
+ pr = PxRowX.new(lines.join)
47
+ pr.to_xml pretty: true
19
48
 
20
49
  end
21
50
 
22
51
  def to_px
23
52
  @px
24
53
  end
54
+
55
+ private
56
+
57
+
58
+ def scan(node)
59
+
60
+ node.elements.map do |section|
61
+
62
+ summary = section.xpath('summary').map do |x|
63
+ @fields.map {|y| x.text(y)}
64
+ end
65
+
66
+ summary + scan(section.element('records'))
67
+ end
68
+ end
69
+
70
+ def scan_print(a, indent=0)
71
+
72
+ lines = []
73
+
74
+ a.each do |row_children|
75
+
76
+ row = row_children.shift
77
+
78
+ @fields.zip(row).each do |col|
79
+
80
+ label, value = col
81
+ lines << ' ' * indent + [label, value].join(': ')
82
+
83
+ end
84
+
85
+ lines << "\n"
86
+
87
+ lines.concat scan_print(row_children, indent+1) if row_children.any?
88
+
89
+ end
90
+
91
+ lines
92
+ end
93
+
25
94
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: all_todo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,8 +31,28 @@ cert_chain:
31
31
  4IWTpx4UfuUB+a/n3zRd7tPzfsCnbjv0WeNaOLxPEdrqrbPxdMp0ULnHMi6/cuMX
32
32
  +/4csIEIHj2yLg==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-11-20 00:00:00.000000000 Z
34
+ date: 2016-11-21 00:00:00.000000000 Z
35
35
  dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: pxrowx
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.0
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.1'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.1.0
36
56
  - !ruby/object:Gem::Dependency
37
57
  name: polyrex-headings
38
58
  requirement: !ruby/object:Gem::Requirement
metadata.gz.sig CHANGED
Binary file