automation_object 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +4 -4
  2. data/lib/automation_object.rb +22 -11
  3. data/lib/automation_object/blue_print.rb +13 -12
  4. data/lib/automation_object/blue_print/composite/automatic_onload_modal.rb +9 -8
  5. data/lib/automation_object/blue_print/composite/base.rb +5 -4
  6. data/lib/automation_object/blue_print/composite/custom_method.rb +8 -7
  7. data/lib/automation_object/blue_print/composite/element.rb +6 -5
  8. data/lib/automation_object/blue_print/composite/element_array.rb +6 -5
  9. data/lib/automation_object/blue_print/composite/element_hash.rb +7 -6
  10. data/lib/automation_object/blue_print/composite/helpers/element_helper.rb +7 -7
  11. data/lib/automation_object/blue_print/composite/helpers/multiple_elements_helper.rb +5 -4
  12. data/lib/automation_object/blue_print/composite/hook.rb +9 -11
  13. data/lib/automation_object/blue_print/composite/hook_action.rb +25 -24
  14. data/lib/automation_object/blue_print/composite/hook_element_requirements.rb +14 -13
  15. data/lib/automation_object/blue_print/composite/modal.rb +11 -21
  16. data/lib/automation_object/blue_print/composite/screen.rb +22 -16
  17. data/lib/automation_object/blue_print/composite/top.rb +13 -12
  18. data/lib/automation_object/blue_print/composite/view.rb +27 -16
  19. data/lib/automation_object/blue_print/hash_adapter.rb +15 -11
  20. data/lib/automation_object/blue_print/hash_adapter/automatic_onload_modal.rb +12 -11
  21. data/lib/automation_object/blue_print/hash_adapter/composite.rb +28 -25
  22. data/lib/automation_object/blue_print/hash_adapter/custom_method.rb +11 -10
  23. data/lib/automation_object/blue_print/hash_adapter/element.rb +10 -9
  24. data/lib/automation_object/blue_print/hash_adapter/element_array.rb +10 -9
  25. data/lib/automation_object/blue_print/hash_adapter/element_hash.rb +11 -10
  26. data/lib/automation_object/blue_print/hash_adapter/helpers/element_helper.rb +20 -25
  27. data/lib/automation_object/blue_print/hash_adapter/helpers/multiple_elements_helper.rb +15 -14
  28. data/lib/automation_object/blue_print/hash_adapter/helpers/validation_error.rb +9 -8
  29. data/lib/automation_object/blue_print/hash_adapter/helpers/validation_helper.rb +19 -24
  30. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate.rb +8 -5
  31. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_allowed_keys.rb +7 -8
  32. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_element_presence_of.rb +28 -23
  33. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_instance_of.rb +12 -13
  34. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_modal_presence_of.rb +27 -23
  35. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_presence_of.rb +9 -8
  36. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_screen_presence_of.rb +27 -23
  37. data/lib/automation_object/blue_print/hash_adapter/helpers/validators/validate_view_presence_of.rb +25 -21
  38. data/lib/automation_object/blue_print/hash_adapter/hook.rb +14 -11
  39. data/lib/automation_object/blue_print/hash_adapter/hook_action.rb +45 -47
  40. data/lib/automation_object/blue_print/hash_adapter/hook_element_requirements.rb +24 -28
  41. data/lib/automation_object/blue_print/hash_adapter/modal.rb +14 -13
  42. data/lib/automation_object/blue_print/hash_adapter/screen.rb +23 -22
  43. data/lib/automation_object/blue_print/hash_adapter/top.rb +16 -15
  44. data/lib/automation_object/blue_print/hash_adapter/view.rb +58 -4
  45. data/lib/automation_object/blue_print/yaml_adapter.rb +33 -34
  46. data/lib/automation_object/driver.rb +15 -13
  47. data/lib/automation_object/driver/appium_adapter/driver.rb +47 -46
  48. data/lib/automation_object/driver/appium_adapter/element.rb +29 -96
  49. data/lib/automation_object/driver/base.rb +4 -2
  50. data/lib/automation_object/driver/common_selenium/driver.rb +60 -0
  51. data/lib/automation_object/driver/common_selenium/element.rb +107 -0
  52. data/lib/automation_object/driver/common_selenium/element_geometry.rb +86 -0
  53. data/lib/automation_object/driver/driver.rb +60 -30
  54. data/lib/automation_object/driver/element.rb +70 -15
  55. data/lib/automation_object/driver/nokogiri_adapter/driver.rb +88 -34
  56. data/lib/automation_object/driver/nokogiri_adapter/element.rb +94 -16
  57. data/lib/automation_object/driver/nokogiri_adapter/error.rb +29 -8
  58. data/lib/automation_object/driver/nokogiri_adapter/{backup/form.rb → form.rb} +19 -6
  59. data/lib/automation_object/driver/nokogiri_adapter/request.rb +17 -0
  60. data/lib/automation_object/driver/nokogiri_adapter/session.rb +94 -0
  61. data/lib/automation_object/driver/nokogiri_adapter/window.rb +86 -0
  62. data/lib/automation_object/driver/selenium_adapter/driver.rb +36 -45
  63. data/lib/automation_object/driver/selenium_adapter/element.rb +15 -85
  64. data/lib/automation_object/dsl.rb +11 -28
  65. data/lib/automation_object/dsl/_base.rb +70 -0
  66. data/lib/automation_object/dsl/_proxy.rb +24 -0
  67. data/lib/automation_object/dsl/element.rb +34 -0
  68. data/lib/automation_object/dsl/element_array.rb +34 -0
  69. data/lib/automation_object/dsl/element_hash.rb +34 -0
  70. data/lib/automation_object/dsl/modal.rb +43 -0
  71. data/lib/automation_object/dsl/screen.rb +45 -0
  72. data/lib/automation_object/dsl/top.rb +25 -0
  73. data/lib/automation_object/framework.rb +28 -38
  74. data/lib/automation_object/helpers/composite.rb +30 -27
  75. data/lib/automation_object/helpers/composite_hook.rb +16 -15
  76. data/lib/automation_object/{blue_print/helpers/file_helper.rb → helpers/file.rb} +12 -12
  77. data/lib/automation_object/helpers/hash.rb +6 -5
  78. data/lib/automation_object/helpers/kernel.rb +11 -0
  79. data/lib/automation_object/helpers/{reflection_helper.rb → reflection.rb} +9 -8
  80. data/lib/automation_object/helpers/string.rb +25 -15
  81. data/lib/automation_object/{proxies → proxy}/mutex_proxy.rb +18 -21
  82. data/lib/automation_object/proxy/proxy.rb +23 -0
  83. data/lib/automation_object/proxy/throttle_proxy.rb +52 -0
  84. data/lib/automation_object/state.rb +11 -29
  85. data/lib/automation_object/state/{blue_print_adapter/composite.rb → composite/_base.rb} +35 -25
  86. data/lib/automation_object/state/{blue_print_adapter/helpers/element_helper.rb → composite/_common_element.rb} +11 -11
  87. data/lib/automation_object/state/composite/element.rb +22 -0
  88. data/lib/automation_object/state/composite/element_array.rb +27 -0
  89. data/lib/automation_object/state/composite/element_hash.rb +33 -0
  90. data/lib/automation_object/state/composite/element_proxy.rb +33 -0
  91. data/lib/automation_object/state/composite/helpers/window.rb +61 -0
  92. data/lib/automation_object/state/composite/helpers/window_manager.rb +60 -0
  93. data/lib/automation_object/state/composite/hook.rb +56 -0
  94. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_action.rb +10 -8
  95. data/lib/automation_object/state/composite/hook_actions/action_loop.rb +36 -0
  96. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/change_screen.rb +7 -5
  97. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/change_to_previous_screen.rb +7 -5
  98. data/lib/automation_object/state/composite/hook_actions/close_modal.rb +29 -0
  99. data/lib/automation_object/state/composite/hook_actions/close_screen.rb +19 -0
  100. data/lib/automation_object/state/composite/hook_actions/element_requirement.rb +32 -0
  101. data/lib/automation_object/state/composite/hook_actions/new_screen.rb +35 -0
  102. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/possible_screen_changes.rb +8 -7
  103. data/lib/automation_object/state/composite/hook_actions/reset_screen.rb +14 -0
  104. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/show_modal.rb +7 -5
  105. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/sleep.rb +4 -2
  106. data/lib/automation_object/state/{blue_print_adapter → composite}/hook_actions/wait_for_elements.rb +7 -5
  107. data/lib/automation_object/state/composite/modal.rb +45 -0
  108. data/lib/automation_object/state/composite/screen.rb +58 -0
  109. data/lib/automation_object/state/composite/top.rb +51 -0
  110. data/lib/automation_object/state/error.rb +45 -6
  111. data/lib/automation_object/state/session.rb +25 -23
  112. data/lib/automation_object/step_definitions.rb +5 -3
  113. data/lib/automation_object/step_definitions/element.rb +77 -0
  114. data/lib/automation_object/step_definitions/element_array.rb +135 -0
  115. data/lib/automation_object/step_definitions/element_hash.rb +126 -0
  116. data/lib/automation_object/step_definitions/screen.rb +62 -0
  117. data/lib/automation_object/step_definitions/{cache.rb → support/cache.rb} +8 -6
  118. data/lib/automation_object/step_definitions/support/element_array.rb +40 -0
  119. data/lib/automation_object/step_definitions/support/element_hash.rb +41 -0
  120. data/lib/automation_object/step_definitions/{parse.rb → support/parse.rb} +8 -6
  121. data/lib/automation_object/version.rb +2 -1
  122. metadata +203 -103
  123. data/lib/automation_object/driver/helpers/selenium_driver_helper.rb +0 -41
  124. data/lib/automation_object/driver/helpers/selenium_element_helper.rb +0 -138
  125. data/lib/automation_object/driver/nokogiri_adapter/backup/driver.rb +0 -83
  126. data/lib/automation_object/driver/nokogiri_adapter/backup/element.rb +0 -66
  127. data/lib/automation_object/driver/nokogiri_adapter/backup/helpers/driver_element_helper.rb +0 -52
  128. data/lib/automation_object/driver/nokogiri_adapter/backup/session.rb +0 -115
  129. data/lib/automation_object/dsl/blue_print_adapter.rb +0 -16
  130. data/lib/automation_object/dsl/blue_print_adapter/composite.rb +0 -54
  131. data/lib/automation_object/dsl/blue_print_adapter/element.rb +0 -14
  132. data/lib/automation_object/dsl/blue_print_adapter/element_array.rb +0 -14
  133. data/lib/automation_object/dsl/blue_print_adapter/element_hash.rb +0 -14
  134. data/lib/automation_object/dsl/blue_print_adapter/modal.rb +0 -23
  135. data/lib/automation_object/dsl/blue_print_adapter/screen.rb +0 -26
  136. data/lib/automation_object/dsl/blue_print_adapter/top.rb +0 -19
  137. data/lib/automation_object/dsl/models.rb +0 -18
  138. data/lib/automation_object/dsl/proxies/element.rb +0 -16
  139. data/lib/automation_object/dsl/proxies/element_array.rb +0 -16
  140. data/lib/automation_object/dsl/proxies/element_hash.rb +0 -16
  141. data/lib/automation_object/dsl/proxies/helpers/composite_helper.rb +0 -74
  142. data/lib/automation_object/dsl/proxies/modal.rb +0 -17
  143. data/lib/automation_object/dsl/proxies/screen.rb +0 -17
  144. data/lib/automation_object/dsl/proxies/top.rb +0 -17
  145. data/lib/automation_object/proxies/proxy.rb +0 -20
  146. data/lib/automation_object/proxies/throttle_proxy.rb +0 -57
  147. data/lib/automation_object/state/blue_print_adapter.rb +0 -16
  148. data/lib/automation_object/state/blue_print_adapter/element.rb +0 -20
  149. data/lib/automation_object/state/blue_print_adapter/element_array.rb +0 -25
  150. data/lib/automation_object/state/blue_print_adapter/element_hash.rb +0 -31
  151. data/lib/automation_object/state/blue_print_adapter/element_proxy.rb +0 -28
  152. data/lib/automation_object/state/blue_print_adapter/helpers/screen_manager.rb +0 -137
  153. data/lib/automation_object/state/blue_print_adapter/helpers/window.rb +0 -39
  154. data/lib/automation_object/state/blue_print_adapter/hook.rb +0 -56
  155. data/lib/automation_object/state/blue_print_adapter/hook_actions/action_loop.rb +0 -35
  156. data/lib/automation_object/state/blue_print_adapter/hook_actions/close_modal.rb +0 -31
  157. data/lib/automation_object/state/blue_print_adapter/hook_actions/close_screen.rb +0 -19
  158. data/lib/automation_object/state/blue_print_adapter/hook_actions/element_requirement.rb +0 -34
  159. data/lib/automation_object/state/blue_print_adapter/hook_actions/new_screen.rb +0 -37
  160. data/lib/automation_object/state/blue_print_adapter/hook_actions/reset_screen.rb +0 -18
  161. data/lib/automation_object/state/blue_print_adapter/modal.rb +0 -26
  162. data/lib/automation_object/state/blue_print_adapter/screen.rb +0 -32
  163. data/lib/automation_object/state/blue_print_adapter/top.rb +0 -45
  164. data/lib/automation_object/step_definitions/action.rb +0 -21
  165. data/lib/automation_object/step_definitions/element/actions.rb +0 -87
  166. data/lib/automation_object/step_definitions/element/regex.rb +0 -24
  167. data/lib/automation_object/step_definitions/element/steps.rb +0 -67
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bac9e2b6a0367c100fc66c0541dbea6800308e28
4
- data.tar.gz: 3b16e66a40739ac2cb865664daf3aaf7aebe97ba
3
+ metadata.gz: 752355905e1e3e9177ad9e481b27abd8d0979076
4
+ data.tar.gz: e58e752b120609eb53030fc41c3ab5ccaee717b9
5
5
  SHA512:
