insite 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/insite/element/element.rb +0 -19
- data/lib/insite/methods/common_methods.rb +26 -49
- data/lib/insite/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63e184f9aec996f76dcdcff1a0ee71f2b56c88523f92681c4d36f18faf614001
|
4
|
+
data.tar.gz: 7340f99e41bd7037a20a82bf1db9ef83ffae48be4dbaa3a62af3ac1e1681500c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58869a57afe8f2cd885b37a2c5cc34e60950adc31f5c7c57013c11f424fe52ada234db4da94d98510d96e1d27c81871d6958751b0ade6da16879a248ad7b186d
|
7
|
+
data.tar.gz: 24b267fa3b02d15070e815aa62805da01686a2be35d819e2ae42137cd8cc5506acf08dec074dd8614e10f36329ed7a11baa459fb0397a0fb9dc06ae7d8b89b8a
|
@@ -80,25 +80,6 @@ module Insite
|
|
80
80
|
end
|
81
81
|
end
|
82
82
|
|
83
|
-
# def initialize(site, element)
|
84
|
-
# @site = site
|
85
|
-
# @browser = @site.browser
|
86
|
-
# @target = element
|
87
|
-
#
|
88
|
-
# # Temporary replacement for custom wait_until.
|
89
|
-
# # TODO: Continue looking at scolling solutions.
|
90
|
-
# if @target.present? && @target.respond_to?(:scroll)
|
91
|
-
# @target.scroll.to
|
92
|
-
# t = ::Time.now + 2
|
93
|
-
# while ::Time.now <= t do
|
94
|
-
# break if @target.present?
|
95
|
-
# sleep 0.1
|
96
|
-
# end
|
97
|
-
# end
|
98
|
-
#
|
99
|
-
# @target
|
100
|
-
# end
|
101
|
-
|
102
83
|
def inspect
|
103
84
|
if @target.selector.present?
|
104
85
|
s = @selector.to_s
|
@@ -49,46 +49,6 @@ module Insite
|
|
49
49
|
|
50
50
|
end
|
51
51
|
public
|
52
|
-
# private
|
53
|
-
# def process_browser
|
54
|
-
# if @site.browser.is_a?(Watir::Browser)
|
55
|
-
# begin
|
56
|
-
# if @site.browser.exists?
|
57
|
-
# return @site.browser
|
58
|
-
# else
|
59
|
-
# raise(
|
60
|
-
# Insite::Errors::BrowserClosedError,
|
61
|
-
# "Browser check failed. The browser is no longer present.\n\n"
|
62
|
-
# )
|
63
|
-
# end
|
64
|
-
# rescue(Insite::Errors::BrowserNotOpenError) => e
|
65
|
-
# raise e
|
66
|
-
# rescue => e
|
67
|
-
# raise(
|
68
|
-
# Insite::Errors::BrowserResponseError,
|
69
|
-
# <<~eos
|
70
|
-
# Browser check failed. The browser returned an #{e.class} (#{e}) when it was queried.
|
71
|
-
# Backtrace for the error:
|
72
|
-
# #{e.backtrace.join("\n")}
|
73
|
-
#
|
74
|
-
# eos
|
75
|
-
# )
|
76
|
-
# end
|
77
|
-
# elsif @site.browser.nil?
|
78
|
-
# raise(
|
79
|
-
# Insite::Errors::BrowserNotOpenError,
|
80
|
-
# "A browser has not been defined for the site. Try using Site#open to " \
|
81
|
-
# "start a browser.\n\n"
|
82
|
-
# )
|
83
|
-
# else
|
84
|
-
# raise(
|
85
|
-
# Insite::Errors::BrowserNotValidError,
|
86
|
-
# "Expected: Watir::Browser. Actual: #{@site.browser.class}.\n\n"
|
87
|
-
# )
|
88
|
-
# end
|
89
|
-
#
|
90
|
-
# end
|
91
|
-
# public
|
92
52
|
|
93
53
|
def update_object(hash_args = {})
|
94
54
|
rescues = [
|
@@ -99,12 +59,20 @@ module Insite
|
|
99
59
|
]
|
100
60
|
failed = []
|
101
61
|
hash_args.each do |k, v|
|
62
|
+
sleep 0.2
|
102
63
|
begin
|
103
|
-
k = k.to_sym
|
104
|
-
if
|
105
|
-
|
106
|
-
|
107
|
-
|
64
|
+
# k = k.to_sym
|
65
|
+
# if self.is_a?(Component)
|
66
|
+
# elems = @component_elements
|
67
|
+
# else
|
68
|
+
# elems = @page_elements
|
69
|
+
# end
|
70
|
+
#
|
71
|
+
# # TODO: DRY
|
72
|
+
# if self.is_a?(Insite::DefinedPage) && @page_elements.include?(k)
|
73
|
+
elem = public_send(k)
|
74
|
+
if elem.is_a?(Insite::Element)
|
75
|
+
if [Insite::FileField, Insite::TextField, Insite::TextArea].include? elem.class
|
108
76
|
elem.set v
|
109
77
|
elsif [Insite::Select].include? elem.class
|
110
78
|
elem.select v
|
@@ -167,11 +135,16 @@ module Insite
|
|
167
135
|
raise ArgumentError, "Unsupported argument for #{elem.class}: '#{v}'"
|
168
136
|
end
|
169
137
|
end
|
170
|
-
elsif @component_elements.include?(k)
|
138
|
+
elsif elem.is_a?(Component) #&& @component_elements.include?(k)
|
139
|
+
|
171
140
|
w = public_send(k)
|
172
141
|
|
173
142
|
begin
|
174
|
-
w.
|
143
|
+
if w.is_a?(Component) && v.is_a?(Hash)
|
144
|
+
w.update_object(**v)
|
145
|
+
elsif w.is_a?(Component) && w.respond_to?(:update)
|
146
|
+
w.update(v)
|
147
|
+
end
|
175
148
|
rescue => e
|
176
149
|
begin
|
177
150
|
if v.is_a?(Array)
|
@@ -198,7 +171,11 @@ module Insite
|
|
198
171
|
public_send(k).update(*v)
|
199
172
|
end
|
200
173
|
rescue => e2
|
201
|
-
raise
|
174
|
+
raise(
|
175
|
+
ArgumentError,
|
176
|
+
"Dynamic method call failed for #{k}: #{e2.try(:message)}",
|
177
|
+
e2.backtrace
|
178
|
+
)
|
202
179
|
end
|
203
180
|
end
|
204
181
|
end
|
@@ -211,7 +188,7 @@ module Insite
|
|
211
188
|
redo
|
212
189
|
end
|
213
190
|
else
|
214
|
-
raise e, "Failure trying to update #{k} with #{v.class}: #{v}
|
191
|
+
raise e, "Failure trying to update #{k} with #{v.class}: #{v}. Original message: #{e.try(:message)}\n" + e.backtrace.join("\n")
|
215
192
|
end
|
216
193
|
end
|
217
194
|
sleep 0.2
|
data/lib/insite/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: insite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Fitisoff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|