site_prism 2.9.1 → 2.10

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: 6f8be73bc22fe22da2d399fdf6d873c1ce426921
4
- data.tar.gz: f316801d554781fbc5edd113bcbc7bc5f7962ce6
3
+ metadata.gz: 4d0e146e413da0daaf6ce3b682e8cb73c9d62b41
4
+ data.tar.gz: 821f1fbecffb6478ba986770647182e0e1028031
5
5
  SHA512:
6
- metadata.gz: cf844cc48b0b204140371ed59f8f9ecfa8dbcdba6615cfa0d53a7f9a93b3c23682dea0657145625946bc7bb8b793b821a3e1537c571d53621d5ce837403a4283
7
- data.tar.gz: 568519888f0ca7ea062da043bb36b7565fd080da85f7c3e653893fde9f53db4173a4632bcaf0ea2d74139a3f0dd5f358558fbde457d2f1b65d7b55cfbc9eaade
6
+ metadata.gz: 3e7ce96a05714bf6f59a927534456d77adfa31d718846dd076ef2d8c57e19a526cab45cb6377dc50649f32b295fe7eb86352046ee4bff9cd887664ee39d48287
7
+ data.tar.gz: 43bd714f1846ca69256cda3655187dd5443311329fe78a9ee2f8eb118fa0d9693fa3214758c6ea819a20669ddc7c8c3ce7ccf77b88398abb812550b70d7f8300
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2014, Nathaniel Ritmeyer
1
+ Copyright (c) 2011-2016, Nathaniel Ritmeyer
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without
data/README.md CHANGED
@@ -599,11 +599,16 @@ You can access the element collection like this:
599
599
  With that you can do all the normal things that are possible with
600
600
  arrays:
601
601
 
602
+ ```ruby
603
+ @friends_page.names.each { |name| puts name.text }
604
+ @friends_page.names.map { |name| name.text }
605
+ ```
606
+
607
+ Or even run some tests...
602
608
 
603
609
  ```ruby
604
- @friends_page.names.each {|name| puts name.text}
605
- expect(@friends_page.names.map {|name| name.text}.to eq ["Alice", "Bob", "Fred"]
606
- expect(@friends_page.names.size).to eq 3
610
+ expect(@friends_page.names.map { |name| name.text }).to eq(["Alice", "Bob", "Fred"])
611
+ expect(@friends_page.names.size).to eq(3)
607
612
  expect(@friends_page).to have(3).names
608
613
  ```
609
614
 
@@ -612,16 +617,16 @@ expect(@friends_page).to have(3).names
612
617
  Just like the `element` method, the `elements` method adds a method to
613
618
  the page that will allow you to check for the existence of the
614
619
  collection, called `has_<element collection name>?`. As long as there is
615
- at least 1 element in the array, the method will return true, otherwise
616
- false. For example, with the following page:
620
+ at least 1 element in the array, the method will return `true`, otherwise
621
+ it wil return `false`. For example, with the following page:
617
622
 
618
623
  ```ruby
619
624
  class Friends < SitePrism::Page
620
- elements :names, "ul#names li a"
625
+ elements(:names, 'ul#names li a')
621
626
  end
622
627
  ```
623
628
 
624
- ... the following method is available:
629
+ ... then the following method is available:
625
630
 