6
- metadata.gz: 7aeb3799b980a4d0f68b649c0441ddda946ee3a1cdb8049b711259cdb35cb025db681fa662b47f3e2908afa86015ceeecda8105fc4433975211a14f2a5714b35
7
- data.tar.gz: 6d93962d0df0434dd34fb238bb7fa5c8ab10610df17aea9abeb128c3b221e5fce7611b38ee2f97e30ceb20f756abd5b796530e8e757fd2d46ae6a28463dabcb4
6
+ metadata.gz: a59cd4c3e1b7843e825752e6e8921c45620733a2092305ec6746e04720c2f6bf8bcbf2e8a694769a6ba2e19fcbb341a88fa662eb62068dab4cbd0998fa25e6e1
7
+ data.tar.gz: 8adbce64b6b3ac96cde758814d2a643d5c04b2af2d302edd0aff46ebe9a780891721bc320b5865c63a59547fbb846395eccb77a81dfb97b3c7359379c93b3c5c
@@ -1,22 +1,33 @@
1
- #Gems
2
- require 'awesome_print'
3
- require 'ostruct'
4
- require 'event_emitter'
5
- require 'appium_lib'
6
- require 'selenium-webdriver'
1
+ # frozen_string_literal: true
7
2
 
8
- #Local Files
3
+ require_relative 'automation_object/helpers/kernel'
4
+
5
+ # Require Gems
6
+ # Ignore warning coming from third-party libraries
7
+ Kernel.suppress_warnings do
8
+ require 'awesome_print'
9
+ require 'ostruct'
10
+ require 'event_emitter'
11
+ require 'appium_lib'
12
+ require 'selenium-webdriver'
13
+ require 'colorize'
14
+ end
15
+
16
+ # Local Files
9
17
  require_relative 'automation_object/version'
10
18
 
11
- #Class method additions
19
+ # Class method additions
12
20
  require_relative 'automation_object/helpers/string'
13
21
  require_relative 'automation_object/helpers/hash'
14
22
 
15
- #Core Framework
23
+ # Core Framework
16
24
  require_relative 'automation_object/framework'
17
25
 
18
- #Cucumber Step Definitions
26
+ # Cucumber Step Definitions
19
27
  require_relative 'automation_object/step_definitions'
20
28
 
29
+ # Top level namespace
30
+ # AutomationObject is a dynamic DSL framework created by configurations that
31
+ # allow for UI automation using business logic
21
32
  module AutomationObject
22
- end
33
+ end
@@ -1,12 +1,13 @@
1
+ # frozen_string_literal: true
1
2
  require_relative 'blue_print/hash_adapter'
2
3
  require_relative 'blue_print/yaml_adapter'
3
4
 
4
5
  module AutomationObject
5
- #BluePrint Port, encapsulation of code required to parse and build composite data structure representing UI
6
- #Provides for loading Hash/YAML, validates the resulting structure (throws errors), and a common
7
- #interface for the rest of the code base to use.
6
+ # BluePrint Port, encapsulation of code required to parse and build composite data structure representing UI
7
+ # Provides for loading Hash/YAML, validates the resulting structure (throws errors), and a common
8
+ # interface for the rest of the code base to use.
8
9
  module BluePrint
9
- extend self
10
+ module_function
10
11
 
11
12
  # Get method for BluePrint adapter const for composite BluePrint build
12
13
  # Each adapter will implement common BluePrint interface
@@ -21,23 +22,23 @@ module AutomationObject
21
22
  # @param adapter_name [String] name of adapter wanted for composite creation
22
23
  def adapter=(adapter_name)
23
24
  adapter_name = adapter_name.to_s
24
- adapter_name << '_adapter' unless adapter_name.match(/_adapter$/)
25
+ adapter_name << '_adapter' unless adapter_name =~ /_adapter$/
25
26
  adapter_const = adapter_name.pascalize
26
27
 
27
- @adapter = AutomationObject::BluePrint.const_get("#{adapter_const}")
28
+ @adapter = AutomationObject::BluePrint.const_get(adapter_const.to_s)
28
29
  end
29
30
 
30
31
  # Adapters use the composite AutomationObject::BluePrint::Composite interfaces
31
32
  # @return [AutomationObject::BluePrint::Composite::Top]
32
- def new(blueprint_arg)
33
+ def create(blueprint_arg)
33
34
  case blueprint_arg
34
- when String
35
- self.adapter = :yaml
36
- when Hash
37
- self.adapter = :hash
35
+ when String
36
+ self.adapter = :yaml
37
+ when Hash
38
+ self.adapter = :hash
38
39
  end
39
40
 
40
41
  adapter.build(blueprint_arg)
41
42
  end
42
43
  end
43
- end
44
+ end
@@ -1,28 +1,29 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  module AutomationObject
5
6
  module BluePrint
6
7
  module Composite
7
- #AutomaticOnloadModal composite class, passing method to adapter only
8
- #Hoping to improve code completion and standard interface where
9
- #classes use this as a template to add additional adapters
8
+ # AutomaticOnloadModal composite class, passing method to adapter only
9
+ # Hoping to improve code completion and standard interface where
10
+ # classes use this as a template to add additional adapters
10
11
  class AutomaticOnloadModal < Base
11
12
  # @return [Symbol, nil]
12
13
  def modal_name
13
- self.adapter.modal_name
14
+ adapter.modal_name
14
15
  end
15
16
 
16
17
  # @return [Integer]
17
18
  def number_of_checks
18
- self.adapter.number_of_checks
19
+ adapter.number_of_checks
19
20
  end
20
21
 
21
22
  # @return [Boolean]
22
23
  def close
23
- self.adapter.close
24
+ adapter.close
24
25
  end
25
26
  end
26
27
  end
27
28
  end
28
- end
29
+ end
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  require_relative '../../../../lib/automation_object/helpers/composite'
2
3
 
