roku_builder 3.13.0 → 4.0.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.
Files changed (226) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/CHANGELOG +12 -0
  4. data/Gemfile.lock +22 -7
  5. data/Guardfile +3 -3
  6. data/README.md +22 -398
  7. data/bin/roku +1 -194
  8. data/config.json.example +1 -1
  9. data/intergration/roku_builder/test_core.rb +52 -0
  10. data/intergration/roku_builder/test_files/core_intergration_test/manifest_template +7 -0
  11. data/intergration/roku_builder/test_files/core_intergration_test/test.pkg +0 -0
  12. data/intergration/roku_builder/test_files/inspector_intergration_test/components/rectanglescene.xml +28 -0
  13. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  14. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  15. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_fhd.jpg +0 -0
  16. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_hd.jpg +0 -0
  17. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_sd.jpg +0 -0
  18. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  19. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  20. data/intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  21. data/intergration/roku_builder/test_files/inspector_intergration_test/manifest +21 -0
  22. data/intergration/roku_builder/test_files/inspector_intergration_test/source/main.brs +23 -0
  23. data/intergration/roku_builder/test_files/inspector_intergration_test/test.pkg +0 -0
  24. data/intergration/roku_builder/test_files/linker_intergration_test/components/rectanglescene.xml +29 -0
  25. data/intergration/roku_builder/test_files/linker_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  26. data/intergration/roku_builder/test_files/linker_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  27. data/intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_fhd.jpg +0 -0
  28. data/intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_hd.jpg +0 -0
  29. data/intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_sd.jpg +0 -0
  30. data/intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  31. data/intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  32. data/intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  33. data/intergration/roku_builder/test_files/linker_intergration_test/manifest +21 -0
  34. data/intergration/roku_builder/test_files/linker_intergration_test/source/main.brs +21 -0
  35. data/intergration/roku_builder/test_files/linker_intergration_test/test.pkg +0 -0
  36. data/intergration/roku_builder/test_files/loader_intergration_test/components/rectanglescene.xml +29 -0
  37. data/intergration/roku_builder/test_files/loader_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  38. data/intergration/roku_builder/test_files/loader_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  39. data/intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_fhd.jpg +0 -0
  40. data/intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_hd.jpg +0 -0
  41. data/intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_sd.jpg +0 -0
  42. data/intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  43. data/intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  44. data/intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  45. data/intergration/roku_builder/test_files/loader_intergration_test/manifest +21 -0
  46. data/intergration/roku_builder/test_files/loader_intergration_test/source/main.brs +21 -0
  47. data/intergration/roku_builder/test_files/loader_intergration_test/test.pkg +0 -0
  48. data/intergration/roku_builder/test_files/monitor_intergration_test/components/rectanglescene.xml +29 -0
  49. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  50. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  51. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_fhd.jpg +0 -0
  52. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_hd.jpg +0 -0
  53. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_sd.jpg +0 -0
  54. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  55. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  56. data/intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  57. data/intergration/roku_builder/test_files/monitor_intergration_test/manifest +21 -0
  58. data/intergration/roku_builder/test_files/monitor_intergration_test/source/main.brs +21 -0
  59. data/intergration/roku_builder/test_files/monitor_intergration_test/test.pkg +0 -0
  60. data/intergration/roku_builder/test_files/navigator_intergration_test/components/rectanglescene.xml +29 -0
  61. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  62. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  63. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_fhd.jpg +0 -0
  64. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_hd.jpg +0 -0
  65. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_sd.jpg +0 -0
  66. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  67. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  68. data/intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  69. data/intergration/roku_builder/test_files/navigator_intergration_test/manifest +21 -0
  70. data/intergration/roku_builder/test_files/navigator_intergration_test/source/main.brs +21 -0
  71. data/intergration/roku_builder/test_files/navigator_intergration_test/test.pkg +0 -0
  72. data/intergration/roku_builder/test_files/packager_intergration_test/components/rectanglescene.xml +29 -0
  73. data/intergration/roku_builder/test_files/packager_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  74. data/intergration/roku_builder/test_files/packager_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  75. data/intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_fhd.jpg +0 -0
  76. data/intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_hd.jpg +0 -0
  77. data/intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_sd.jpg +0 -0
  78. data/intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  79. data/intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  80. data/intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  81. data/intergration/roku_builder/test_files/packager_intergration_test/manifest +21 -0
  82. data/intergration/roku_builder/test_files/packager_intergration_test/source/main.brs +21 -0
  83. data/intergration/roku_builder/test_files/packager_intergration_test/test.pkg +0 -0
  84. data/intergration/roku_builder/test_files/profiler_intergration_test/components/rectanglescene.xml +29 -0
  85. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  86. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  87. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_fhd.jpg +0 -0
  88. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_hd.jpg +0 -0
  89. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_sd.jpg +0 -0
  90. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  91. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  92. data/intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  93. data/intergration/roku_builder/test_files/profiler_intergration_test/manifest +21 -0
  94. data/intergration/roku_builder/test_files/profiler_intergration_test/source/main.brs +21 -0
  95. data/intergration/roku_builder/test_files/profiler_intergration_test/test.pkg +0 -0
  96. data/intergration/roku_builder/test_files/scripter_intergration_test/components/rectanglescene.xml +29 -0
  97. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  98. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  99. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_fhd.jpg +0 -0
  100. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_hd.jpg +0 -0
  101. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_sd.jpg +0 -0
  102. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  103. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  104. data/intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  105. data/intergration/roku_builder/test_files/scripter_intergration_test/manifest +21 -0
  106. data/intergration/roku_builder/test_files/scripter_intergration_test/source/main.brs +21 -0
  107. data/intergration/roku_builder/test_files/scripter_intergration_test/test.pkg +0 -0
  108. data/intergration/roku_builder/test_files/tester_intergration_test/components/rectanglescene.xml +29 -0
  109. data/intergration/roku_builder/test_files/tester_intergration_test/images/rde_mm_focus_hd.jpg +0 -0
  110. data/intergration/roku_builder/test_files/tester_intergration_test/images/rde_mm_focus_sd.jpg +0 -0
  111. data/intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_fhd.jpg +0 -0
  112. data/intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_hd.jpg +0 -0
  113. data/intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_sd.jpg +0 -0
  114. data/intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_bg_hd.jpg +0 -0
  115. data/intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_mm_focus_hd.jpg +0 -0
  116. data/intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_splash_hd.jpg +0 -0
  117. data/intergration/roku_builder/test_files/tester_intergration_test/manifest +21 -0
  118. data/intergration/roku_builder/test_files/tester_intergration_test/source/main.brs +21 -0
  119. data/intergration/roku_builder/test_files/tester_intergration_test/test.pkg +0 -0
  120. data/intergration/roku_builder/test_helper.rb +138 -0
  121. data/intergration/roku_builder/test_inspector.rb +35 -0
  122. data/intergration/roku_builder/test_linker.rb +32 -0
  123. data/intergration/roku_builder/test_loader.rb +38 -0
  124. data/intergration/roku_builder/test_monitor.rb +21 -0
  125. data/intergration/roku_builder/test_navigator.rb +34 -0
  126. data/intergration/roku_builder/test_packager.rb +41 -0
  127. data/intergration/roku_builder/test_profiler.rb +48 -0
  128. data/intergration/roku_builder/test_scripter.rb +38 -0
  129. data/intergration/roku_builder/test_tester.rb +21 -0
  130. data/lib/roku_builder.rb +143 -154
  131. data/lib/roku_builder/config.rb +17 -40
  132. data/lib/roku_builder/config_parser.rb +49 -200
  133. data/lib/roku_builder/config_validator.rb +1 -1
  134. data/lib/roku_builder/errors.rb +12 -0
  135. data/lib/roku_builder/git.rb +28 -0
  136. data/lib/roku_builder/hash.rb +8 -0
  137. data/lib/roku_builder/manifest.rb +121 -0
  138. data/lib/roku_builder/options.rb +68 -29
  139. data/lib/roku_builder/plugin.rb +30 -0
  140. data/lib/roku_builder/plugins/core.rb +117 -0
  141. data/lib/roku_builder/plugins/inspector.rb +104 -0
  142. data/lib/roku_builder/{linker.rb → plugins/linker.rb} +38 -12
  143. data/lib/roku_builder/plugins/loader.rb +152 -0
  144. data/lib/roku_builder/{monitor.rb → plugins/monitor.rb} +20 -9
  145. data/lib/roku_builder/{navigator.rb → plugins/navigator.rb} +136 -88
  146. data/lib/roku_builder/plugins/packager.rb +194 -0
  147. data/lib/roku_builder/plugins/profiler.rb +135 -0
  148. data/lib/roku_builder/plugins/scripter.rb +53 -0
  149. data/lib/roku_builder/{tester.rb → plugins/tester.rb} +28 -19
  150. data/lib/roku_builder/stager.rb +48 -12
  151. data/lib/roku_builder/string.rb +20 -0
  152. data/lib/roku_builder/util.rb +10 -34
  153. data/lib/roku_builder/version.rb +1 -1
  154. data/rakefile +5 -1
  155. data/roku_builder.gemspec +2 -0
  156. data/test/roku_builder/plugins/test_core.rb +112 -0
  157. data/test/roku_builder/plugins/test_inspector.rb +165 -0
  158. data/test/roku_builder/plugins/test_linker.rb +123 -0
  159. data/test/roku_builder/plugins/test_loader.rb +115 -0
  160. data/test/roku_builder/plugins/test_monitor.rb +141 -0
  161. data/test/roku_builder/plugins/test_navigator.rb +274 -0
  162. data/test/roku_builder/plugins/test_packager.rb +202 -0
  163. data/test/roku_builder/plugins/test_profiler.rb +127 -0
  164. data/test/roku_builder/plugins/test_scripter.rb +110 -0
  165. data/test/roku_builder/plugins/test_tester.rb +109 -0
  166. data/test/roku_builder/test_config.rb +51 -35
  167. data/test/roku_builder/test_config_parser.rb +76 -154
  168. data/test/roku_builder/test_config_validator.rb +18 -1
  169. data/test/roku_builder/test_files/{loader_test/manifest → config_parser_test/test.pkg} +0 -0
  170. data/test/roku_builder/test_files/config_test/config.json +3 -0
  171. data/test/roku_builder/test_files/controller_commands_test/manifest_template +7 -0
  172. data/test/roku_builder/test_files/core_test/manifest_template +7 -0
  173. data/test/roku_builder/test_files/core_test/test.pkg +0 -0
  174. data/test/roku_builder/test_files/inspector_test/manifest +6 -0
  175. data/test/roku_builder/test_files/inspector_test/test.pkg +0 -0
  176. data/test/roku_builder/test_files/linker_test/manifest +6 -0
  177. data/test/roku_builder/test_files/linker_test/test.pkg +0 -0
  178. data/test/roku_builder/test_files/loader_test/manifest_template +6 -0
  179. data/test/roku_builder/test_files/loader_test/test.pkg +0 -0
  180. data/test/roku_builder/test_files/loader_test/test.zip +0 -0
  181. data/test/roku_builder/test_files/manifest_test/manifest_comments +6 -0
  182. data/test/roku_builder/test_files/manifest_test/manifest_template +7 -0
  183. data/test/roku_builder/test_files/manifest_test/test.zip +0 -0
  184. data/test/roku_builder/test_files/packager_test/manifest +6 -0
  185. data/test/roku_builder/test_files/packager_test/scripter_test/manifest +6 -0
  186. data/test/roku_builder/test_files/packager_test/test.pkg +0 -0
  187. data/test/roku_builder/test_files/roku_builder_test/config.json +32 -0
  188. data/test/roku_builder/test_files/scripter_test/manifest +6 -0
  189. data/test/roku_builder/test_files/scripter_test/test.pkg +0 -0
  190. data/test/roku_builder/test_files/stager_test/test.pkg +0 -0
  191. data/test/roku_builder/test_files/tester_test/manifest +6 -0
  192. data/test/roku_builder/test_files/tester_test/test.pkg +0 -0
  193. data/test/roku_builder/test_helper.rb +44 -11
  194. data/test/roku_builder/test_logger.rb +1 -0
  195. data/test/roku_builder/test_manifest.rb +99 -0
  196. data/test/roku_builder/test_options.rb +106 -77
  197. data/test/roku_builder/test_options_plugins.rb +111 -0
  198. data/test/roku_builder/test_plugin.rb +48 -0
  199. data/test/roku_builder/test_roku_builder.rb +239 -0
  200. data/test/roku_builder/test_stager.rb +49 -101
  201. data/test/roku_builder/test_util.rb +19 -4
  202. metadata +241 -47
  203. data/lib/roku_builder/controller.rb +0 -98
  204. data/lib/roku_builder/controller_commands.rb +0 -224
  205. data/lib/roku_builder/error_handler.rb +0 -142
  206. data/lib/roku_builder/inspector.rb +0 -82
  207. data/lib/roku_builder/keyer.rb +0 -106
  208. data/lib/roku_builder/loader.rb +0 -131
  209. data/lib/roku_builder/manifest_manager.rb +0 -126
  210. data/lib/roku_builder/packager.rb +0 -43
  211. data/lib/roku_builder/profiler.rb +0 -96
  212. data/lib/roku_builder/scripter.rb +0 -39
  213. data/test/roku_builder/test_controller.rb +0 -70
  214. data/test/roku_builder/test_controller_commands.rb +0 -465
  215. data/test/roku_builder/test_error_handler.rb +0 -90
  216. data/test/roku_builder/test_inspector.rb +0 -298
  217. data/test/roku_builder/test_keyer.rb +0 -176
  218. data/test/roku_builder/test_linker.rb +0 -110
  219. data/test/roku_builder/test_loader.rb +0 -337
  220. data/test/roku_builder/test_manifest_manager.rb +0 -103
  221. data/test/roku_builder/test_monitor.rb +0 -137
  222. data/test/roku_builder/test_navigator.rb +0 -280
  223. data/test/roku_builder/test_packager.rb +0 -127
  224. data/test/roku_builder/test_profiler.rb +0 -35
  225. data/test/roku_builder/test_scripter.rb +0 -102
  226. data/test/roku_builder/test_tester.rb +0 -130
