insite 0.1.4 → 0.2.0

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: f36cf82f14d9813ce46f50be3292d7483af28864a9a0509a71f48b3d6b428d39
4
- data.tar.gz: c8ad3b3dc6b5e7bd8e5602858de05be09e773215a29d0e40f31de67e214dff4f
3
+ metadata.gz: 16f1ba3790818bbea311d4b4ae7dfafa48ce7e054e157797817ac6554efac22a
4
+ data.tar.gz: fcb7131304d81c5556913a24f085eb1f7df2c62d8f0bdb97a410f15bd9c7bb03
5
5
  SHA512:
6
- metadata.gz: fdbe7a797497c040ada887d7cd483d56c8986e2852489cb15c50445159c23aeb64ebd60bdfa68cccfc2b591fdd56d0ef823489c3089cb3b1de7e37938acb890a
7
- data.tar.gz: 793bc23f49c2da5d6ebe5c057055612104505b7495ed63eba98cd2bc69d199a1bb53222d7ee712041bfe7c58bbd0591d45f067659028a04adc1e7a022a6f1d24
6
+ metadata.gz: ac5b61ba8ccde92a29dd8450fa6a8a079e201eec5571ab4fa5f0413d5f2de5f15b70d5624ee0f87cddd96a1dcaadf9f3393330f147ee93bdb3a8fb3ff48036b5
7
+ data.tar.gz: 86d7e500ec84c9061f5a1d8a7078b945fe1a8fcd714d8e3f5f7ec2bc68a96247b877fcb88c2d4506e77c74e6cfafa0b071d882b1a048b974d3e642fb6f9249ec
@@ -1,6 +1,5 @@
1
1
  module Insite
2
2
  METHOD_MAP = {Watir::Rect=>[:rect],
3
- Watir::Menu=>[:menu],
4
3
  Watir::HTMLElement=>
5
4
  [:var,
6
5
  :i,
@@ -87,8 +86,6 @@ module Insite
87
86
  Watir::TimeCollection=>[:times],
88
87
  Watir::Circle=>[:circle],
89
88
  Watir::CircleCollection=>[:circles],
90
- Watir::Cursor=>[:cursor],
91
- Watir::CursorCollection=>[:cursors],
92
89
  Watir::Defs=>[:defs],
93
90
  Watir::DefsCollection=>[:defss],
94
91
  Watir::Desc=>[:desc],
@@ -99,20 +96,10 @@ module Insite
99
96
  Watir::ForeignObjectCollection=>[:foreign_objects],
100
97
  Watir::GCollection=>[:gs],
101
98
  Watir::Button=>[:button],
102
- Watir::Hatchpath=>[:hatchpath],
103
- Watir::HatchpathCollection=>[:hatchpaths],
104
99
  Watir::LinearGradient=>[:linear_gradient],
105
100
  Watir::LinearGradientCollection=>[:linear_gradients],
106
101
  Watir::Marker=>[:marker],
107
102
  Watir::MarkerCollection=>[:markers],
108
- Watir::Mesh=>[:mesh],
109
- Watir::MeshCollection=>[:meshes],
110
- Watir::MeshGradient=>[:meshgradient],
111
- Watir::MeshGradientCollection=>[:meshgradients],
112
- Watir::Meshpatch=>[:meshpatch],
113
- Watir::MeshpatchCollection=>[:meshpatches],
114
- Watir::Meshrow=>[:meshrow],
115
- Watir::MeshrowCollection=>[:meshrows],
116
103
  Watir::MetadataCollection=>[:metadatas],
117
104
  Watir::PatternCollection=>[:patterns],
118
105
  Watir::Polygon=>[:polygon],
@@ -122,10 +109,8 @@ module Insite
122
109
  Watir::AreaCollection=>[:areas],
123
110
  Watir::PolylineCollection=>[:polylines],
124
111
  Watir::Script=>[:script],
125
- Watir::Solidcolor=>[:solidcolor],
126
112
  Watir::RadialGradient=>[:radial_gradient],
127
113
  Watir::RadialGradientCollection=>[:radial_gradients],
128
- Watir::SolidcolorCollection=>[:solidcolors],
129
114
  Watir::RectCollection=>[:rects],
130
115
  Watir::SVG=>[:svg],
131
116
  Watir::SVGCollection=>[:svgs],
@@ -209,14 +194,10 @@ module Insite
209
194
  Watir::HtmlCollection=>[:htmls],
210
195
  Watir::HR=>[:hr],
211
196
  Watir::IFrame=>[:iframe],
212
- Watir::Keygen=>[:keygen],
213
197
  Watir::InputCollection=>[:inputs],
214
- Watir::KeygenCollection=>[:keygens],
215
198
  Watir::LegendCollection=>[:legends],
216
199
  Watir::LICollection=>[:lis],
217
200
  Watir::IFrameCollection=>[:iframes],
218
- Watir::MenuItem=>[:menuitem],
219
- Watir::MenuCollection=>[:menus],
220
201
  Watir::Legend=>[:legend],
221
202
  Watir::Meter=>[:meter],
222
203
  Watir::Label=>[:label],
@@ -225,7 +206,6 @@ module Insite
225
206
  Watir::MeterCollection=>[:meters],
226
207
  Watir::MetaCollection=>[:metas],
227
208
  Watir::Param=>[:param],
228
- Watir::MenuItemCollection=>[:menuitems],
229
209
  Watir::Data=>[:data],
230
210
  Watir::OptGroupCollection=>[:optgroups],
231
211
  Watir::OList=>[:ol],
@@ -293,9 +273,9 @@ module Insite
293
273
  # Watir DOM methods. This data is used to create class-level element accessors
294
274
  # for page objects.
295
275
  DOM_METHODS = %i(
296
- a br datalists elements forms hidden li meshpatches params rect source tbody tspan
297
- abbr brs datas ellipse frame hiddens line meshrow path rects sources tbodys tspans
298
- abbrs bs date_field ellipses frames hr linear_gradient meshrows paths rp span td u
276
+ a br datalists elements forms hidden li params rect source tbody tspan
277
+ abbr brs datas ellipse frame hiddens line path rects sources tbodys tspans
278
+ abbrs bs date_field ellipses frames hr linear_gradient paths rp span td u
299
279
  address button date_fields em frameset hrs linear_gradients meta pattern rps spans tds ul
300
280
  addresses buttons date_time_field embed framesets htmls lines metadata patterns rt ss template uls
301
281
  area canvas date_time_fields embeds g i link metadatas picture rtc stop templates us
@@ -309,14 +289,14 @@ module Insite
309
289
  audios cite descs figcaptions h4 inputs marker object progress script summaries tfoots views
310
290
  b cites details figure h4s ins markers objects progresses scripts summary th wbr
311
291
  base code detailses figures h5 inses marks ol ps section sup thead wbrs
312
- bases codes dfn file_field h5s is menu ols q sections sups theads
313
- bdi col dfns file_fields h6 kbd menuitem optgroup qs select svg ths
314
- bdis colgroup div font h6s kbds menuitems optgroups radial_gradient select_list svgs time
315
- bdo colgroups divs fonts hatchpath keygen menus option radial_gradients select_lists switch times
316
- bdos cols dl footer hatchpaths keygens mesh options radio selects switches titles
317
- blockquote cursor dls footers head label meshes output small symbol tr
318
- blockquotes cursors dt foreign_object header labels meshgradient outputs radios smalls symbols track
319
- body data dts foreign_objects headers legend meshgradients p rb solidcolor table tracks
320
- bodys datalist element form heads legends meshpatch param rbs solidcolors tables trs
292
+ bases codes dfn file_field h5s is ols q sections sups theads
293
+ bdi col dfns file_fields h6 kbd optgroup qs select svg ths
294
+ bdis colgroup div font h6s kbds optgroups radial_gradient select_list svgs time
295
+ bdo colgroups divs fonts option radial_gradients select_lists switch times
296
+ bdos cols dl footer options radio selects switches titles
297
+ blockquote dls footers head label output small symbol tr
298
+ blockquotes dt foreign_object header labels outputs radios smalls symbols track
299
+ body data dts foreign_objects headers legend p rb table tracks
300
+ bodys datalist element form heads legends param rbs tables trs
321
301
  ).freeze
322
302
  end
@@ -24,8 +24,6 @@ module Insite
24
24
  Watir::CheckBoxCollection => Insite::CheckBoxCollection,
25
25
  Watir::Circle => Insite::Circle,
26
26
  Watir::CircleCollection => Insite::CircleCollection,
27
- Watir::Cursor => Insite::Cursor,
28
- Watir::CursorCollection => Insite::CursorCollection,
29
27
  Watir::DList => Insite::DList,
30
28
  Watir::DListCollection => Insite::DListCollection,
31
29
  Watir::Data => Insite::Data,
@@ -76,10 +74,6 @@ module Insite
76
74
  Watir::HRCollection => Insite::HRCollection,
77
75
  Watir::HTMLElement => Insite::HTMLElement,
78
76
  Watir::HTMLElementCollection => Insite::HTMLElementCollection,
79
- Watir::Hatch => Insite::Hatch,
80
- Watir::HatchCollection => Insite::HatchCollection,
81
- Watir::Hatchpath => Insite::Hatchpath,
82
- Watir::HatchpathCollection => Insite::HatchpathCollection,
83
77
  Watir::Head => Insite::Head,
84
78
  Watir::HeadCollection => Insite::HeadCollection,
85
79
  Watir::Heading => Insite::Heading,
@@ -94,8 +88,6 @@ module Insite
94
88
  Watir::ImageCollection => Insite::ImageCollection,
95
89
  Watir::Input => Insite::Input,
96
90
  Watir::InputCollection => Insite::InputCollection,
97
- Watir::Keygen => Insite::Keygen,
98
- Watir::KeygenCollection => Insite::KeygenCollection,
99
91
  Watir::LI => Insite::LI,
100
92
  Watir::LICollection => Insite::LICollection,
101
93
  Watir::Label => Insite::Label,
@@ -114,18 +106,6 @@ module Insite
114
106
  Watir::MarqueeCollection => Insite::MarqueeCollection,
115
107
  Watir::Media => Insite::Media,
116
108
  Watir::MediaCollection => Insite::MediaCollection,
117
- Watir::Menu => Insite::Menu,
118
- Watir::MenuCollection => Insite::MenuCollection,
119
- Watir::MenuItem => Insite::MenuItem,
120
- Watir::MenuItemCollection => Insite::MenuItemCollection,
121
- Watir::Mesh => Insite::Mesh,
122
- Watir::MeshCollection => Insite::MeshCollection,
123
- Watir::MeshGradient => Insite::MeshGradient,
124
- Watir::MeshGradientCollection => Insite::MeshGradientCollection,
125
- Watir::Meshpatch => Insite::Meshpatch,
126
- Watir::MeshpatchCollection => Insite::MeshpatchCollection,
127
- Watir::Meshrow => Insite::Meshrow,
128
- Watir::MeshrowCollection => Insite::MeshrowCollection,
129
109
  Watir::Meta => Insite::Meta,
130
110
  Watir::MetaCollection => Insite::MetaCollection,
131
111
  Watir::Metadata => Insite::Metadata,
@@ -180,8 +160,6 @@ module Insite
180
160
  Watir::ScriptCollection => Insite::ScriptCollection,
181
161
  Watir::Select => Insite::Select,
182
162
  Watir::SelectCollection => Insite::SelectCollection,
183
- Watir::Solidcolor => Insite::Solidcolor,
184
- Watir::SolidcolorCollection => Insite::SolidcolorCollection,
185
163
  Watir::Source => Insite::Source,
186
164
  Watir::SourceCollection => Insite::SourceCollection,
187
165
  Watir::Span => Insite::Span,
@@ -71,12 +71,6 @@ module Insite
71
71
  class CircleCollection < Insite::ElementCollection
72
72
  end
73
73
 
74
- class Cursor < Insite::Element
75
- end
76
-
77
- class CursorCollection < Insite::ElementCollection
78
- end
79
-
80
74
  class DList < Insite::Element
81
75
  end
82
76
 
@@ -227,18 +221,6 @@ module Insite
227
221
  class HTMLElementCollection < Insite::ElementCollection
228
222
  end
229
223
 
230
- class Hatch < Insite::Element
231
- end
232
-
233
- class HatchCollection < Insite::ElementCollection
234
- end
235
-
236
- class Hatchpath < Insite::Element
237
- end
238
-
239
- class HatchpathCollection < Insite::ElementCollection
240
- end
241
-
242
224
  class Head < Insite::Element
243
225
  end
244
226
 
@@ -281,12 +263,6 @@ module Insite
281
263
  class InputCollection < Insite::ElementCollection
282
264
  end
283
265
 
284
- class Keygen < Insite::Element
285
- end
286
-
287
- class KeygenCollection < Insite::ElementCollection
288
- end
289
-
290
266
  class LI < Insite::Element
291
267
  end
292
268
 
@@ -341,42 +317,6 @@ module Insite
341
317
  class MediaCollection < Insite::ElementCollection
342
318
  end
343
319
 
344
- class Menu < Insite::Element
345
- end
346
-
347
- class MenuCollection < Insite::ElementCollection
348
- end
349
-
350
- class MenuItem < Insite::Element
351
- end
352
-
353
- class MenuItemCollection < Insite::ElementCollection
354
- end
355
-
356
- class Mesh < Insite::Element
357
- end
358
-
359
- class MeshCollection < Insite::ElementCollection
360
- end
361
-
362
- class MeshGradient < Insite::Element
363
- end
364
-
365
- class MeshGradientCollection < Insite::ElementCollection
366
- end
367
-
368
- class Meshpatch < Insite::Element
369
- end
370
-
371
- class MeshpatchCollection < Insite::ElementCollection
372
- end
373
-
374
- class Meshrow < Insite::Element
375
- end
376
-
377
- class MeshrowCollection < Insite::ElementCollection
378
- end
379
-
380
320
  class Meta < Insite::Element
381
321
  end
382
322
 
@@ -539,12 +479,6 @@ module Insite
539
479
  class SelectCollection < Insite::ElementCollection
540
480
  end
541
481
 
542
- class Solidcolor < Insite::Element
543
- end
544
-
545
- class SolidcolorCollection < Insite::ElementCollection
546
- end
547
-
548
482
  class Source < Insite::Element
549
483
  end
550
484
 
@@ -184,14 +184,6 @@ module Insite
184
184
  Insite::TableColCollection.new(self, parse_args(args).merge(tag_name: "col"))
185
185
  end
186
186
 
187
- def cursor(*args)
188
- Insite::Cursor.new(self, parse_args(args).merge(tag_name: "cursor"))
189
- end
190
-
191
- def cursors(*args)
192
- Insite::CursorCollection.new(self, parse_args(args).merge(tag_name: "cursor"))
193
- end
194
-
195
187
  def data(*args)
196
188
  Insite::Data.new(self, parse_args(args).merge(tag_name: "data"))
197
189
  end
@@ -472,14 +464,6 @@ module Insite
472
464
  Insite::HeadingCollection.new(self, parse_args(args).merge(tag_name: "h6"))
473
465
  end
474
466
 
475
- def hatchpath(*args)
476
- Insite::Hatchpath.new(self, parse_args(args).merge(tag_name: "hatchpath"))
477
- end
478
-
479
- def hatchpaths(*args)
480
- Insite::HatchpathCollection.new(self, parse_args(args).merge(tag_name: "hatchpath"))
481
- end
482
-
483
467
  def head(*args)
484
468
  Insite::Head.new(self, parse_args(args).merge(tag_name: "head"))
485
469
  end
@@ -572,14 +556,6 @@ module Insite
572
556
  Insite::HTMLElementCollection.new(self, parse_args(args).merge(tag_name: "kbd"))
573
557
  end
574
558
 
575
- def keygen(*args)
576
- Insite::Keygen.new(self, parse_args(args).merge(tag_name: "keygen"))
577
- end
578
-
579
- def keygens(*args)
580
- Insite::KeygenCollection.new(self, parse_args(args).merge(tag_name: "keygen"))
581
- end
582
-
583
559
  def label(*args)
584
560
  Insite::Label.new(self, parse_args(args).merge(tag_name: "label"))
585
561
  end
@@ -660,54 +636,6 @@ module Insite
660
636
  Insite::HTMLElementCollection.new(self, parse_args(args).merge(tag_name: "mark"))
661
637
  end
662
638
 
663
- def menu(*args)
664
- Insite::Menu.new(self, parse_args(args).merge(tag_name: "menu"))
665
- end
666
-
667
- def menuitem(*args)
668
- Insite::MenuItem.new(self, parse_args(args).merge(tag_name: "menuitem"))
669
- end
670
-
671
- def menuitems(*args)
672
- Insite::MenuItemCollection.new(self, parse_args(args).merge(tag_name: "menuitem"))
673
- end
674
-
675
- def menus(*args)
676
- Insite::MenuCollection.new(self, parse_args(args).merge(tag_name: "menu"))
677
- end
678
-
679
- def mesh(*args)
680
- Insite::Mesh.new(self, parse_args(args).merge(tag_name: "mesh"))
681
- end
682
-
683
- def meshes(*args)
684
- Insite::MeshCollection.new(self, parse_args(args).merge(tag_name: "mesh"))
685
- end
686
-
687
- def meshgradient(*args)
688
- Insite::MeshGradient.new(self, parse_args(args).merge(tag_name: "meshgradient"))
689
- end
690
-
691
- def meshgradients(*args)
692
- Insite::MeshGradientCollection.new(self, parse_args(args).merge(tag_name: "meshgradient"))
693
- end
694
-
695
- def meshpatch(*args)
696
- Insite::Meshpatch.new(self, parse_args(args).merge(tag_name: "meshpatch"))
697
- end
698
-
699
- def meshpatches(*args)
700
- Insite::MeshpatchCollection.new(self, parse_args(args).merge(tag_name: "meshpatch"))
701
- end
702
-
703
- def meshrow(*args)
704
- Insite::Meshrow.new(self, parse_args(args).merge(tag_name: "meshrow"))
705
- end
706
-
707
- def meshrows(*args)
708
- Insite::MeshrowCollection.new(self, parse_args(args).merge(tag_name: "meshrow"))
709
- end
710
-
711
639
  def meta(*args)
712
640
  Insite::Meta.new(self, parse_args(args).merge(tag_name: "meta"))
713
641
  end
@@ -984,14 +912,6 @@ module Insite
984
912
  Insite::HTMLElementCollection.new(self, parse_args(args).merge(tag_name: "small"))
985
913
  end
986
914
 
987
- def solidcolor(*args)
988
- Insite::Solidcolor.new(self, parse_args(args).merge(tag_name: "solidcolor"))
989
- end
990
-
991
- def solidcolors(*args)
992
- Insite::SolidcolorCollection.new(self, parse_args(args).merge(tag_name: "solidcolor"))
993
- end
994
-
995
915
  def source(*args)
996
916
  Insite::Source.new(self, parse_args(args).merge(tag_name: "source"))
997
917
  end
data/lib/insite/insite.rb CHANGED
@@ -118,14 +118,14 @@ module Insite
118
118
  # TODO: Sort args.
119
119
  def initialize(base_url = nil, hsh={})
120
120
  @site = self
121
- @arguments = hsh.with_indifferent_access
121
+ @arguments = hsh.merge({scheme: 'https'}).with_indifferent_access
122
122
  @base_url = base_url
123
123
  @browser_type = (@arguments[:browser] ? @arguments[:browser].to_sym : nil)
124
124
 
125
- # Cull templates from array of pages that gets returned (since templates
126
- # should never be used directly.)
125
+ # Don't include the base page class or any page templates in the site's
126
+ # pages. Those should never be used directly.
127
127
  @pages = self.class::DefinedPage.descendants.reject do |pg|
128
- pg.page_template?
128
+ pg.page_template? || pg == self.class::Page
129
129
  end
130
130
 
131
131
  # Builds generic components for custom tags.
@@ -444,5 +444,15 @@ module Insite
444
444
  @browser.url
445
445
  end
446
446
 
447
- at_exit { @browser.close if @browser }
447
+ private
448
+ def process_base_url(base)
449
+ case base
450
+ when /^(https\:|http\:)/
451
+ base.sub(/^(http\:|https\:)/, "{scheme}:")
452
+ when /^www\./
453
+ base.sub(/^www\./, "{scheme}://")
454
+ else
455
+ "{scheme}://#{base}"
456
+ end
457
+ end
448
458
  end
@@ -12,8 +12,6 @@ module Insite
12
12
  end
13
13
  alias nokogiri document
14
14
 
15
-
16
- private
17
15
  def process_browser
18
16
  if @site.browser.is_a?(Watir::Browser)
19
17
  begin
@@ -174,16 +174,18 @@ module Insite
174
174
  def set_url_template(base_url)
175
175
  case @page_url
176
176
  when nil, ''
177
- @url_template = Addressable::Template.new(base_url)
177
+ @url_template = Addressable::Template.new(
178
+ process_base_url(base_url)
179
+ )
178
180
  when /(http:\/\/|https:\/\/)/i
179
181
  @url_template = Addressable::Template.new(
180
- @page_url.gsub(/(?<!:)\/\/+/, '/')
182
+ process_base_url(
183
+ @page_url.gsub(/(?<!:)\/\/+/, '/')
184
+ )
181
185
  )
182
186
  else
183
187
  @url_template = Addressable::Template.new(
184
- Addressable::URI.parse(
185
- "#{base_url}#{@page_url}".gsub(/(?<!:)\/\/+/, '/')
186
- )
188
+ "#{process_base_url(base_url)}#{@page_url}".gsub(/(?<!:)\/\/+/, '/')
187
189
  )
188
190
  end
189
191
 
@@ -202,16 +204,17 @@ module Insite
202
204
  regexp ? @url_matcher = regexp : nil
203
205
  end
204
206
 
205
- # def component_method(method_name, component_symbol, component_method, target_element)
206
- # @component_methods ||= []
207
- # @component_methods << method_name.to_sym unless @component_methods.include?(method_name.to_sym)
208
- #
209
- # define_method(method_name) do |*args, &block|
210
- # self.class.const_get(component_symbol.to_s.camelize)
211
- # .new(@site, @site.send(target_element))
212
- # .send(component_method, *args, &block)
213
- # end
214
- # end
207
+ private
208
+ def process_base_url(base)
209
+ case base
210
+ when /^(https\:|http\:)/
211
+ base.sub(/^(http\:|https\:)/, "{scheme}:")
212
+ when /^www\./
213
+ base.sub(/^www\./, "{scheme}://")
214
+ else
215
+ "{scheme}://#{base}"
216
+ end
217
+ end
215
218
  end # Self.
216
219
 
217
220
  def browser?
@@ -254,10 +257,23 @@ module Insite
254
257
  @query_arguments = self.class.query_arguments
255
258
  @has_fragment = self.class.has_fragment
256
259
 
257
- # Try to expand the URL template if the URL has parameters.
258
- @arguments = {}.with_indifferent_access # Stores the param list that will expand the url_template after examining the arguments used to initialize the page.
260
+ # Try to expand the URL template if the URL has parameters. Stores the
261
+ # param list that will expand the url_template after examining the
262
+ # arguments used to initialize the page. (Start with an empty hash and
263
+ # then build it out.)
264
+ @arguments = {}.with_indifferent_access
265
+
259
266
  match = @url_template.match(@browser.url)
260
267
 
268
+ # Raise if args are provided and the page doesn't take any args.
269
+ if (@required_arguments - [:scheme]).empty? && args
270
+ raise(
271
+ Insite::Errors::PageInitError,
272
+ "#{args.class} was provided as a #{self.class.name} initialization argument, " \
273
+ "but the page URL doesn't require any arguments.\n\n#{caller.join("\n")}"
274
+ )
275
+ end
276
+
261
277
  if @required_arguments.present? && !args
262
278
  @required_arguments.each do |arg|
263
279
  if match && match.keys.include?(arg.to_s)
@@ -278,14 +294,16 @@ module Insite
278
294
  elsif @required_arguments.present?
279
295
  @required_arguments.each do |arg| # Try to extract each URL argument from the hash or object provided, OR from the site object.
280
296
  if args.is_a?(Hash) && args.present?
281
- args = args.with_indifferent_access
297
+ # args = args.with_indifferent_access
282
298
 
283
- if args[arg] #The hash has the required argument.
299
+ if @arguments[arg] #The hash has the required argument.
284
300
  @arguments[arg]= args[arg]
285
301
  elsif match && match.keys.include?(arg.to_s)
286
302
  @arguments[arg] = match[arg.to_s]
287
303
  elsif @site.respond_to?(arg)
288
304
  @arguments[arg] = site.public_send(arg)
305
+ elsif @site.arguments[arg]
306
+ @arguments[arg] = @site.arguments[arg]
289
307
  else
290
308
  raise(
291
309
  Insite::Errors::PageInitError,
@@ -296,9 +314,12 @@ module Insite
296
314
  end
297
315
  elsif args # Some non-hash object was provided.
298
316
  if args.respond_to?(arg) #The hash has the required argument.
317
+ # @arguments[arg]= args.public_send(arg)
299
318
  @arguments[arg]= args.public_send(arg)
300
319
  elsif @site.respond_to?(arg)
301
320
  @arguments[arg]= site.public_send(arg)
321
+ elsif @site.arguments[arg]
322
+ @arguments[arg] = @site.arguments[arg]
302
323
  else
303
324
  raise(
304
325
  Insite::Errors::PageInitError,
@@ -311,12 +332,13 @@ module Insite
311
332
  # Do nothing here yet.
312
333
  end
313
334
  end
314
- elsif @required_arguments.empty? && args # If there are no required arguments then nothing should be provided.
315
- raise(
316
- Insite::Errors::PageInitError,
317
- "#{args.class} was provided as a #{self.class.name} initialization argument, " \
318
- "but the page URL doesn't require any arguments.\n\n#{caller.join("\n")}"
319
- )
335
+ # If there are no required arguments then nothing should be provided.
336
+ # elsif (@required_arguments - [:scheme]).empty? && args
337
+ # raise(
338
+ # Insite::Errors::PageInitError,
339
+ # "#{args.class} was provided as a #{self.class.name} initialization argument, " \
340
+ # "but the page URL doesn't require any arguments.\n\n#{caller.join("\n")}"
341
+ # )
320
342
  else
321
343
  # Do nothing here yet.
322
344
  end
@@ -1,3 +1,3 @@
1
1
  module Insite
2
- VERSION = '0.1.4'
2
+ VERSION = '0.2.0'
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.1.4
4
+ version: 0.2.0
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-09-28 00:00:00.000000000 Z
11
+ date: 2018-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -73,9 +73,6 @@ dependencies:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: 6.11.0
76
- - - "<"
77
- - !ruby/object:Gem::Version
78
- version: 6.14.0
79
76
  type: :runtime
80
77
  prerelease: false
81
78
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,9 +80,6 @@ dependencies:
83
80
  - - ">="
84
81
  - !ruby/object:Gem::Version
85
82
  version: 6.11.0
86
- - - "<"
87
- - !ruby/object:Gem::Version
88
- version: 6.14.0
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: watir-scroll
91
85
  requirement: !ruby/object:Gem::Requirement