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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 140cc225b61ec7d1eed65eb6da2e56bb9c8bd93eb10b038e953955112b8c80ae
4
- data.tar.gz: ad0f773ce13d35339d31bc4995d8575d068cb00f62515f4cbe4956ccde4bcc1b
3
+ metadata.gz: 63e184f9aec996f76dcdcff1a0ee71f2b56c88523f92681c4d36f18faf614001
4
+ data.tar.gz: 7340f99e41bd7037a20a82bf1db9ef83ffae48be4dbaa3a62af3ac1e1681500c
5
5
  SHA512:
6
- metadata.gz: 68aad6503cc6d0d1936db14dd7c3f8391c104d69887988beef8f2ebe07eb2a50c2699b5fd40911c6ca7a2b3bae98ad893f64a05dda53492c18377fe12df8ebda
7
- data.tar.gz: 5b6aa0dc57f05ee9cbfc183fbf07b02f3167a39029139983e69072d932f4bab3f7858181cf7c5883503dbe88b6c3a118b791f83ec272cd2f1c8f9e7afb148136
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 @page_elements.include?(k)
105
- elem = public_send(k)
106
-
107
- if [Insite::Alert, Insite::FileField, Insite::TextField, Insite::TextArea].include? elem.class
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.update(v)
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 ArgumentError, "Dynamic method call failed for #{k}.", e2.backtrace
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}:\n" + e.backtrace.join("\n")
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
@@ -1,3 +1,3 @@
1
1
  module Insite
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
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.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-12 00:00:00.000000000 Z
11
+ date: 2018-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport