insite 0.2.2 → 0.2.3
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 +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
|