3
4
  module AutomationObject
4
5
  module BluePrint
5
6
  module Composite
6
- #This composite namespace is the interface contract for the rest of the application to rely on
7
- #Adapters should implement the same classes and methods as the composite to achieve reliability
8
- #with the rest of the application
7
+ # This composite namespace is the interface contract for the rest of the application to rely on
8
+ # Adapters should implement the same classes and methods as the composite to achieve reliability
9
+ # with the rest of the application
9
10
  class Base
10
11
  attr_accessor :adapter
11
12
 
@@ -15,4 +16,4 @@ module AutomationObject
15
16
  end
16
17
  end
17
18
  end
18
- end
19
+ end
@@ -1,23 +1,24 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  module AutomationObject
5
6
  module BluePrint
6
7
  module Composite
7
- #CustomMethod composite class, passing method to adapter only
8
- #Hoping to improve code completion and standard interface where
9
- #classes use this as a template to add additional adapters
8
+ # CustomMethod composite class, passing method to adapter only
9
+ # Hoping to improve code completion and standard interface where
10
+ # classes use this as a template to add additional adapters
10
11
  class CustomMethod < Base
11
12
  # @return [Symbol, nil]
12
13
  def element_method
13
- self.adapter.element_method
14
+ adapter.element_method
14
15
  end
15
16
 
16
17
  # @return [String, nil]
17
18
  def evaluate
18
- self.adapter.evaluate
19
+ adapter.evaluate
19
20
  end
20
21
  end
21
22
  end
22
23
  end
23
- end
24
+ end
@@ -1,4 +1,5 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  require_relative 'hook'
@@ -9,12 +10,12 @@ require_relative 'helpers/element_helper'
9
10
  module AutomationObject
10
11
  module BluePrint
11
12
  module Composite
12
- #Element composite class, passing method to adapter only
13
- #Hoping to improve code completion and standard interface where
14
- #classes use this as a template to add additional adapters
13
+ # Element composite class, passing method to adapter only
14
+ # Hoping to improve code completion and standard interface where
15
+ # classes use this as a template to add additional adapters
15
16
  class Element < Base
16
17
  include ElementHelper
17
18
  end
18
19
  end
19
20
  end
20
- end
21
+ end
@@ -1,4 +1,5 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  require_relative 'hook'
@@ -9,13 +10,13 @@ require_relative 'helpers/multiple_elements_helper'
9
10
  module AutomationObject
10
11
  module BluePrint
11
12
  module Composite
12
- #ElementArray composite class, passing method to adapter only
13
- #Hoping to improve code completion and standard interface where
14
- #classes use this as a template to add additional adapters
13
+ # ElementArray composite class, passing method to adapter only
14
+ # Hoping to improve code completion and standard interface where
15
+ # classes use this as a template to add additional adapters
15
16
  class ElementArray < Base
16
17
  include ElementHelper
17
18
  include MultipleElementsHelper
18
19
  end
19
20
  end
20
21
  end
21
- end
22
+ end
@@ -1,4 +1,5 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  require_relative 'hook'
@@ -9,18 +10,18 @@ require_relative 'helpers/multiple_elements_helper'
9
10
  module AutomationObject
10
11
  module BluePrint
11
12
  module Composite
12
- #ElementHash composite class, passing method to adapter only
13
- #Hoping to improve code completion and standard interface where
14
- #classes use this as a template to add additional adapters
13
+ # ElementHash composite class, passing method to adapter only
14
+ # Hoping to improve code completion and standard interface where
15
+ # classes use this as a template to add additional adapters
15
16
  class ElementHash < Base
16
17
  include ElementHelper
17
18
  include MultipleElementsHelper
18
19
 
19
20
  # @return [Symbol] element method to define element keys by
20
21
  def define_elements_by
21
- return self.adapter.define_elements_by
22
+ adapter.define_elements_by
22
23
  end
23
24
  end
24
25
  end
25
26
  end
26
- end
27
+ end
@@ -1,33 +1,33 @@
1
+ # frozen_string_literal: true
1
2
  module AutomationObject
2
3
  module BluePrint
3
4
  module Composite
4
- #Helper module for Element composite classes
5
+ # Helper module for Element composite classes
5
6
  module ElementHelper
6
7
  # @return [Array<Symbol, String>, nil] params as an array for driver find_element args
7
8
  def selector_params
8
- self.adapter.selector_params
9
+ adapter.selector_params
9
10
  end
10
11
 
11
12
  # @return [Symbol, nil] element name of iframe element is in or nil if not
12
13
  def in_iframe
13
- self.adapter.in_iframe
14
+ adapter.in_iframe
14
15
  end
15
16
 
16
17
  # @return [Boolean] whether or not element is in iframe
17
18
  def in_iframe?
18
- self.adapter.in_iframe?
19
+ adapter.in_iframe?
19
20
  end
20
21
 
21
22
  def method_hook?(name)
22
- self.adapter.method_hook?(name)
23
+ adapter.method_hook?(name)
23
24
  end
24
25
 
25
26
  # @return [Hash<Hook>] array of Hook that are defined under the element
26
27
  def method_hooks
27
- self.adapter.method_hooks
28
+ adapter.method_hooks
28
29
  end
29
30
  end
30
31
  end
31
32
  end
32
33
  end
33
-
@@ -1,18 +1,19 @@
1
+ # frozen_string_literal: true
1
2
  module AutomationObject
2
3
  module BluePrint
3
4
  module Composite
4
- #Helper module for multiple element composite classes
5
+ # Helper module for multiple element composite classes
5
6
  module MultipleElementsHelper
6
7
  # @return [Range, nil] gives range for limiting multiple elements or nil
7
8
  def custom_range
8
- self.adapter.custom_range
9
+ adapter.custom_range
9
10
  end
10
11
 
11
12
  # @return [Symbol, nil] gives element method to remove duplicates on or nil
12
13
  def remove_duplicates
13
- self.adapter.remove_duplicates
14
+ adapter.remove_duplicates
14
15
  end
15
16
  end
16
17
  end
17
18
  end
18
- end
19
+ end
@@ -1,31 +1,29 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
- require_relative 'hook_action'
5
- require_relative 'hook_element_requirements'
6
-
7
5
  module AutomationObject
8
6
  module BluePrint
9
7
  module Composite
10
- #Hook composite class, passing method to adapter only
11
- #Hoping to improve code completion and standard interface where
12
- #classes use this as a template to add additional adapters
8
+ # Hook composite class, passing method to adapter only
9
+ # Hoping to improve code completion and standard interface where
10
+ # classes use this as a template to add additional adapters
13
11
  class Hook < Base
14
12
  # @return [HookAction]
15
13
  def before
16
- self.adapter.before
14
+ adapter.before
17
15
  end
18
16
 
19
17
  # @return [HookAction]
20
18
  def after
21
- self.adapter.after
19
+ adapter.after
22
20
  end
23
21
 
