lib/watirspec/implementation.rb in watir-6.10.0 vs lib/watirspec/implementation.rb in watir-6.10.1

- old
+ new

@@ -1,51 +1,51 @@ -module WatirSpec - class Implementation - - attr_writer :name, :guard_proc, :browser_class - attr_accessor :browser_args - - def initialize - @guard_proc = nil - end - - def initialize_copy(orig) - super - # Backward compatibility < Ruby 2.4 - @browser_args = browser_args.map { |arg| arg.is_a?(Symbol) ? arg : arg.dup } - end - - def browser_class - @browser_class || raise("browser_class not set") - end - - def name - @name || raise("implementation name not set") - end - - def matches_guard?(args) - return @guard_proc.call(args) if @guard_proc - - args.include? name - end - - def matching_guards_in(guards) - result = [] - guards.each { |args, data| data.each { |d| result << d } if args.empty? || matches_guard?(args) } - - result - end - - def inspect_args - hash = browser_args.last - desired_capabilities = hash.delete(:desired_capabilities) - string = '' - hash.each { |arg| string << "#{arg.inspect}\n" } - return "#{string} default capabilities" unless desired_capabilities - - string << "\tcapabilities:\n" - caps.each { |k, v| string << "\t\t#{k}: #{v}\n"} - hash[:desired_capabilities] = desired_capabilities - string - end - end # Implementation -end # WatirSpec +module WatirSpec + class Implementation + + attr_writer :name, :guard_proc, :browser_class + attr_accessor :browser_args + + def initialize + @guard_proc = nil + end + + def initialize_copy(orig) + super + # Backward compatibility < Ruby 2.4 + @browser_args = browser_args.map { |arg| arg.is_a?(Symbol) ? arg : arg.dup } + end + + def browser_class + @browser_class || raise("browser_class not set") + end + + def name + @name || raise("implementation name not set") + end + + def matches_guard?(args) + return @guard_proc.call(args) if @guard_proc + + args.include? name + end + + def matching_guards_in(guards) + result = [] + guards.each { |args, data| data.each { |d| result << d } if args.empty? || matches_guard?(args) } + + result + end + + def inspect_args + hash = browser_args.last + desired_capabilities = hash.delete(:desired_capabilities) + string = '' + hash.each { |arg| string << "#{arg.inspect}\n" } + return "#{string} default capabilities" unless desired_capabilities + + string << "\tcapabilities:\n" + caps.each { |k, v| string << "\t\t#{k}: #{v}\n"} + hash[:desired_capabilities] = desired_capabilities + string + end + end # Implementation +end # WatirSpec