capybara-widgets 0.2.5 → 0.3.0

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: 3b082a1fffc2d061155b56994d4de9bade9ae487
4
- data.tar.gz: d855cc8c9b0c09515865c30d8ee0a27a7746a06d
3
+ metadata.gz: dc7bc4f14123d78f55d255a47760ca2e0f2847be
4
+ data.tar.gz: 3417b7312006844e4342f2b9c8f84866edc6e595
5
5
  SHA512:
6
- metadata.gz: 3b309311d3827d7fd2df96dc7705a32628df6f294cf6c8baad0e17d027833a8b0438f94d19606f1b0004710b6330e2a2aae145928a4e5e528d09f8ae135aa252
7
- data.tar.gz: 47e590770d0e3c2a8649187d1636aa39590663e7c54f5037ccc16a89f482d76d8af82874bc48e6504292d639038b2d8b8ae6e21e517b5860383a02b82a099a80
6
+ metadata.gz: 149746362b7e0475f2f9f4d42402ffa3febb41c854bbef7b96cc4acfcd3b3743136a6694bef9ccc798057705b1d139f82cdeb91caf6ecc97157d699606f9241c
7
+ data.tar.gz: a3905d13cc833bba7d966421d151f0490b68bc48c31f8a7c1a8ad633646005f74873603a6bb2e45281d3d199455b9e3c3cb1d0eed9bf3b34be9b75883591a343
@@ -50,12 +50,22 @@ module Capybara
50
50
  end
51
51
  end
52
52
 
53
+ def resolve(*query_with_args)
54
+ query = query_with_args.shift
55
+ args = query_with_args
56
+ if query.is_a?(Proc)
57
+ return query.(*args)
58
+ else
59
+ return query, *args
60
+ end
61
+ end
62
+
53
63
  def element(name, *query)
54
- define_method("#{name}!") { root.find(*query).click }
55
- define_method(name) { root.find(*query) }
56
- define_method("#{name}=") { |arg| root.find(*query).set(arg) }
57
- define_method("has_#{name}?") { |*args| root.has_selector?(*query, *args) }
58
- define_method("has_no_#{name}?") { |*args| root.has_no_selector?(*query, *args) }
64
+ define_method("#{name}!") { |*args| root.find(*Widget.resolve(*query, *args)).click }
65
+ define_method(name) { |*args| root.find(*Widget.resolve(*query, *args)) }
66
+ define_method("#{name}=") { |arg| root.find(*Widget.resolve(*query)).set(arg) }
67
+ define_method("has_#{name}?") { |*args| root.has_selector?(*Widget.resolve(*query, *args)) }
68
+ define_method("has_no_#{name}?") { |*args| root.has_no_selector?(*Widget.resolve(*query, *args)) }
59
69
  end
60
70
 
61
71
  def required_element(*element_names)
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Widgets
3
- VERSION = "0.2.5"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitalii Grygoruk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-10 00:00:00.000000000 Z
11
+ date: 2015-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler