Method: Insite::ComponentCollection#initialize
- Defined in:
- lib/insite/component/component_collection.rb
#initialize(query_scope, *args) ⇒ ComponentCollection
Returns a new instance of ComponentCollection.
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/insite/component/component_collection.rb', line 45 def initialize(query_scope, *args) @site = query_scope.class.ancestors.include?(Insite) ? query_scope : query_scope.site @browser = @site.browser @collection_member_type = self.class.instance_variable_get(:@collection_member_type) @selector = @collection_member_type.selector if args[0].is_a?(Insite::Element) || args[0].is_a?(Watir::Element) @dom_type = nil @args = nil @target = args[0].target elsif args[0].is_a?(Insite::ElementCollection) || args[0].is_a?(Watir::ElementCollection) @dom_type = nil @args = nil @target = args[0] else @args = parse_args(args) @selector = @args @non_relative = @args.delete(:non_relative) || false if @non_relative @query_scope = query_scope.site else query_scope.respond_to?(:target) ? obj = query_scope : obj = query_scope.site @query_scope = obj end if watir_class = Insite::CLASS_MAP.key(self.class) @target = watir_class.new(@query_scope.target, @args) else @target = Watir::HTMLElementCollection.new(@query_scope.target, @args) end end end |