weblet 0.2.4 → 0.3.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
  SHA256:
3
- metadata.gz: a20edd9605c808815e0aa3cfc7e9779406760cca57fd34db6011c81f2abaa3f2
4
- data.tar.gz: 1b99f0adc8fde98fe110fb06783644c3245ced80a4c5b03a4aa6f8bb20410e1e
3
+ metadata.gz: a554a34daec79c81fca1f25d822c6d0ceb784f9e86b8420cd6fada8372057995
4
+ data.tar.gz: 22ba08494032e5b230e5837baab8c821b23321a3d4cb91b507fe99ca6afa0fd2
5
5
  SHA512:
6
- metadata.gz: 3e7690b5ee283aee9c596e4496c738b756579801c54994bf0761e78a3a0825f9968eb84c5998675d3b6c8daf6a958a682872712f34a94631c60c74748cc3a156
7
- data.tar.gz: 1aef800f17899e8b11e48bac43fdbfa254e848ff3db59ea840da8b2ecbfd7808cef3a4ff6257adda2b3a351f7bfedc8c36806769f5e91f07b897084a97c7f768
6
+ metadata.gz: e665e8e8b68bd5fb7de8020b5f648087e4d8abeaf8580118a1f2ea786820dd69f359252ed51a502e171b9b59d9f3928f1ec457502e8eb5e9c52e1c15c632c917
7
+ data.tar.gz: be1d18c638b4628bfad7da54e717d476df9b339dc74233f08efa03dc5ca6ddc7ec42b0e377d97197c4dc85f8e04c911073fe817f20e44eed965e83b01791aae6
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/weblet.rb CHANGED
@@ -56,7 +56,9 @@ class WebletBuilder
56
56
 
57
57
  elsif x[0] and x[0].is_a? Array
58
58
 
59
- [:node, {id: x[0][0][/#{@marker}(\w+)/,1]}, '', *build(x[1..-1])]
59
+ head, body = x[0][0].split("\n", 2)
60
+ [:node, {id: head[/#{@marker}(\w+)/,1]}, '', \
61
+ ['![', {}, body.to_s.strip], *build(x[1..-1])]
60
62
 
61
63
  end
62
64
 
@@ -90,7 +92,9 @@ class Weblet
90
92
  @doc.root.xml pretty: true
91
93
  end
92
94
 
93
- def render(*args, b=@b)
95
+ def render(*args)
96
+
97
+ @b = args.pop if args.last.is_a? Binding
94
98
 
95
99
  if args.first.is_a? String then
96
100
  path = args.first.split('/').map(&:to_sym)
@@ -98,18 +102,35 @@ class Weblet
98
102
  path = *args.flatten(1)
99
103
  end
100
104
 
101
- r = @h.dig *path
105
+ #r = @h.dig *path
106
+ r = digx(@h, path)
107
+
108
+ puts 'r: ' + r.inspect if @debug
102
109
 
103
110
  if r.nil? then
104
111
  found = @doc.root.element("//node[@id='#{path.join}']")
105
112
  r = found.cdatas.join if found
106
113
  end
107
114
 
108
- eval('%Q(' + r + ')', b) if r
115
+ eval('%Q(' + r + ')', @b) if r
109
116
 
110
117
  end
111
118
 
112
119
  private
120
+
121
+ def digx(obj, a)
122
+
123
+ h = obj.is_a?(Array) ? obj.last : obj
124
+
125
+ r = h.dig(a.shift)
126
+
127
+ if a.any? then
128
+ digx(r, a)
129
+ else
130
+ r.is_a?(Array) ? r.first : r
131
+ end
132
+
133
+ end
113
134
 
114
135
  def scan(node)
115
136
 
@@ -121,7 +142,14 @@ class Weblet
121
142
 
122
143
  puts 'nodes: ' + nodes.inspect if @debug
123
144
 
124
- r = nodes.any? ? scan(e) : e.cdatas.join()
145
+ r = if nodes.any? then
146
+
147
+ r2 = scan(e)
148
+ e.cdatas.any? ? [e.cdatas.join(), r2] : r2
149
+
150
+ else
151
+ e.cdatas.join()
152
+ end
125
153
 
126
154
  [e.attributes[:id].to_sym, r]
127
155
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weblet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  mKbvoKGru7nPXh4E/ArWQ70Yz24o3lwGZW3XLzwdLPKB8MiOOGuTARkCWFEYT5tE
36
36
  We42rjyhFeidBuSZp6/7Wwlo
37
37
  -----END CERTIFICATE-----
38
- date: 2021-04-03 00:00:00.000000000 Z
38
+ date: 2021-04-04 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rexle
metadata.gz.sig CHANGED
Binary file