watir_pump 0.3.3 → 0.3.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/watir_pump/component.rb +24 -2
- data/lib/watir_pump/page.rb +8 -1
- 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: 1c3bcc424954cdcc59cecdb50c0018bc61f28d36
|
4
|
+
data.tar.gz: b67d48f87edf576d5416a46df0e2c921b692d0d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5849c0b42c0f198876bc20d3b48a5ac74e4afbce99b7a83c8af9a6ba709d8031fbe8ee7dcabdb6336babec4e1864baf5934851c28c82f568ff7d8f3f90c627da
|
7
|
+
data.tar.gz: cfb180a53d56cb07e28e4a8a33e5285316f0c7b7a5bd8b1dc75b73d13c798d794d8a2680abcf6feffc00bf24c8baff1b95a77f5113ce664fa9ca6ae0b6971d17
|
data/lib/watir_pump/component.rb
CHANGED
@@ -187,8 +187,30 @@ module WatirPump
|
|
187
187
|
end
|
188
188
|
alias node root
|
189
189
|
|
190
|
+
def form_field_writers
|
191
|
+
return @form_field_writers if @form_field_writers
|
192
|
+
@form_field_writers = Set.new
|
193
|
+
self.class.ancestors.each do |a|
|
194
|
+
if a.respond_to? :form_field_writers
|
195
|
+
@form_field_writers += a.form_field_writers
|
196
|
+
end
|
197
|
+
end
|
198
|
+
@form_field_writers
|
199
|
+
end
|
200
|
+
|
201
|
+
def form_field_readers
|
202
|
+
return @form_field_readers if @form_field_readers
|
203
|
+
@form_field_readers = Set.new
|
204
|
+
self.class.ancestors.each do |a|
|
205
|
+
if a.respond_to? :form_field_readers
|
206
|
+
@form_field_readers += a.form_field_readers
|
207
|
+
end
|
208
|
+
end
|
209
|
+
@form_field_readers
|
210
|
+
end
|
211
|
+
|
190
212
|
def fill_form(data)
|
191
|
-
missing = data.to_h.keys -
|
213
|
+
missing = data.to_h.keys - form_field_writers.to_a
|
192
214
|
unless missing.empty?
|
193
215
|
raise "#{self.class.name} does not contain writer(s) for #{missing}"
|
194
216
|
end
|
@@ -205,7 +227,7 @@ module WatirPump
|
|
205
227
|
|
206
228
|
def form_data
|
207
229
|
{}.tap do |h|
|
208
|
-
|
230
|
+
form_field_readers.map do |field|
|
209
231
|
h[field] = send(field)
|
210
232
|
end
|
211
233
|
end
|
data/lib/watir_pump/page.rb
CHANGED
@@ -18,7 +18,14 @@ module WatirPump
|
|
18
18
|
delegate INSTANCE_DELEGATED_METHODS => :instance
|
19
19
|
|
20
20
|
def uri(uri = nil)
|
21
|
-
@uri
|
21
|
+
return @uri if @uri
|
22
|
+
if uri.nil?
|
23
|
+
ancestors[1..-1].each do |a|
|
24
|
+
return @uri = a.uri if a.respond_to?(:uri) && a.uri
|
25
|
+
end
|
26
|
+
else
|
27
|
+
@uri = uri
|
28
|
+
end
|
22
29
|
@uri
|
23
30
|
end
|
24
31
|
|