watir_pump 0.3.3 → 0.3.4

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
  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