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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9b50e9841f5e868ad64f52c9851defc86f383b47
4
- data.tar.gz: 719578db8fbaa1114f571dc67421e383613ca87e
3
+ metadata.gz: 1c3bcc424954cdcc59cecdb50c0018bc61f28d36
4
+ data.tar.gz: b67d48f87edf576d5416a46df0e2c921b692d0d8
5
5
  SHA512:
6
- metadata.gz: '029e0c38c1826c88154b558c241d0f4d9e3e52b51554fbe20d0f3460fcffd1f3d9de107a8321670b05732a0d7b74820f5fa94c69a0e593b2ca2e65d62f9315d8'
7
- data.tar.gz: a0df31050a5da15be8033d9a86614e11190321e74b771b102346f06717f8be33c87c94e69f49595328b5ab7c4088c551db3bf9ffb645fec96003fabb57450446
6
+ metadata.gz: 5849c0b42c0f198876bc20d3b48a5ac74e4afbce99b7a83c8af9a6ba709d8031fbe8ee7dcabdb6336babec4e1864baf5934851c28c82f568ff7d8f3f90c627da
7
+ data.tar.gz: cfb180a53d56cb07e28e4a8a33e5285316f0c7b7a5bd8b1dc75b73d13c798d794d8a2680abcf6feffc00bf24c8baff1b95a77f5113ce664fa9ca6ae0b6971d17
@@ -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 - self.class.form_field_writers.to_a
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
- self.class.form_field_readers.map do |field|
230
+ form_field_readers.map do |field|
209
231
  h[field] = send(field)
210
232
  end
211
233
  end
@@ -18,7 +18,14 @@ module WatirPump
18
18
  delegate INSTANCE_DELEGATED_METHODS => :instance
19
19
 
20
20
  def uri(uri = nil)
21
- @uri = uri unless uri.nil?
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir_pump
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bartek Wilczek