line-tree 0.9.1 → 0.9.2

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
2
  SHA256:
3
- metadata.gz: 0e1eafcb46a849dfb08b5fda2638ee4a5576ce6c70a464b8c147f832acfb906a
4
- data.tar.gz: af8c4c7a090fb7993abb1abe25ad39b21fab1eef0fd6b3fb210e74e043e942b9
3
+ metadata.gz: 2d6c717f1207c926dec103d34b2ac20d9ebd6c9bca38129552e70e29ac842089
4
+ data.tar.gz: a538960995601cbe45b227ba164930665cdadd0ca98177761066e0162f5ffa9a
5
5
  SHA512:
6
- metadata.gz: b847d6862176923b517233c61124bb0434af41dba4b5c92a37404691f3837062aa81fdd8e4e656e05af183712cc6c1d9fe38ff832976c11a065f3a3c8aadf958
7
- data.tar.gz: 72cc4296e09cb9e79a81f3bc118135d4cf0da08c11342ae7409314aa1b482bd07b8016bb853a58ea805291c70f26d08917b53f36c594a6df0bedf083f2f8d14f
6
+ metadata.gz: 3c4eec204d400c1348e3ec70b5b541830a17058c374ae7de406f5346c7d80ce79482d73f113cc47e022b4dc9df936ab3f304b310ad3dfb5ca07b90a1654f07b5
7
+ data.tar.gz: f9433a19dc0ba57cf40bc3db12d39fa5337e4ce8d603226a7d5065c3ee88ff3d4a318aa28629656a5cb06e153a419db46b8dedf34e14fa9029c5ba7e83934f30
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/line-tree.rb CHANGED
@@ -5,6 +5,19 @@
5
5
  require 'rexle'
6
6
 
7
7
 
8
+ module HashDigx
9
+ refine Hash do
10
+
11
+ def digx( a)
12
+
13
+ self.dig a[0], *a[1..-1].flat_map {|x| [:body, x]}
14
+
15
+ end
16
+ end
17
+ end
18
+
19
+
20
+
8
21
  class LineTree
9
22
  using ColouredText
10
23
 
@@ -53,6 +66,10 @@ class LineTree
53
66
 
54
67
  end
55
68
 
69
+ def to_h()
70
+ build_h(@to_a)
71
+ end
72
+
56
73
  def to_html(numbered: false)
57
74
 
58
75
  @numbered = numbered
@@ -90,6 +107,24 @@ class LineTree
90
107
 
91
108
  private
92
109
 
110
+ def build_h(a)
111
+
112
+ a.inject({}) do |r,x|
113
+
114
+ h2 = if x.is_a? Array and x.length > 1 then
115
+
116
+ {x[0] => {summary: {}, body: build_h(x[1..-1]) } }
117
+
118
+ else
119
+
120
+ {x[0] => {summary: {}}}
121
+ end
122
+
123
+ r.merge(h2)
124
+
125
+ end
126
+ end
127
+
93
128
  def encap(a)
94
129
 
95
130
  a.each do |node|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: line-tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  4ILlu3I+eftJ4QWM2f5lx0ZsEAgVLvw36qPDrdyX8EZf7jWgEBa1DGyDULuKoXbg
36
36
  mL1f4imWp1K3Hh2L8I7XFMbY
37
37
  -----END CERTIFICATE-----
38
- date: 2020-05-02 00:00:00.000000000 Z
38
+ date: 2021-04-07 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rexle
@@ -46,7 +46,7 @@ dependencies:
46
46
  version: '1.5'
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 1.5.2
49
+ version: 1.5.11
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
@@ -56,16 +56,16 @@ dependencies:
56
56
  version: '1.5'
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.5.2
59
+ version: 1.5.11
60
60
  description: Line-tree parses indented lines of text and returns an array representing
61
61
  a tree structure.
62
- email: james@jamesrobertson.eu
62
+ email: digital.robertson@gmail.com
63
63
  executables: []
64
64
  extensions: []
65
65
  extra_rdoc_files: []
66
66
  files:
67
67
  - lib/line-tree.rb
68
- homepage: https://github.com/jrobertson/line-tree
68
+ homepage: http://github.com/jrobertson/line-tree
69
69
  licenses:
70
70
  - MIT
71
71
  metadata: {}
@@ -84,7 +84,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.0.3
87
+ rubyforge_project:
88
+ rubygems_version: 2.7.10
88
89
  signing_key:
89
90
  specification_version: 4
90
91
  summary: line-tree
metadata.gz.sig CHANGED
Binary file