datagnan 0.1.0 → 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 +4 -4
- data/lib/datagnan.rb +31 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f42662d14b652fc9a1a7893a01f899b0110bfad
|
4
|
+
data.tar.gz: 90b00872e0458397ea67b4c3bde7160dc449a08b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8aaced078aecc27dad66a30074e2fad86e4a7445a6962e98b0eca6c54f6690f6e568ad7c14e964f6fe6471848377cb848e7d276d7142d009cbb72fa98980c26d
|
7
|
+
data.tar.gz: cf76b2ab34cc0d65c894e9328205fa5df747862513d898a006d15475f0048b2d24bd37a1caf5962b70e294497b8b0558f97b2948afe91ce76596927ceb3e12b8
|
data/lib/datagnan.rb
CHANGED
@@ -53,6 +53,11 @@ class Datagnan
|
|
53
53
|
## replace data-each
|
54
54
|
data_each(vars, root)
|
55
55
|
## debug
|
56
|
+
# puts "-- Datagnan.write ( vars = #{vars} )"
|
57
|
+
# puts "-- Datagnan.write ( root = #{root} )"
|
58
|
+
## replace data-when
|
59
|
+
data_when(vars, root)
|
60
|
+
## debug
|
56
61
|
# puts "Datagnan.write after each ( vars = #{vars} )"
|
57
62
|
# puts "Datagnan.write after each ( root = #{root} )"
|
58
63
|
## replace data-var
|
@@ -141,6 +146,32 @@ private
|
|
141
146
|
end
|
142
147
|
end
|
143
148
|
|
149
|
+
## display if true
|
150
|
+
def data_when(vars, root)
|
151
|
+
## debug
|
152
|
+
# puts "Datagnan.data_when ( vars = #{vars} )"
|
153
|
+
# puts "Datagnan.data_when ( root = #{root} )"
|
154
|
+
root.css('*[data-when]').each do |node|
|
155
|
+
## recursive access to property
|
156
|
+
## debug
|
157
|
+
# puts "-- Datagnan.data_when each ( vars = #{vars} )"
|
158
|
+
# puts "-- Datagnan.data_when each ( node = #{node} )"
|
159
|
+
var = vars
|
160
|
+
node['data-when'].split('.').each do |key|
|
161
|
+
## var exist
|
162
|
+
var = ( var.is_a?(Hash) ? var[key] : (var.respond_to?(key) ? var.send(key) : nil ) )
|
163
|
+
end
|
164
|
+
# puts "-- Datagnan.data_when each ( var = #{var} )"
|
165
|
+
|
166
|
+
unless var.nil?
|
167
|
+
var ? node.remove_attribute('data-when') : node.remove
|
168
|
+
end
|
169
|
+
## TODO: if var not exist remember it (maybe return to model)
|
170
|
+
end
|
171
|
+
## debug
|
172
|
+
# puts "Datagnan.data_when end ( root = #{root} )"
|
173
|
+
end
|
174
|
+
|
144
175
|
end
|
145
176
|
|
146
177
|
def datagnan(template_file, options = {}, locals = {})
|