@@ -4,18 +4,26 @@ require_relative "test_helper.rb"
4
4
 
5
5
  module RokuBuilder
6
6
  class UtilTest < Minitest::Test
7
- def test_util_init
8
- device_config = {
7
+ def setup
8
+ options = build_options
9
+ @config = Config.new(options: options)
10
+ @device_config = {
9
11
  ip: "111.222.333",
10
12
  user: "user",
11
13
  password: "password"
12
14
  }
13
- test = TestClass.new(**device_config)
15
+ @config.instance_variable_set(:@parsed, {device_config: @device_config, init_params: {}})
16
+ end
17
+ def test_util_init
18
+ test = UtilTestClass.new(config: @config)
14
19
  assert test.inited
15
20
  end
21
+ def test_util_no_init
22
+ UtilTestClass2.new(config: @config)
23
+ end
16
24
  end
17
25
 
18
- class TestClass < Util
26
+ class UtilTestClass < Util
19
27
  def init
20
28
  @inited = true
21
29
  end
@@ -23,4 +31,11 @@ module RokuBuilder
23
31
  @inited || false
24
32
  end
25
33
  end
34
+ class UtilTestClass2 < Util
35
+ def self.commands
36
+ end
37
+ def self.parse_options(option_parser:)
38
+ end
39
+ end
26
40
  end
41
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roku_builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - greeneca
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-17 00:00:00.000000000 Z
11
+ date: 2017-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -206,6 +206,34 @@ dependencies:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: '1.0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: minitest-utils
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '0.3'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '0.3'
223
+ - !ruby/object:Gem::Dependency
224
+ name: webmock
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '3.0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '3.0'
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: simplecov
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -310,77 +338,221 @@ files:
310
338
  - bin/roku
311
339
  - config.json.example
312
340
  - config.json.min
341
+ - intergration/roku_builder/test_core.rb
342
+ - intergration/roku_builder/test_files/core_intergration_test/manifest_template
343
+ - intergration/roku_builder/test_files/core_intergration_test/test.pkg
344
+ - intergration/roku_builder/test_files/inspector_intergration_test/components/rectanglescene.xml
345
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rde_mm_focus_hd.jpg
346
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rde_mm_focus_sd.jpg
347
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_fhd.jpg
348
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_hd.jpg
349
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rde_splash_sd.jpg
350
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_bg_hd.jpg
351
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_mm_focus_hd.jpg
352
+ - intergration/roku_builder/test_files/inspector_intergration_test/images/rsgde_splash_hd.jpg
353
+ - intergration/roku_builder/test_files/inspector_intergration_test/manifest
354
+ - intergration/roku_builder/test_files/inspector_intergration_test/source/main.brs
355
+ - intergration/roku_builder/test_files/inspector_intergration_test/test.pkg
356
+ - intergration/roku_builder/test_files/linker_intergration_test/components/rectanglescene.xml
357
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rde_mm_focus_hd.jpg
358
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rde_mm_focus_sd.jpg
359
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_fhd.jpg
360
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_hd.jpg
361
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rde_splash_sd.jpg
362
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_bg_hd.jpg
363
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_mm_focus_hd.jpg
364
+ - intergration/roku_builder/test_files/linker_intergration_test/images/rsgde_splash_hd.jpg
365
+ - intergration/roku_builder/test_files/linker_intergration_test/manifest
366
+ - intergration/roku_builder/test_files/linker_intergration_test/source/main.brs
367
+ - intergration/roku_builder/test_files/linker_intergration_test/test.pkg
368
+ - intergration/roku_builder/test_files/loader_intergration_test/components/rectanglescene.xml
369
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rde_mm_focus_hd.jpg
370
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rde_mm_focus_sd.jpg
371
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_fhd.jpg
372
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_hd.jpg
373
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rde_splash_sd.jpg
374
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_bg_hd.jpg
375
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_mm_focus_hd.jpg
376
+ - intergration/roku_builder/test_files/loader_intergration_test/images/rsgde_splash_hd.jpg
377
+ - intergration/roku_builder/test_files/loader_intergration_test/manifest
378
+ - intergration/roku_builder/test_files/loader_intergration_test/source/main.brs
379
+ - intergration/roku_builder/test_files/loader_intergration_test/test.pkg
380
+ - intergration/roku_builder/test_files/monitor_intergration_test/components/rectanglescene.xml
381
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rde_mm_focus_hd.jpg
382
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rde_mm_focus_sd.jpg
383
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_fhd.jpg
384
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_hd.jpg
385
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rde_splash_sd.jpg
386
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_bg_hd.jpg
387
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_mm_focus_hd.jpg
388
+ - intergration/roku_builder/test_files/monitor_intergration_test/images/rsgde_splash_hd.jpg
389
+ - intergration/roku_builder/test_files/monitor_intergration_test/manifest
390
+ - intergration/roku_builder/test_files/monitor_intergration_test/source/main.brs
391
+ - intergration/roku_builder/test_files/monitor_intergration_test/test.pkg
392
+ - intergration/roku_builder/test_files/navigator_intergration_test/components/rectanglescene.xml
393
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rde_mm_focus_hd.jpg
394
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rde_mm_focus_sd.jpg
395
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_fhd.jpg
396
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_hd.jpg
397
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rde_splash_sd.jpg
398
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_bg_hd.jpg
399
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_mm_focus_hd.jpg
400
+ - intergration/roku_builder/test_files/navigator_intergration_test/images/rsgde_splash_hd.jpg
401
+ - intergration/roku_builder/test_files/navigator_intergration_test/manifest
402
+ - intergration/roku_builder/test_files/navigator_intergration_test/source/main.brs
403
+ - intergration/roku_builder/test_files/navigator_intergration_test/test.pkg
404
+ - intergration/roku_builder/test_files/packager_intergration_test/components/rectanglescene.xml
405
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rde_mm_focus_hd.jpg
406
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rde_mm_focus_sd.jpg
407
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_fhd.jpg
408
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_hd.jpg
409
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rde_splash_sd.jpg
410
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_bg_hd.jpg
411
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_mm_focus_hd.jpg
412
+ - intergration/roku_builder/test_files/packager_intergration_test/images/rsgde_splash_hd.jpg
413
+ - intergration/roku_builder/test_files/packager_intergration_test/manifest
414
+ - intergration/roku_builder/test_files/packager_intergration_test/source/main.brs
415
+ - intergration/roku_builder/test_files/packager_intergration_test/test.pkg
416
+ - intergration/roku_builder/test_files/profiler_intergration_test/components/rectanglescene.xml
417
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rde_mm_focus_hd.jpg
418
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rde_mm_focus_sd.jpg
419
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_fhd.jpg
420
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_hd.jpg
421
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rde_splash_sd.jpg
422
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_bg_hd.jpg
423
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_mm_focus_hd.jpg
424
+ - intergration/roku_builder/test_files/profiler_intergration_test/images/rsgde_splash_hd.jpg
425
+ - intergration/roku_builder/test_files/profiler_intergration_test/manifest
426
+ - intergration/roku_builder/test_files/profiler_intergration_test/source/main.brs
427
+ - intergration/roku_builder/test_files/profiler_intergration_test/test.pkg
428
+ - intergration/roku_builder/test_files/scripter_intergration_test/components/rectanglescene.xml
429
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rde_mm_focus_hd.jpg
430
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rde_mm_focus_sd.jpg
431
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_fhd.jpg
432
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_hd.jpg
433
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rde_splash_sd.jpg
434
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_bg_hd.jpg
435
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_mm_focus_hd.jpg
436
+ - intergration/roku_builder/test_files/scripter_intergration_test/images/rsgde_splash_hd.jpg
437
+ - intergration/roku_builder/test_files/scripter_intergration_test/manifest
438
+ - intergration/roku_builder/test_files/scripter_intergration_test/source/main.brs
439
+ - intergration/roku_builder/test_files/scripter_intergration_test/test.pkg
440
+ - intergration/roku_builder/test_files/tester_intergration_test/components/rectanglescene.xml
441
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rde_mm_focus_hd.jpg
442
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rde_mm_focus_sd.jpg
443
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_fhd.jpg
444
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_hd.jpg
445
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rde_splash_sd.jpg
446
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_bg_hd.jpg
447
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_mm_focus_hd.jpg
448
+ - intergration/roku_builder/test_files/tester_intergration_test/images/rsgde_splash_hd.jpg
449
+ - intergration/roku_builder/test_files/tester_intergration_test/manifest
450
+ - intergration/roku_builder/test_files/tester_intergration_test/source/main.brs
451
+ - intergration/roku_builder/test_files/tester_intergration_test/test.pkg
452
+ - intergration/roku_builder/test_helper.rb
453
+ - intergration/roku_builder/test_inspector.rb
454
+ - intergration/roku_builder/test_linker.rb
455
+ - intergration/roku_builder/test_loader.rb
456
+ - intergration/roku_builder/test_monitor.rb
457
+ - intergration/roku_builder/test_navigator.rb
458
+ - intergration/roku_builder/test_packager.rb
459
+ - intergration/roku_builder/test_profiler.rb
460
+ - intergration/roku_builder/test_scripter.rb
461
+ - intergration/roku_builder/test_tester.rb
313
462
  - lib/roku_builder.rb
314
463
  - lib/roku_builder/config.rb
315
464
  - lib/roku_builder/config_parser.rb
316
465
  - lib/roku_builder/config_validator.rb
317
- - lib/roku_builder/controller.rb
318
- - lib/roku_builder/controller_commands.rb
319
- - lib/roku_builder/error_handler.rb
320
466
  - lib/roku_builder/errors.rb
321
- - lib/roku_builder/inspector.rb
322
- - lib/roku_builder/keyer.rb
323
- - lib/roku_builder/linker.rb
324
- - lib/roku_builder/loader.rb
467
+ - lib/roku_builder/git.rb
468
+ - lib/roku_builder/hash.rb
325
469
  - lib/roku_builder/logger.rb
326
- - lib/roku_builder/manifest_manager.rb
327
- - lib/roku_builder/monitor.rb
328
- - lib/roku_builder/navigator.rb
470
+ - lib/roku_builder/manifest.rb
329
471
  - lib/roku_builder/options.rb
330
- - lib/roku_builder/packager.rb
331
- - lib/roku_builder/profiler.rb
332
- - lib/roku_builder/scripter.rb
472
+ - lib/roku_builder/plugin.rb
473
+ - lib/roku_builder/plugins/core.rb
474
+ - lib/roku_builder/plugins/inspector.rb
475
+ - lib/roku_builder/plugins/linker.rb
476
+ - lib/roku_builder/plugins/loader.rb
477
+ - lib/roku_builder/plugins/monitor.rb
478
+ - lib/roku_builder/plugins/navigator.rb
479
+ - lib/roku_builder/plugins/packager.rb
480
+ - lib/roku_builder/plugins/profiler.rb
481
+ - lib/roku_builder/plugins/scripter.rb
482
+ - lib/roku_builder/plugins/tester.rb
333
483
  - lib/roku_builder/stager.rb
334
- - lib/roku_builder/tester.rb
484
+ - lib/roku_builder/string.rb
335
485
  - lib/roku_builder/util.rb
336
486
  - lib/roku_builder/version.rb
337
487
  - rakefile
338
488
  - roku_builder.gemspec
489
+ - test/roku_builder/plugins/test_core.rb
490
+ - test/roku_builder/plugins/test_inspector.rb
491
+ - test/roku_builder/plugins/test_linker.rb
492
+ - test/roku_builder/plugins/test_loader.rb
493
+ - test/roku_builder/plugins/test_monitor.rb
494
+ - test/roku_builder/plugins/test_navigator.rb
495
+ - test/roku_builder/plugins/test_packager.rb
496
+ - test/roku_builder/plugins/test_profiler.rb
497
+ - test/roku_builder/plugins/test_scripter.rb
498
+ - test/roku_builder/plugins/test_tester.rb
339
499
  - test/roku_builder/test_config.rb
340
500
  - test/roku_builder/test_config_parser.rb
341
501
  - test/roku_builder/test_config_validator.rb
342
- - test/roku_builder/test_controller.rb
343
- - test/roku_builder/test_controller_commands.rb
344
- - test/roku_builder/test_error_handler.rb
502
+ - test/roku_builder/test_files/config_parser_test/test.pkg
345
503
  - test/roku_builder/test_files/config_test/bad.json
346
504
  - test/roku_builder/test_files/config_test/child.json
347
505
  - test/roku_builder/test_files/config_test/config.json
348
506
  - test/roku_builder/test_files/config_test/non_json.json
349
507
  - test/roku_builder/test_files/config_test/parent.json
350
508
  - test/roku_builder/test_files/config_test/parent_projects.json
509
+ - test/roku_builder/test_files/controller_commands_test/manifest_template
351
510
  - test/roku_builder/test_files/controller_config_test/valid_config.json
352
511
  - test/roku_builder/test_files/controller_test/load_config_test.json
353
512
  - test/roku_builder/test_files/controller_test/parent_config.json
354
513
  - test/roku_builder/test_files/controller_test/valid_config.json
514
+ - test/roku_builder/test_files/core_test/manifest_template
515
+ - test/roku_builder/test_files/core_test/test.pkg
516
+ - test/roku_builder/test_files/inspector_test/manifest
517
+ - test/roku_builder/test_files/inspector_test/test.pkg
518
+ - test/roku_builder/test_files/linker_test/manifest
519
+ - test/roku_builder/test_files/linker_test/test.pkg
355
520
  - test/roku_builder/test_files/loader_test/a
356
- - test/roku_builder/test_files/loader_test/manifest
521
+ - test/roku_builder/test_files/loader_test/manifest_template
357
522
  - test/roku_builder/test_files/loader_test/source/b
358
523
  - test/roku_builder/test_files/loader_test/source/c/d
524
+ - test/roku_builder/test_files/loader_test/test.pkg
525
+ - test/roku_builder/test_files/loader_test/test.zip
359
526
  - test/roku_builder/test_files/manifest_manager_test/manifest_comments
360
527
  - test/roku_builder/test_files/manifest_manager_test/manifest_template
361
528
  - test/roku_builder/test_files/manifest_manager_test/manifest_template_2
362
529
  - test/roku_builder/test_files/manifest_manager_test/test.zip
363
530
  - test/roku_builder/test_files/manifest_manager_test/updated_title_manifest
531
+ - test/roku_builder/test_files/manifest_test/manifest_comments
532
+ - test/roku_builder/test_files/manifest_test/manifest_template
533
+ - test/roku_builder/test_files/manifest_test/test.zip
534
+ - test/roku_builder/test_files/packager_test/manifest
535
+ - test/roku_builder/test_files/packager_test/scripter_test/manifest
536
+ - test/roku_builder/test_files/packager_test/test.pkg
537
+ - test/roku_builder/test_files/roku_builder_test/config.json
538
+ - test/roku_builder/test_files/scripter_test/manifest
539
+ - test/roku_builder/test_files/scripter_test/test.pkg
364
540
  - test/roku_builder/test_files/stager_test/a
365
541
  - test/roku_builder/test_files/stager_test/manifest
366
542
  - test/roku_builder/test_files/stager_test/source/b
367
543
  - test/roku_builder/test_files/stager_test/source/c/d
544
+ - test/roku_builder/test_files/stager_test/test.pkg
545
+ - test/roku_builder/test_files/tester_test/manifest
546
+ - test/roku_builder/test_files/tester_test/test.pkg
368
547
  - test/roku_builder/test_helper.rb
369
- - test/roku_builder/test_inspector.rb
370
- - test/roku_builder/test_keyer.rb
371
- - test/roku_builder/test_linker.rb
372
- - test/roku_builder/test_loader.rb
373
548
  - test/roku_builder/test_logger.rb
374
- - test/roku_builder/test_manifest_manager.rb
375
- - test/roku_builder/test_monitor.rb
376
- - test/roku_builder/test_navigator.rb
549
+ - test/roku_builder/test_manifest.rb
377
550
  - test/roku_builder/test_options.rb
378
- - test/roku_builder/test_packager.rb
379
- - test/roku_builder/test_profiler.rb
551
+ - test/roku_builder/test_options_plugins.rb
552
+ - test/roku_builder/test_plugin.rb
553
+ - test/roku_builder/test_roku_builder.rb
380
554
  - test/roku_builder/test_ruby_git.rb
381
- - test/roku_builder/test_scripter.rb
382
555
  - test/roku_builder/test_stager.rb
383
- - test/roku_builder/test_tester.rb
384
556
  - test/roku_builder/test_util.rb
385
557
  homepage: ''
386
558
  licenses:
@@ -402,54 +574,76 @@ required_rubygems_version: !ruby/object:Gem::Requirement
402
574
  version: '0'
403
575
  requirements: []
404
576
  rubyforge_project:
405
- rubygems_version: 2.5.2
577
+ rubygems_version: 2.6.11
406
578
  signing_key:
407
579
  specification_version: 4
408
580
  summary: Build Tool for Roku Apps
409
581
  test_files:
582
+ - test/roku_builder/plugins/test_core.rb
583
+ - test/roku_builder/plugins/test_inspector.rb
584
+ - test/roku_builder/plugins/test_linker.rb
585
+ - test/roku_builder/plugins/test_loader.rb
586
+ - test/roku_builder/plugins/test_monitor.rb
587
+ - test/roku_builder/plugins/test_navigator.rb
588
+ - test/roku_builder/plugins/test_packager.rb
589
+ - test/roku_builder/plugins/test_profiler.rb
590
+ - test/roku_builder/plugins/test_scripter.rb
591
+ - test/roku_builder/plugins/test_tester.rb
410
592
  - test/roku_builder/test_config.rb
411
593
  - test/roku_builder/test_config_parser.rb
412
594
  - test/roku_builder/test_config_validator.rb
413
- - test/roku_builder/test_controller.rb
414
- - test/roku_builder/test_controller_commands.rb
415
- - test/roku_builder/test_error_handler.rb
595
+ - test/roku_builder/test_files/config_parser_test/test.pkg
416
596
  - test/roku_builder/test_files/config_test/bad.json
417
597
  - test/roku_builder/test_files/config_test/child.json
418
598
  - test/roku_builder/test_files/config_test/config.json
419
599
  - test/roku_builder/test_files/config_test/non_json.json
420
600
  - test/roku_builder/test_files/config_test/parent.json
421
601
  - test/roku_builder/test_files/config_test/parent_projects.json
602
+ - test/roku_builder/test_files/controller_commands_test/manifest_template
422
603
  - test/roku_builder/test_files/controller_config_test/valid_config.json
423
604
  - test/roku_builder/test_files/controller_test/load_config_test.json
424
605
  - test/roku_builder/test_files/controller_test/parent_config.json
425
606
  - test/roku_builder/test_files/controller_test/valid_config.json
607
+ - test/roku_builder/test_files/core_test/manifest_template
608
+ - test/roku_builder/test_files/core_test/test.pkg
609
+ - test/roku_builder/test_files/inspector_test/manifest
610
+ - test/roku_builder/test_files/inspector_test/test.pkg
611
+ - test/roku_builder/test_files/linker_test/manifest
612
+ - test/roku_builder/test_files/linker_test/test.pkg
426
613
  - test/roku_builder/test_files/loader_test/a
427
- - test/roku_builder/test_files/loader_test/manifest
614
+ - test/roku_builder/test_files/loader_test/manifest_template
428
615
  - test/roku_builder/test_files/loader_test/source/b
429
616
  - test/roku_builder/test_files/loader_test/source/c/d
617
+ - test/roku_builder/test_files/loader_test/test.pkg
618
+ - test/roku_builder/test_files/loader_test/test.zip
430
619
  - test/roku_builder/test_files/manifest_manager_test/manifest_comments
431
620
  - test/roku_builder/test_files/manifest_manager_test/manifest_template
432
621
  - test/roku_builder/test_files/manifest_manager_test/manifest_template_2
433
622
  - test/roku_builder/test_files/manifest_manager_test/test.zip
434
623
  - test/roku_builder/test_files/manifest_manager_test/updated_title_manifest
624
+ - test/roku_builder/test_files/manifest_test/manifest_comments
625
+ - test/roku_builder/test_files/manifest_test/manifest_template
626
+ - test/roku_builder/test_files/manifest_test/test.zip
627
+ - test/roku_builder/test_files/packager_test/manifest
628
+ - test/roku_builder/test_files/packager_test/scripter_test/manifest
629
+ - test/roku_builder/test_files/packager_test/test.pkg
630
+ - test/roku_builder/test_files/roku_builder_test/config.json
631
+ - test/roku_builder/test_files/scripter_test/manifest
632
+ - test/roku_builder/test_files/scripter_test/test.pkg
435
633
  - test/roku_builder/test_files/stager_test/a
436
634
  - test/roku_builder/test_files/stager_test/manifest
437
635
  - test/roku_builder/test_files/stager_test/source/b
438
636
  - test/roku_builder/test_files/stager_test/source/c/d
637
+ - test/roku_builder/test_files/stager_test/test.pkg
638
+ - test/roku_builder/test_files/tester_test/manifest
639
+ - test/roku_builder/test_files/tester_test/test.pkg
439
640
  - test/roku_builder/test_helper.rb
440
- - test/roku_builder/test_inspector.rb
441
- - test/roku_builder/test_keyer.rb
442
- - test/roku_builder/test_linker.rb
443
- - test/roku_builder/test_loader.rb
444
641
  - test/roku_builder/test_logger.rb
445
- - test/roku_builder/test_manifest_manager.rb
446
- - test/roku_builder/test_monitor.rb
447
- - test/roku_builder/test_navigator.rb
642
+ - test/roku_builder/test_manifest.rb
448
643
  - test/roku_builder/test_options.rb
449
- - test/roku_builder/test_packager.rb
450
- - test/roku_builder/test_profiler.rb
644
+ - test/roku_builder/test_options_plugins.rb
645
+ - test/roku_builder/test_plugin.rb
646
+ - test/roku_builder/test_roku_builder.rb
451
647
  - test/roku_builder/test_ruby_git.rb
452
- - test/roku_builder/test_scripter.rb
453
648
  - test/roku_builder/test_stager.rb
454
- - test/roku_builder/test_tester.rb
455
649
  - test/roku_builder/test_util.rb
@@ -1,98 +0,0 @@
1
- # ********** Copyright Viacom, Inc. Apache 2.0 **********
2
-
3
- module RokuBuilder
4
-
5
- # Controls all interaction with other classes
6
- class Controller
7
-
8
- # Run the builder
9
- # @param options [Hash] The options hash
10
- def self.run(options:)
11
- options = Options.new(options: options)
12
-
13
- initialize_logger(options: options)
14
-
15
- # Load Config
16
- config = Config.new(options: options)
17
- config.configure
18
- config.load
19
- config.validate
20
- config.parse
21
-
22
- # Check devices
23
- device_code = check_devices(options: options, config: config)
24
- ErrorHandler.handle_device_codes(device_code: device_code, logger: Logger.instance)
25
-
26
- # Run Commands
27
- command_code = execute_commands(options: options, config: config)
28
- ErrorHandler.handle_command_codes(command_code: command_code, logger: Logger.instance)
29
- end
30
-
31
- def self.initialize_logger(options:)
32
- if options[:debug]
33
- Logger.set_debug
34
- elsif options[:verbose]
35
- Logger.set_info
36
- else
37
- Logger.set_warn
38
- end
39
- end
40
-
41
- # Run commands
42
- # @param options [Hash] The options hash
43
- # @return [Integer] Return code for options handeling
44
- # @param logger [Logger] system logger
45
- def self.execute_commands(options:, config:)
46
- command = options.command
47
- if ControllerCommands.simple_commands.keys.include?(command)
48
- params = ControllerCommands.simple_commands[command]
49
- params[:config] = config
50
- ControllerCommands.simple_command(**params)
51
- else
52
- params = ControllerCommands.method(command.to_s).parameters.collect{|a|a[1]}
53
- args = {}
54
- params.each do |key|
55
- case key
56
- when :options
57
- args[:options] = options
58
- when :config
59
- args[:config] = config
60
- end
61
- end
62
- ControllerCommands.send(command, args)
63
- end
64
- end
65
- private_class_method :execute_commands
66
-
67
- # Ensure that the selected device is accessable
68
- # @param options [Hash] The options hash
69
- # @param logger [Logger] system logger
70
- def self.check_devices(options:, config:)
71
- if options.device_command?
72
- ping = Net::Ping::External.new
73
- host = config.parsed[:device_config][:ip]
74
- return GOOD_DEVICE if ping.ping? host, 1, 0.2, 1
75
- return BAD_DEVICE if options[:device_given]
76
- config.raw[:devices].each_pair {|key, value|
77
- unless key == :default
78
- host = value[:ip]
79
- if ping.ping? host, 1, 0.2, 1
80
- config.parsed[:device_config] = value
81
- return CHANGED_DEVICE
82
- end
83
- end
84
- }
85
- return NO_DEVICES
86
- end
87
- return GOOD_DEVICE
88
- end
89
- private_class_method :check_devices
90
-
91
- # Run a system command
92
- # @param command [String] The command to be run
93
- # @return [String] The output of the command
94
- def self.system(command:)
95
- `#{command}`.chomp
96
- end
97
- end
98
- end