626
631
  ```ruby
627
632
  @friends_page.has_names? #=> returns true if at least one element is found using the relevant selector
data/lib/site_prism.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'site_prism/exceptions'
2
4
  require 'addressable/template'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'digest'
2
4
  require 'base64'
3
5
 
@@ -1,9 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SitePrism
2
4
  module ElementChecker
3
5
  def all_there?
4
- Capybara.using_wait_time(0) do
5
- self.class.mapped_items.all? { |element| send "has_#{element}?" }
6
- end
6
+ self.class.mapped_items.all? { |element| send "has_#{element}?" }
7
7
  end
8
8
  end
9
9
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SitePrism
2
4
  module ElementContainer
3
5
  attr_reader :mapped_items
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SitePrism
2
4
  class NoUrlForPage < StandardError; end
3
5
  class NoUrlMatcherForPage < StandardError; end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SitePrism
2
4
  module Loadable
3
5
  module ClassMethods
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'site_prism/loadable'
2
4
 
3
5
  module SitePrism
@@ -16,22 +18,24 @@ module SitePrism
16
18
  end
17
19
 
18
20
  # Loads the page.
19
- # Executes the block, if given, after running load validations on the page.
20
- #
21
21
  # @param expansion_or_html
22
- # @param block [&block] A block to run once the page is loaded. The page will yield itself into the block.
22
+ # @param block [&block] An optional block to run once the page is loaded.
23
+ # The page will yield the block if defined.
24
+ #
25
+ # Executes the block, if given.
26
+ # Runs load validations on the page, unless input is a string
23
27
  def load(expansion_or_html = {}, &block)
24
28
  self.loaded = false
25
29
 
26
- if expansion_or_html.is_a? String
30
+ if expansion_or_html.is_a?(String)
27
31
  @page = Capybara.string(expansion_or_html)
32
+ yield self if block_given?
28
33
  else
29
34
  expanded_url = url(expansion_or_html)
30
35
  raise SitePrism::NoUrlForPage if expanded_url.nil?
31
36
  visit expanded_url
37
+ when_loaded(&block) if block_given?
32
38
  end
33
-
34
- when_loaded(&block) if block_given?
35
39
  end
36
40
 
37
41
  def displayed?(*args)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'site_prism/loadable'
2
4
 
3
5
  module SitePrism
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SitePrism
4
- VERSION = '2.9.1'.freeze
4
+ VERSION = '2.10'.freeze
5
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SitePrism
2
4
  class Waiter
3
5
  def self.wait_until_true(wait_time_seconds = default_wait_time)
metadata CHANGED
@@ -1,51 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: site_prism
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.9.1
4
+ version: '2.10'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nat Ritmeyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-22 00:00:00.000000000 Z
11
+ date: 2018-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: capybara
14
+ name: addressable
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
20
- - - <
19
+ version: '2.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
21
25
  - !ruby/object:Gem::Version
22
- version: '3.0'
26
+ version: '2.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: capybara
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
23
34
  type: :runtime
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
27
- - - '>='
38
+ - - ~>
28
39
  - !ruby/object:Gem::Version
29
- version: '2.1'
30
- - - <
40
+ version: '2.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
31
46
  - !ruby/object:Gem::Version
32
- version: '3.0'
47
+ version: 2.4.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.4.0
33
55
  - !ruby/object:Gem::Dependency
34
- name: addressable
56
+ name: rake
35
57
  requirement: !ruby/object:Gem::Requirement
36
58
  requirements:
37
59
  - - ~>
38
60
  - !ruby/object:Gem::Version
39
- version: '2.4'
40
- type: :runtime
61
+ version: '11.0'
62
+ type: :development
41
63
  prerelease: false
42
64
  version_requirements: !ruby/object:Gem::Requirement
43
65
  requirements:
44
66
  - - ~>
45
67
  - !ruby/object:Gem::Version
46
- version: '2.4'
68
+ version: '11.0'
47
69
  - !ruby/object:Gem::Dependency
48
- name: rspec
70
+ name: redcarpet
49
71
  requirement: !ruby/object:Gem::Requirement
50
72
  requirements:
51
73
  - - ~>
@@ -58,6 +80,76 @@ dependencies:
58
80
  - - ~>
59
81
  - !ruby/object:Gem::Version
60
82
  version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: '3.2'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: '3.2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.50.0
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 0.50.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: selenium-webdriver
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 3.4.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 3.4.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: simplecov
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ version: '0.10'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ~>
137
+ - !ruby/object:Gem::Version
138
+ version: '0.10'
139
+ - !ruby/object:Gem::Dependency
140
+ name: yard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ~>
144
+ - !ruby/object:Gem::Version
145
+ version: '0.8'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ~>
151
+ - !ruby/object:Gem::Version
152
+ version: '0.8'
61
153
  description: SitePrism gives you a simple, clean and semantic DSL for describing your
62
154
  site using the Page Object Model pattern, for use with Capybara
63
155
  email: nat@natontesting.com
@@ -65,7 +157,7 @@ executables: []
65
157
  extensions: []
66
158
  extra_rdoc_files: []
67
159
  files:
68
- - LICENSE
160
+ - LICENSE.md
69
161
  - README.md
70
162
  - lib/site_prism.rb
71
163
  - lib/site_prism/addressable_url_matcher.rb
@@ -89,7 +181,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
181
  requirements:
90
182
  - - '>='
91
183
  - !ruby/object:Gem::Version
92
- version: 1.9.3
184
+ version: '2.0'
93
185
  required_rubygems_version: !ruby/object:Gem::Requirement
94
186
  requirements:
95
187
  - - '>='