24
22
  # @return [Array<HookElementRequirements>] array of element requirements
25
23
  def live?
26
- self.adapter.live?
24
+ adapter.live?
27
25
  end
28
26
  end
29
27
  end
30
28
  end
31
- end
29
+ end
@@ -1,4 +1,5 @@
1
- #Require parent class
1
+ # frozen_string_literal: true
2
+ # Require parent class
2
3
  require_relative 'base'
3
4
 
4
5
  require_relative 'hook_element_requirements'
@@ -6,79 +7,79 @@ require_relative 'hook_element_requirements'
6
7
  module AutomationObject
7
8
  module BluePrint
8
9
  module Composite
9
- #HookAction composite class, passing method to adapter only
10
- #Hoping to improve code completion and standard interface where
11
- #classes use this as a template to add additional adapters
10
+ # HookAction composite class, passing method to adapter only
11
+ # Hoping to improve code completion and standard interface where
12
+ # classes use this as a template to add additional adapters
12
13
  class HookAction < Base
13
- #Get the order to run the hook in
14
+ # Get the order to run the hook in
14
15
  # @return [Array<Symbol>] list of hook methods to run in given order
15
16
  def hook_order
16
- self.adapter.hook_order
17
+ adapter.hook_order
17
18
  end
18
19
 
19
- #Get length of hook actions
20
+ # Get length of hook actions
20
21
  # @return [Integer] length of hook actions
21
22
  def length
22
- self.adapter.length
23
+ adapter.length
23
24
  end
24
25
 
25
- #See if hook actions are empty
26
+ # See if hook actions are empty
26
27
  # @return [Boolean] if hook actions are empty
27
28
  def empty?
28
- self.adapter.empty?
29
+ adapter.empty?
29
30
  end
30
31
 
31
32
  # @return [Symbol, nil] screen to change to
32
33
  def change_screen
33
- self.adapter.change_screen
34
+ adapter.change_screen
34
35
  end
35
36
 
36
37
  # @return [Symbol, nil] new screen
37
38
  def new_screen
38
- self.adapter.new_screen
39
+ adapter.new_screen
39
40
  end
40
41
 
41
42
  # @return [Boolean]
42
43
  def close_screen
43
- self.adapter.close_screen
44
+ adapter.close_screen
44
45
  end
45
46
 
46
47
  # @return [Boolean]
47
48
  def close_modal
48
- self.adapter.close_modal
49
+ adapter.close_modal
49
50
  end
50
51
 
51
52
  # @return [Boolean]
52
53
  def change_to_previous_screen
53
- self.adapter.change_to_previous_screen
54
+ adapter.change_to_previous_screen
54
55
  end
55
56
 
56
57
  # @return [Symbol, nil]
57
58
  def show_modal
58
- self.adapter.show_modal
59
+ adapter.show_modal
59
60
  end
60
61
 
61
62
  # @return [Array]
62
63
  def possible_screen_changes
63
- self.adapter.possible_screen_changes
64
+ adapter.possible_screen_changes
64
65
  end
65
66
 
66
- #@return [Boolean] reset the screen?
67
+ # @return [Boolean] reset the screen?
67
68
  def reset_screen
68
- self.adapter.reset_screen
69
+ adapter.reset_screen
69
70
  end
70
71
 
71
- #@return [Numeric] amount of time to sleep
72
+ # @return [Numeric] amount of time to sleep
72
73
  def sleep
73
- self.adapter.sleep
74
+ adapter.sleep
74
75
  end
75
76
 
76
- #Custom method for array of children instead of Hash
77
+ # Custom method for array of children instead of Hash
77
78
  # @return [Array<HookElementRequirements>] array of wait for element children
78
79
  def wait_for_elements
79
- self.adapter.wait_for_elements
80
+ adapter.wait_for_elements
80
81
  end
81
82
  end
82
83
  end
83
84
  end
84
- end
85
+ end