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 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