capybara-wheel 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b7eb7e1a4fe1c379fc67e9476d41d5a8ff903ae4
4
+ data.tar.gz: de3e57cf80c9486a20b9a8e2e55d5af5a660336e
5
+ SHA512:
6
+ metadata.gz: e0f46027cfc86fcd4e7f64b9fb41855e095aec432cd417f9484a043386b9e339bc1969073a18211015ef6e0e6612a643c738ae8b158b977e4d827236a749fae6
7
+ data.tar.gz: f89b716d8127af090831941f80dd66d47228ded6f65a9835c80511c8a20500c195b8462d31e19ac8143c617ea0edd2bf33a5a3c1de63c578f0a02d002bbce30d
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format documentation
data/README.md CHANGED
@@ -93,7 +93,7 @@ A page needs to implement two methods:
93
93
  and
94
94
 
95
95
  def on_page?
96
- # Capybara Wheel calls this method before excuting the page block (see Specs section below below)
96
+ # Capybara Wheel calls this method before excuting the page block (see Specs section below)
97
97
  # Recommended: Use Wheel native Page method has_title?('Title')
98
98
  # e.g. has_title?('Login')
99
99
 
@@ -122,10 +122,7 @@ A page needs to implement two methods:
122
122
 
123
123
  Once inside a Page model, it has access to the `element` method.
124
124
 
125
- element 'ElementName', 'selector' *optional block*
126
-
127
- # Wheel recommends using a name that follows the class constant name convention (i.e CamelCase)
128
- # as an object will be created and assigned this name (see below)
125
+ element 'element_name', 'selector' *optional block*
129
126
 
130
127
  The `element` method does several important things:
131
128
 
@@ -144,7 +141,7 @@ Passing a block to element gives access to the Element object for the purpose of
144
141
 
145
142
  **_Example:_**
146
143
 
147
- element 'ButtonOfDoom', '#doom-button' do
144
+ element 'button_of_doom', '#doom-button' do
148
145
 
149
146
  def armed?
150
147
  capybara_element.text == 'Armed'
@@ -152,7 +149,7 @@ Passing a block to element gives access to the Element object for the purpose of
152
149
 
153
150
  end
154
151
 
155
- element 'MissleTracker', '.missle-tracker'
152
+ element 'middle_tracker', '.missle-tracker'
156
153
 
157
154
 
158
155
  #=> SuperVillanConsole.new.button_of_doom.armed?
@@ -165,7 +162,7 @@ Passing a block to element gives access to the Element object for the purpose of
165
162
 
166
163
  An element block also accepts the `element` method.
167
164
 
168
- element 'SubElementName', 'selector' *optional block*
165
+ element 'sub_element_name', 'selector' *optional block*
169
166
 
170
167
  When called inside an element block, the element behaves like an Element but is now scoped to the containing (or parent) element, which reduces ambiguity.
171
168
 
@@ -173,10 +170,10 @@ When called inside an element block, the element behaves like an Element but is
173
170
 
174
171
  Two buttons have an `li` element with the `.key` class. We want to be able to find one and turn it without accidently causing world peace:
175
172
 
176
- element 'ButtonOfDoom', '#doom-button' do
173
+ element 'button_of_doom', '#doom-button' do
177
174
 
178
175
  # reference to this key is scoped inside the #doom-button element
179
- element 'ArmingKey', 'li.key' do
176
+ element 'arming_key', 'li.key' do
180
177
 
181
178
  def turn
182
179
  click
@@ -185,10 +182,10 @@ When called inside an element block, the element behaves like an Element but is
185
182
  end
186
183
  end
187
184
 
188
- element 'ButtonOfWorldPeace', '#peace-button' do
185
+ element 'button_of_world_peace', '#peace-button' do
189
186
 
190
187
  # reference to this key is scoped inside the #peace-button element
191
- element 'ArmingKey', 'li.key' do
188
+ element 'arming_key', 'li.key' do
192
189
 
193
190
  def turn
194
191
  click
@@ -212,12 +209,16 @@ Wheel specs are written to always refer to the models and to never refer to Capy
212
209
 
213
210
  The visit page would use the `on_page?` method to determine if we are indeed on the page. It will use Capyara's internal wait to poll the page until it is ready. We can then even excute within the scope of the page:
214
211
 
212
+ Use the `.visit` method to navigate to the page:
213
+
215
214
  it 'can visit a page and pass a block to execute' do
216
215
  some_page.visit do | page |
217
216
  page.some_element.should be_visible
218
217
  end
219
218
  end
220
219
 
220
+ Or the `.on` method to act on a page without navigating (Capybara Wheel will still check we're on the page):
221
+
221
222
  it 'can also just check if we're on the page without visiting it'
222
223
  some_page.on do | page |
223
224
  page.some_element.should be_visible
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'capybara/wheel/version'
@@ -18,11 +19,9 @@ Gem::Specification.new do |spec|
18
19
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
20
  spec.require_paths = ["lib"]
20
21
 
21
- spec.add_dependency "capybara", "~> 2.1"
22
- spec.add_dependency "rspec"
22
+ spec.add_dependency "capybara"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
25
- spec.add_development_dependency "rake"
24
+ spec.add_development_dependency "rspec", "~> 3.1.0"
26
25
  spec.add_development_dependency "selenium-webdriver", "~> 2.0"
27
26
  spec.add_development_dependency "sinatra", "~> 1.0"
28
27
  spec.add_development_dependency "pry"
@@ -9,32 +9,22 @@ module Capybara
9
9
  include Capybara::Wheel::Includes
10
10
  extend Capybara::Wheel::Includes::ClassIncludes
11
11
 
12
- attr_reader :scope
12
+ attr_reader :selector, :options, :scope
13
13
 
14
- def initialize(selector = nil, scope = nil)
15
- @selector = selector if selector
16
- @scope = scope
14
+ def initialize(selector = nil, options = {}, scope = nil)
15
+ @selector = selector
16
+ @options = options
17
+ @scope = scope
17
18
  end
18
19
 
19
- def_delegators :capybara_element,
20
- :find,
21
- :click,
22
- :has_content?,
23
- :checked?,
24
- :text,
25
- :visible?,
26
- :present?,
27
- :selected?,
28
- :disabled?,
29
- :tag_name,
30
- :value,
31
- :set,
32
- :select_option,
33
- :unselect_option,
34
- :hover,
35
- :[]
36
-
20
+ def self.capybara_element_methods
21
+ Capybara::Node::Element.instance_methods -
22
+ Capybara::Node::Element.methods -
23
+ Capybara::Node::Element.superclass.methods
24
+ end
37
25
 
26
+ def_delegators :capybara_element,
27
+ *capybara_element_methods
38
28
 
39
29
  def present?
40
30
  capybara_element.visible?
@@ -50,41 +40,24 @@ module Capybara
50
40
  false
51
41
  end
52
42
 
53
- def self.element(name, selector, block = nil)
43
+ def self.element(name, selector, options = {}, block = nil)
54
44
  subelement_factory = lambda do |parent_element|
55
- Capybara::Wheel::ElementFactory.create_element(selector, parent_element, block)
45
+ Capybara::Wheel::ElementFactory.create_element(selector, parent_element, options, block)
56
46
  end
57
47
 
58
48
  define_method(underscore(name).to_sym) { subelement_factory.call(self) }
59
49
  self
60
50
  end
61
51
 
62
- def element(name, selector, &block)
63
- self.class.element(name, selector, block)
64
- end
65
-
66
- #TODO: deprecated in 0.0.5
67
- def subelement(name, selector, &block)
68
- puts "subelement will be deprecated in future versions."
69
- puts "Calling element inside an element block will scope it to the parent element"
70
- element(name, selector, block)
71
- end
72
-
73
- def self.subelement(name, selector, &block)
74
- puts "subelement will be deprecated in future versions."
75
- puts "Calling element inside an element block will scope it to the parent element"
76
- element(name, selector, &block)
77
- end
78
-
79
- def selector
80
- @selector
52
+ def element(name, selector, options = {}, &block)
53
+ self.class.element(name, selector, options, block)
81
54
  end
82
55
 
83
56
  private
84
57
 
85
58
  # Finds a capybara element representing this thing
86
59
  def capybara_element
87
- scope_capybara.find(selector)
60
+ scope_capybara.find(selector, options)
88
61
  end
89
62
 
90
63
  def scope_capybara
@@ -93,4 +66,4 @@ module Capybara
93
66
 
94
67
  end
95
68
  end
96
- end
69
+ end
@@ -4,23 +4,17 @@ module Capybara
4
4
  module Wheel
5
5
  class ElementFactory
6
6
 
7
- def self.create_element_klass(selector, block = nil)
7
+ def self.create_element_klass(selector, options = {}, block = nil)
8
8
  subclass = Class.new(Capybara::Wheel::Element)
9
9
 
10
- _selector = selector
11
-
12
- subclass.class_exec do
13
- define_method(:selector) { @selector = _selector }
14
- end
15
-
16
10
  subclass.class_eval(&block) if block
17
11
 
18
12
  subclass
19
13
  end
20
14
 
21
15
  #TODO: Pass object not an instance
22
- def self.create_element(selector, parent_element, block = nil)
23
- subelement = Capybara::Wheel::Element.new(selector, parent_element)
16
+ def self.create_element(selector, parent_element, options = {}, block = nil)
17
+ subelement = Capybara::Wheel::Element.new(selector, options, parent_element)
24
18
  subelement.instance_eval(&block) if block
25
19
 
26
20
  subelement
@@ -22,8 +22,15 @@ module Capybara
22
22
  downcase
23
23
  end
24
24
 
25
- def make_const(string)
25
+ # Stolen from the Rails codebase
26
+ def camelize(term)
27
+ string = term.to_s
26
28
 
29
+ string = string.sub(/^[a-z\d]*/) { $&.capitalize }
30
+
31
+ string.gsub!(/(?:_|(\/))([a-z\d]*)/i) { "#{$2.capitalize}" }
32
+
33
+ string
27
34
  end
28
35
  end
29
36
 
@@ -23,6 +23,7 @@ module Capybara
23
23
  unless on_page?
24
24
  raise "We don't appear to be on the #{self.class}"
25
25
  end
26
+
26
27
  yield self if block_given?
27
28
  self
28
29
  end
@@ -41,19 +42,14 @@ module Capybara
41
42
  capybara.has_css?("head title", text: expected_title)
42
43
  end
43
44
 
44
- def self.element(name, selector, &block)
45
- begin
46
- element_klass = const_set("#{name}", Capybara::Wheel::ElementFactory.create_element_klass(selector, block))
47
- rescue NameError
48
- puts "We recommend using capitalized element and subelement names"
49
- name = name.capitalize!
50
- retry
51
- end
45
+ def self.element(name, selector, options = {}, &block)
46
+ klass_name = camelize(name)
47
+ element_klass = const_set("#{klass_name}", Capybara::Wheel::ElementFactory.create_element_klass(selector, options, block))
52
48
 
53
- define_method(underscore(name).to_sym) { element_klass.new(selector) }
49
+ define_method(underscore(name).to_sym) { element_klass.new(selector, options) }
54
50
  self
55
51
  end
56
52
 
57
53
  end
58
54
  end
59
- end
55
+ end
@@ -1,5 +1,5 @@
1
1
  module Capybara
2
2
  module Wheel
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
@@ -1,25 +1,25 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'ElementFactory' do
3
+ describe 'ElementFactory' do
4
4
  let(:subject) { Capybara::Wheel::ElementFactory }
5
5
  let(:selector) { '#rad-selector'}
6
6
  let(:created_element_klass) { subject.create_element_klass(selector) }
7
7
 
8
-
9
- it 'creates an element' do
10
- created_element_klass.superclass.should == Capybara::Wheel::Element
11
- end
12
-
13
- it 'allows access to the selector' do
14
- created_element_klass.new.selector.should == selector
8
+ describe '.create_element_klass' do
9
+ it 'creates an element object' do
10
+ expect(created_element_klass.superclass).to eq(Capybara::Wheel::Element)
11
+ end
15
12
  end
16
13
 
17
- it 'generated instance evalutes block' do
18
- test_block = Proc.new do
19
- def evaled_method
14
+ context 'when block provided' do
15
+ it 'it evalutes block' do
16
+ test_block = Proc.new do
17
+ def evaled_method
18
+ end
20
19
  end
21
- end
22
20
 
23
- subject.create_element_klass(selector, test_block).new.should respond_to(:evaled_method)
21
+ element = Capybara::Wheel::ElementFactory.create_element_klass(selector, {}, test_block)
22
+ expect(element.new).to respond_to(:evaled_method)
23
+ end
24
24
  end
25
25
  end
data/spec/element_spec.rb CHANGED
@@ -1,50 +1,78 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'Element' do
4
- let(:element_selector) { '#some-selector' }
5
- let(:element) { Capybara::Wheel::Element }
6
- let(:element_instance) { element.new(element_selector) }
3
+ module Capybara
4
+ module Wheel
5
+ describe Element do
6
+ let(:element_selector) { '#some-selector' }
7
+ let(:element) { Capybara::Wheel::Element }
8
+ let(:element_instance) { element.new(element_selector) }
7
9
 
8
- it 'has access to capybara' do
9
- element_instance.methods.include?(:capybara).should be_true
10
- end
10
+ it 'has delegators for Capybara actions' do
11
+ capybara_element_methods = Capybara::Node::Element.instance_methods -
12
+ Capybara::Node::Element.methods -
13
+ Capybara::Node::Element.superclass.methods
11
14
 
12
- it 'has delegators for Capybara actions' do
13
- pending 'grab all the actions from Capybara and ensure delegators are implemented'
14
- end
15
+ capybara_element_methods.each do |_method_|
16
+ expect(element_instance).to respond_to(_method_)
17
+ end
18
+ end
15
19
 
16
- context 'self.element' do
17
- let(:element_selector) { '#rad-parent-selector' }
20
+ context '.element' do
21
+ let(:element_selector) { '#rad-parent-selector' }
18
22
 
19
- let(:subelement_name) { 'RadSubElement' }
20
- let(:subelement_selector) { '#rad-sub-selector' }
23
+ let(:subelement_name) { 'RadSubElement' }
24
+ let(:subelement_selector) { '#rad-sub-selector' }
21
25
 
22
- before do
23
- element_instance.instance_eval do
24
- element('RadSubElement', '#rad-sub-selector')
25
- end
26
- end
26
+ before do
27
+ element_instance.instance_eval do
28
+ element('rad_sub_element', '#rad-sub-selector')
29
+ end
30
+ end
27
31
 
28
- it 'created a method for calling the element' do
29
- element_instance.should respond_to(:rad_sub_element)
30
- end
32
+ it 'created a method for calling the element' do
33
+ expect(element_instance).to respond_to(:rad_sub_element)
34
+ end
31
35
 
32
- it 'create a (sub)element with parent element context' do
33
- element_instance.send(:rad_sub_element).scope.should == element_instance
34
- end
36
+ it 'create a (sub)element with parent element context' do
37
+ expect(element_instance.send(:rad_sub_element).scope).to eq(element_instance)
38
+ end
39
+
40
+ it 'any method call on subelement is scoped within the parent element' do
41
+ subelement = element_instance.send(:rad_sub_element)
35
42
 
36
- it 'the find would be scoped to parent' do
37
- subelement = element_instance.send(:rad_sub_element)
38
- mock_capybara_session = mock(Capybara::Session)
39
- mock_capybara_element = mock('Capybara::Element')
40
- Capybara.stub!(:current_session).and_return(mock_capybara_session)
41
- mock_capybara_session.stub(:find).with(element_selector).and_return(mock_capybara_element)
42
- mock_capybara_element.stub(:find).with(subelement_selector).and_return(mock_capybara_element)
43
+ expect(element_instance).to receive(:capybara_element).once.and_return(double('element', find: 'something'))
43
44
 
44
- element_instance.should_receive(:capybara_element).once.and_return(mock_capybara_element)
45
+ subelement.send(:capybara_element)
46
+ end
47
+
48
+ context 'with extra options' do
49
+
50
+ before do
51
+ element_instance.instance_eval do
52
+ element('rad_sub_element', '#rad-sub-selector', visible: false)
53
+ end
54
+ end
55
+
56
+ it 'has options' do
57
+ expect(element_instance.rad_sub_element.options).to eq(visible: false)
58
+ end
59
+
60
+ end
61
+
62
+ context 'when the method name is in the old camel case syntax' do
63
+ before do
64
+ element_instance.instance_eval do
65
+ element('OldRadSubElement', '#other-rad-sub-selector')
66
+ end
67
+ end
68
+
69
+ it 'created a method for calling the element' do
70
+ expect(element_instance).to respond_to(:old_rad_sub_element)
71
+ expect(element_instance.old_rad_sub_element.class).to eq(Capybara::Wheel::Element)
72
+ end
73
+ end
74
+ end
45
75
 
46
- subelement.send(:capybara_element)
47
76
  end
48
77
  end
49
-
50
78
  end
data/spec/feature_spec.rb CHANGED
@@ -11,11 +11,11 @@ feature 'runs as a wheel feature', :some_hook do
11
11
  it 'should pass' do
12
12
  end
13
13
 
14
- it 'should be set as a wheel feature' do
15
- example.metadata[:type].should == :wheel_feature
14
+ it 'should be set as a wheel feature' do |example|
15
+ expect(example.metadata[:type]).to eq(:wheel_feature)
16
16
  end
17
17
 
18
18
  it 'should pass the right hook' do
19
- @hook_passed_on.should be_true
19
+ expect(@hook_passed_on).to be_truthy
20
20
  end
21
21
  end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+
3
+ module Capybara
4
+ module Wheel
5
+ describe Includes do
6
+
7
+ let(:some_class) do
8
+ class SomeClass
9
+ extend Capybara::Wheel::Includes::ClassIncludes
10
+ end
11
+ end
12
+
13
+ describe '.camelize' do
14
+ it 'capitlizes one word' do
15
+ expect(some_class.camelize('downcase')).to eq('Downcase')
16
+ end
17
+
18
+ it 'camelizes underscored word' do
19
+ expect(some_class.camelize('under_score')).to eq('UnderScore')
20
+ end
21
+ end
22
+
23
+ describe '.underscore' do
24
+ it 'underscores and downcase a camelized word' do
25
+ expect(some_class.underscore('CamelCase')).to eq('camel_case')
26
+ end
27
+ end
28
+
29
+ end
30
+ end
31
+ end
data/spec/page_spec.rb CHANGED
@@ -1,16 +1,43 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'Page' do
4
- let(:page) { Capybara::Wheel::Page }
3
+ module Capybara
4
+ module Wheel
5
+ describe Page do
5
6
 
6
- it 'has access to capybara' do
7
- page.new.methods.include?(:capybara).should be_true
8
- end
7
+ let(:page) { Capybara::Wheel::Page }
8
+
9
+ it 'has access to capybara' do
10
+ expect(page.new).to respond_to(:capybara)
11
+ end
12
+
13
+ describe '.element' do
14
+
15
+ let(:page_instance) { page.element('rad_element', '#rad-selector').new }
16
+
17
+ it 'creates an accessor for an element instance' do
18
+ expect(page_instance.rad_element.class).to eq(Capybara::Wheel::Page::RadElement)
19
+ expect(page_instance.rad_element.selector).to eq('#rad-selector')
20
+ end
21
+
22
+ context 'when named using the old camel case syntax' do
23
+ let(:page_instance) { page.element('RadElement', '#rad-selector').new }
24
+
25
+ it 'creates an accessor for an element' do
26
+ expect(page_instance).to respond_to(:rad_element)
27
+ end
28
+ end
29
+
30
+ context 'element with extra options' do
31
+ let(:page_instance) { page.element('optional_element', '#opt-selector', visible: false).new }
32
+
33
+ it 'has options' do
34
+ expect(page_instance.optional_element.options).to eq(visible: false)
35
+ end
36
+
37
+ end
38
+
39
+ end
9
40
 
10
- context 'can create an element instance' do
11
- it 'and create a method for it' do
12
- page.element('RadElement', '#rad-selector').new.should respond_to(:rad_element)
13
41
  end
14
42
  end
15
-
16
- end
43
+ end
metadata CHANGED
@@ -1,126 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara-wheel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
5
- prerelease:
4
+ version: 0.0.7
6
5
  platform: ruby
7
6
  authors:
8
- - ! '@gabrielrotbart'
7
+ - "@gabrielrotbart"
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-13 00:00:00.000000000 Z
11
+ date: 2014-12-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: capybara
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '2.1'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '2.1'
30
- - !ruby/object:Gem::Dependency
31
- name: rspec
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
17
+ - - ">="
36
18
  - !ruby/object:Gem::Version
37
19
  version: '0'
38
20
  type: :runtime
39
21
  prerelease: false
40
22
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
23
  requirements:
43
- - - ! '>='
24
+ - - ">="
44
25
  - !ruby/object:Gem::Version
45
26
  version: '0'
46
27
  - !ruby/object:Gem::Dependency
47
- name: bundler
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '1.3'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '1.3'
62
- - !ruby/object:Gem::Dependency
63
- name: rake
28
+ name: rspec
64
29
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
30
  requirements:
67
- - - ! '>='
31
+ - - "~>"
68
32
  - !ruby/object:Gem::Version
69
- version: '0'
33
+ version: 3.1.0
70
34
  type: :development
71
35
  prerelease: false
72
36
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
37
  requirements:
75
- - - ! '>='
38
+ - - "~>"
76
39
  - !ruby/object:Gem::Version
77
- version: '0'
40
+ version: 3.1.0
78
41
  - !ruby/object:Gem::Dependency
79
42
  name: selenium-webdriver
80
43
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
44
  requirements:
83
- - - ~>
45
+ - - "~>"
84
46
  - !ruby/object:Gem::Version
85
47
  version: '2.0'
86
48
  type: :development
87
49
  prerelease: false
88
50
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
51
  requirements:
91
- - - ~>
52
+ - - "~>"
92
53
  - !ruby/object:Gem::Version
93
54
  version: '2.0'
94
55
  - !ruby/object:Gem::Dependency
95
56
  name: sinatra
96
57
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
58
  requirements:
99
- - - ~>
59
+ - - "~>"
100
60
  - !ruby/object:Gem::Version
101
61
  version: '1.0'
102
62
  type: :development
103
63
  prerelease: false
104
64
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
65
  requirements:
107
- - - ~>
66
+ - - "~>"
108
67
  - !ruby/object:Gem::Version
109
68
  version: '1.0'
110
69
  - !ruby/object:Gem::Dependency
111
70
  name: pry
112
71
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
72
  requirements:
115
- - - ! '>='
73
+ - - ">="
116
74
  - !ruby/object:Gem::Version
117
75
  version: '0'
118
76
  type: :development
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
79
  requirements:
123
- - - ! '>='
80
+ - - ">="
124
81
  - !ruby/object:Gem::Version
125
82
  version: '0'
126
83
  description: Keeping the rodent on track
@@ -130,7 +87,8 @@ executables: []
130
87
  extensions: []
131
88
  extra_rdoc_files: []
132
89
  files:
133
- - .gitignore
90
+ - ".gitignore"
91
+ - ".rspec"
134
92
  - Gemfile
135
93
  - LICENSE.txt
136
94
  - README.md
@@ -145,37 +103,38 @@ files:
145
103
  - spec/element_factory_spec.rb
146
104
  - spec/element_spec.rb
147
105
  - spec/feature_spec.rb
106
+ - spec/includes_spec.rb
148
107
  - spec/page_spec.rb
149
108
  - spec/spec_helper.rb
150
109
  homepage: http://github.com/hooroo/capybara-wheel
151
110
  licenses:
152
111
  - MIT
112
+ metadata: {}
153
113
  post_install_message:
154
114
  rdoc_options: []
155
115
  require_paths:
156
116
  - lib
157
117
  required_ruby_version: !ruby/object:Gem::Requirement
158
- none: false
159
118
  requirements:
160
- - - ! '>='
119
+ - - ">="
161
120
  - !ruby/object:Gem::Version
162
121
  version: '0'
163
122
  required_rubygems_version: !ruby/object:Gem::Requirement
164
- none: false
165
123
  requirements:
166
- - - ! '>='
124
+ - - ">="
167
125
  - !ruby/object:Gem::Version
168
126
  version: '0'
169
127
  requirements: []
170
128
  rubyforge_project:
171
- rubygems_version: 1.8.25
129
+ rubygems_version: 2.2.2
172
130
  signing_key:
173
- specification_version: 3
131
+ specification_version: 4
174
132
  summary: Creating (yet another) page model gem based around making capybara tests
175
133
  more stable with no need for waits
176
134
  test_files:
177
135
  - spec/element_factory_spec.rb
178
136
  - spec/element_spec.rb
179
137
  - spec/feature_spec.rb
138
+ - spec/includes_spec.rb
180
139
  - spec/page_spec.rb
181
140
  - spec/spec_helper.rb