ehbrs-tools 0.20.0 → 0.23.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (264) hide show
  1. checksums.yaml +4 -4
  2. data/exe/ehbrs +2 -2
  3. data/lib/ehbrs/core_ext.rb +4 -0
  4. data/lib/ehbrs/music/album.rb +2 -0
  5. data/lib/ehbrs/patches.rb +4 -0
  6. data/lib/ehbrs/patches/object/template.rb +2 -2
  7. data/lib/ehbrs/tools/runner.rb +21 -0
  8. data/lib/ehbrs/tools/runner/cooking_book.rb +32 -0
  9. data/lib/ehbrs/tools/runner/cooking_book/build.rb +52 -0
  10. data/lib/ehbrs/{runner/videos/series.rb → tools/runner/finances.rb} +4 -4
  11. data/lib/ehbrs/tools/runner/finances/bb_browser.rb +37 -0
  12. data/lib/ehbrs/tools/runner/fs.rb +18 -0
  13. data/lib/ehbrs/tools/runner/fs/selected.rb +81 -0
  14. data/lib/ehbrs/tools/runner/fs/used_space.rb +161 -0
  15. data/lib/ehbrs/tools/runner/google.rb +18 -0
  16. data/lib/ehbrs/tools/runner/google/translate.rb +89 -0
  17. data/lib/ehbrs/tools/runner/music.rb +18 -0
  18. data/lib/ehbrs/tools/runner/music/selected.rb +28 -0
  19. data/lib/ehbrs/tools/runner/self.rb +18 -0
  20. data/lib/ehbrs/tools/runner/self/test.rb +27 -0
  21. data/lib/ehbrs/tools/runner/telegram.rb +28 -0
  22. data/lib/ehbrs/tools/runner/telegram/send_message.rb +31 -0
  23. data/lib/ehbrs/tools/runner/vg.rb +18 -0
  24. data/lib/ehbrs/tools/runner/vg/ips.rb +134 -0
  25. data/lib/ehbrs/tools/runner/vg/wii.rb +74 -0
  26. data/lib/ehbrs/{runner/web_utils → tools/runner}/videos.rb +3 -3
  27. data/lib/ehbrs/tools/runner/videos/extract.rb +70 -0
  28. data/lib/ehbrs/tools/runner/videos/probe.rb +34 -0
  29. data/lib/ehbrs/tools/runner/videos/series.rb +20 -0
  30. data/lib/ehbrs/tools/runner/videos/series/rename.rb +74 -0
  31. data/lib/ehbrs/tools/runner/videos/unsupported.rb +61 -0
  32. data/lib/ehbrs/tools/runner/web_utils.rb +26 -0
  33. data/lib/ehbrs/tools/runner/web_utils/videos.rb +20 -0
  34. data/lib/ehbrs/tools/runner/web_utils/videos/download.rb +65 -0
  35. data/lib/ehbrs/tools/runner/web_utils/videos/upload.rb +77 -0
  36. data/lib/ehbrs/tools/version.rb +1 -1
  37. data/lib/ehbrs/vg/wii/game_file.rb +10 -0
  38. data/lib/ehbrs/videos/convert_job.rb +1 -1
  39. data/lib/ehbrs/videos/series/rename/line_result.rb +1 -1
  40. data/lib/ehbrs/videos/unsupported/check_support.rb +12 -7
  41. data/lib/ehbrs/videos/unsupported/search.rb +1 -1
  42. data/lib/ehbrs/videos/unsupported/track.rb +1 -1
  43. data/vendor/aranha-parsers/aranha-parsers.gemspec +1 -1
  44. data/vendor/aranha-parsers/lib/aranha/parsers/source_address.rb +10 -8
  45. data/vendor/aranha-parsers/lib/aranha/parsers/version.rb +1 -1
  46. data/vendor/aranha-parsers/spec/lib/rubocop_check_spec.rb +1 -5
  47. data/vendor/aranha-parsers/spec/spec_helper.rb +3 -0
  48. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/base.rb +8 -0
  49. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/chrome.rb +10 -5
  50. data/vendor/aranha-selenium/lib/aranha/selenium/driver_factory/firefox.rb +25 -11
  51. data/vendor/aranha-selenium/lib/aranha/selenium/version.rb +1 -1
  52. data/vendor/eac_cli/eac_cli.gemspec +4 -2
  53. data/vendor/eac_cli/lib/eac_cli/config.rb +18 -0
  54. data/vendor/eac_cli/lib/eac_cli/config/entry.rb +48 -0
  55. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/console/configs/read_entry_options.rb → eac_cli/lib/eac_cli/config/entry/options.rb} +20 -9
  56. data/vendor/eac_cli/lib/eac_cli/config/entry/undefined.rb +26 -0
  57. data/vendor/eac_cli/lib/eac_cli/default_runner.rb +1 -1
  58. data/vendor/eac_cli/lib/eac_cli/definition/base_option.rb +5 -1
  59. data/vendor/eac_cli/lib/eac_cli/definition/help_formatter.rb +3 -2
  60. data/vendor/eac_cli/lib/eac_cli/definition/positional_argument.rb +6 -1
  61. data/vendor/eac_cli/lib/eac_cli/old_configs.rb +35 -0
  62. data/vendor/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +80 -0
  63. data/vendor/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +16 -0
  64. data/vendor/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +44 -0
  65. data/vendor/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +25 -0
  66. data/vendor/eac_cli/lib/eac_cli/old_configs_bridge.rb +39 -0
  67. data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +4 -2
  68. data/vendor/eac_cli/lib/eac_cli/patches/object/runner_with.rb +1 -1
  69. data/vendor/eac_cli/lib/eac_cli/runner.rb +0 -2
  70. data/vendor/eac_cli/lib/eac_cli/runner/after_class_methods.rb +20 -3
  71. data/vendor/eac_cli/lib/eac_cli/runner/context.rb +2 -1
  72. data/vendor/eac_cli/lib/eac_cli/runner/instance_methods.rb +12 -1
  73. data/vendor/eac_cli/lib/eac_cli/runner_with/help.rb +9 -4
  74. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder.rb +73 -0
  75. data/vendor/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +56 -0
  76. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +10 -4
  77. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +10 -0
  78. data/vendor/eac_cli/lib/eac_cli/speaker.rb +127 -0
  79. data/vendor/eac_cli/lib/eac_cli/speaker/_constants.rb +12 -0
  80. data/vendor/eac_cli/lib/eac_cli/speaker/list.rb +61 -0
  81. data/vendor/eac_cli/lib/eac_cli/speaker/options.rb +38 -0
  82. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  83. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/console/configs_spec.rb → eac_cli/spec/lib/eac_cli/old_configs_spec.rb} +2 -2
  84. data/vendor/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +1 -1
  85. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -1
  86. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/console → eac_cli/spec/lib/eac_cli}/speaker_spec.rb +7 -11
  87. data/vendor/eac_cli/spec/rubocop_spec.rb +1 -5
  88. data/vendor/eac_cli/spec/spec_helper.rb +3 -0
  89. data/vendor/eac_config/Gemfile +5 -0
  90. data/vendor/eac_config/eac_config.gemspec +19 -0
  91. data/vendor/eac_config/lib/eac_config.rb +7 -0
  92. data/vendor/eac_config/lib/eac_config/entry.rb +49 -0
  93. data/vendor/eac_config/lib/eac_config/entry_path.rb +41 -0
  94. data/vendor/eac_config/lib/eac_config/envvars_node.rb +25 -0
  95. data/vendor/eac_config/lib/eac_config/envvars_node/entry.rb +54 -0
  96. data/vendor/eac_config/lib/eac_config/load_nodes_search.rb +39 -0
  97. data/vendor/eac_config/lib/eac_config/load_path.rb +28 -0
  98. data/vendor/eac_config/lib/eac_config/node.rb +67 -0
  99. data/vendor/eac_config/lib/eac_config/node_entry.rb +18 -0
  100. data/vendor/eac_config/lib/eac_config/node_uri.rb +38 -0
  101. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs.rb → eac_config/lib/eac_config/old_configs.rb} +6 -5
  102. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs → eac_config/lib/eac_config/old_configs}/base.rb +5 -5
  103. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils/configs → eac_config/lib/eac_config/old_configs}/file.rb +4 -4
  104. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash.rb +8 -8
  105. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/entry_key_error.rb +1 -1
  106. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/node.rb +2 -2
  107. data/vendor/{eac_ruby_utils/lib/eac_ruby_utils → eac_config/lib/eac_config}/paths_hash/path_search.rb +4 -4
  108. data/vendor/eac_config/lib/eac_config/version.rb +5 -0
  109. data/vendor/eac_config/lib/eac_config/yaml_file_node.rb +48 -0
  110. data/vendor/eac_config/lib/eac_config/yaml_file_node/entry.rb +37 -0
  111. data/vendor/eac_config/spec/lib/eac_config/entry_path_spec.rb +30 -0
  112. data/vendor/eac_config/spec/lib/eac_config/envvars_node/entry_spec.rb +14 -0
  113. data/vendor/eac_config/spec/lib/eac_config/envvars_node_spec.rb +40 -0
  114. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils/configs_spec.rb → eac_config/spec/lib/eac_config/old_configs_spec.rb} +2 -2
  115. data/vendor/{eac_ruby_utils/spec/lib/eac_ruby_utils → eac_config/spec/lib/eac_config}/paths_hash_spec.rb +6 -6
  116. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec.rb +52 -0
  117. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1.yaml +6 -0
  118. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_1.yaml +2 -0
  119. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2.yaml +4 -0
  120. data/vendor/eac_config/spec/lib/eac_config/yaml_file_node_spec_files/storage1_2/storage1_2_1.yaml +2 -0
  121. data/vendor/eac_config/spec/rubocop_spec.rb +3 -0
  122. data/vendor/eac_config/spec/spec_helper.rb +17 -0
  123. data/vendor/eac_docker/eac_docker.gemspec +3 -2
  124. data/vendor/eac_docker/lib/eac_docker/debug.rb +15 -0
  125. data/vendor/eac_docker/lib/eac_docker/images/coded.rb +4 -0
  126. data/vendor/eac_docker/lib/eac_docker/images/templatized.rb +13 -2
  127. data/vendor/eac_docker/lib/eac_docker/version.rb +1 -1
  128. data/vendor/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +2 -1
  129. data/vendor/eac_docker/spec/rubocop_spec.rb +1 -5
  130. data/vendor/eac_docker/spec/spec_helper.rb +3 -0
  131. data/vendor/eac_ruby_base0/eac_ruby_base0.gemspec +4 -4
  132. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +23 -9
  133. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +34 -0
  134. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +4 -0
  135. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +2 -2
  136. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +22 -12
  137. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +43 -0
  138. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +36 -0
  139. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +58 -0
  140. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  141. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +42 -0
  142. data/vendor/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +81 -0
  143. data/vendor/eac_ruby_base0/spec/rubocop_spec.rb +1 -5
  144. data/vendor/eac_ruby_base0/spec/spec_helper.rb +3 -0
  145. data/vendor/eac_ruby_utils/eac_ruby_utils.gemspec +2 -3
  146. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +1 -1
  147. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/context.rb +31 -0
  148. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +12 -7
  149. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +10 -5
  150. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/filesystem_cache.rb +6 -0
  151. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/logs.rb +63 -0
  152. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +9 -1
  153. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +3 -2
  154. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +4 -2
  155. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -1
  156. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +11 -0
  157. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +9 -0
  158. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +11 -0
  159. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +10 -0
  160. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +4 -2
  161. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +34 -0
  162. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/rspec/conditional.rb +1 -4
  163. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +10 -29
  164. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +69 -0
  165. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +26 -5
  166. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +16 -0
  167. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +57 -0
  168. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +32 -0
  169. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  170. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +13 -0
  171. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +33 -0
  172. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +8 -0
  173. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +27 -0
  174. data/vendor/eac_ruby_utils/spec/rubocop_check_spec.rb +1 -5
  175. data/vendor/eac_ruby_utils/spec/spec_helper.rb +3 -0
  176. data/vendor/ehbrs_ruby_utils/ehbrs_ruby_utils.gemspec +3 -2
  177. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/version.rb +1 -1
  178. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/convert_job.rb +1 -1
  179. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/videos/stream.rb +11 -1
  180. data/vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb +1 -1
  181. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb +14 -0
  182. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml +28 -0
  183. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml +7 -0
  184. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml +49 -0
  185. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml +7 -0
  186. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml +43 -0
  187. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml +7 -0
  188. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml +59 -0
  189. data/vendor/ehbrs_ruby_utils/spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml +7 -0
  190. data/vendor/ehbrs_ruby_utils/spec/rubocop_check_spec.rb +1 -5
  191. data/vendor/ehbrs_ruby_utils/spec/spec_helper.rb +3 -0
  192. metadata +133 -91
  193. data/lib/ehbrs/runner.rb +0 -19
  194. data/lib/ehbrs/runner/cooking_book.rb +0 -30
  195. data/lib/ehbrs/runner/cooking_book/build.rb +0 -32
  196. data/lib/ehbrs/runner/finances.rb +0 -16
  197. data/lib/ehbrs/runner/finances/bb_browser.rb +0 -35
  198. data/lib/ehbrs/runner/fs.rb +0 -16
  199. data/lib/ehbrs/runner/fs/used_space.rb +0 -160
  200. data/lib/ehbrs/runner/google.rb +0 -16
  201. data/lib/ehbrs/runner/google/translate.rb +0 -87
  202. data/lib/ehbrs/runner/music.rb +0 -16
  203. data/lib/ehbrs/runner/music/selected.rb +0 -63
  204. data/lib/ehbrs/runner/self.rb +0 -16
  205. data/lib/ehbrs/runner/self/test.rb +0 -25
  206. data/lib/ehbrs/runner/telegram.rb +0 -26
  207. data/lib/ehbrs/runner/telegram/send_message.rb +0 -29
  208. data/lib/ehbrs/runner/vg.rb +0 -16
  209. data/lib/ehbrs/runner/vg/ips.rb +0 -132
  210. data/lib/ehbrs/runner/vg/wii.rb +0 -72
  211. data/lib/ehbrs/runner/videos.rb +0 -16
  212. data/lib/ehbrs/runner/videos/extract.rb +0 -68
  213. data/lib/ehbrs/runner/videos/probe.rb +0 -32
  214. data/lib/ehbrs/runner/videos/series/rename.rb +0 -72
  215. data/lib/ehbrs/runner/videos/unsupported.rb +0 -59
  216. data/lib/ehbrs/runner/web_utils.rb +0 -24
  217. data/lib/ehbrs/runner/web_utils/videos/download.rb +0 -63
  218. data/lib/ehbrs/runner/web_utils/videos/upload.rb +0 -75
  219. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder.rb +0 -69
  220. data/vendor/eac_cli/lib/eac_cli/docopt/doc_builder/alternative.rb +0 -50
  221. data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +0 -15
  222. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +0 -51
  223. data/vendor/eac_cli/lib/eac_cli/runner_with/output_file.rb +0 -30
  224. data/vendor/eac_cli/spec/lib/eac_cli/docopt/runner_extension_spec.rb +0 -35
  225. data/vendor/eac_cli/spec/lib/eac_cli/runner_with/output_file_spec.rb +0 -53
  226. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmable.rb +0 -21
  227. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console.rb +0 -5
  228. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs.rb +0 -38
  229. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/entry_reader.rb +0 -81
  230. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/password_entry_reader.rb +0 -18
  231. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/configs/store_passwords_entry_reader.rb +0 -27
  232. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner.rb +0 -45
  233. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_class_methods.rb +0 -18
  234. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_doc.rb +0 -25
  235. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_settings.rb +0 -19
  236. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/docopt_runner/_subcommands.rb +0 -154
  237. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker.rb +0 -133
  238. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/_class_methods.rb +0 -39
  239. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/_constants.rb +0 -14
  240. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/list.rb +0 -63
  241. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/console/speaker/node.rb +0 -26
  242. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/console_speaker.rb +0 -10
  243. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/template.rb +0 -10
  244. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb +0 -9
  245. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates.rb +0 -9
  246. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/directory.rb +0 -110
  247. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/file.rb +0 -50
  248. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/searcher.rb +0 -55
  249. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_not_found_error.rb +0 -7
  250. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers.rb +0 -25
  251. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/base.rb +0 -23
  252. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/entries_reader.rb +0 -25
  253. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/generic.rb +0 -25
  254. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/templates/variable_providers/hash.rb +0 -29
  255. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/console/docopt_runner_spec.rb +0 -136
  256. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/console_speaker_spec.rb +0 -13
  257. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec.rb +0 -23
  258. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec.rb +0 -35
  259. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec_files/expected_content +0 -2
  260. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/file_spec_files/source.template +0 -2
  261. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec.rb +0 -30
  262. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path1/subdir1/file1.template +0 -1
  263. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path1/subdir1/file2 +0 -1
  264. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/templates/searcher_spec_files/path2/subdir1/file3.template +0 -1
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.59.0'
4
+ VERSION = '0.69.1'
5
5
  end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/patches/module/speaker'
4
+
5
+ RSpec.describe ::Module do
6
+ class StubClass # rubocop:disable RSpec/LeakyConstantDeclaration
7
+ enable_speaker
8
+ end
9
+
10
+ describe '#enable_speaker' do
11
+ it { expect(StubClass.included_modules).to include(::EacRubyUtils::Speaker::Sender) }
12
+ end
13
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/patches/pathname/parent_n'
4
+
5
+ RSpec.describe ::Pathname do
6
+ [
7
+ ['/absolute/path/to/file', 0, '/absolute/path/to/file'],
8
+ ['/absolute/path/to/file', 1, '/absolute/path/to'],
9
+ ['/absolute/path/to/file', 2, '/absolute/path'],
10
+ ['/absolute/path/to/file', 3, '/absolute'],
11
+ ['/absolute/path/to/file', 4, '/'],
12
+ ['/absolute/path/to/file', 5, '/'],
13
+ ['relative/path/to/file', 0, 'relative/path/to/file'],
14
+ ['relative/path/to/file', 1, 'relative/path/to'],
15
+ ['relative/path/to/file', 2, 'relative/path'],
16
+ ['relative/path/to/file', 3, 'relative'],
17
+ ['relative/path/to/file', 4, '.'],
18
+ ['relative/path/to/file', 5, '..'],
19
+ ['relative/path/to/file', 6, '../..']
20
+ ].each do |test_data|
21
+ input_path = test_data[0]
22
+ context "when path is \"#{input_path}\"" do
23
+ let(:n) { test_data[1] }
24
+ let(:expected_path) { test_data[2] }
25
+
26
+ it do
27
+ expect(described_class.new(input_path).parent_n(n)).to(
28
+ eq(described_class.new(expected_path))
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
@@ -42,5 +42,13 @@ RSpec.describe ::EacRubyUtils::SettingsProvider do
42
42
  it do
43
43
  expect(stub.setting_value('key_e', required: false)).to eq(nil)
44
44
  end
45
+
46
+ it do
47
+ expect(stub.setting_value('key_e', default: nil)).to eq(nil)
48
+ end
49
+
50
+ it do
51
+ expect(stub.setting_value('key_e', default: 'default_e')).to eq('default_e')
52
+ end
45
53
  end
46
54
  end
@@ -10,12 +10,25 @@ class CacheableObject
10
10
  @counter += 1
11
11
  end
12
12
 
13
+ def method_with_question_uncached?
14
+ 'question'
15
+ end
16
+
17
+ def method_with_exclamation_uncached!
18
+ 'exclamation'
19
+ end
20
+
13
21
  def method_with_args_uncached(arg1)
14
22
  @counter2 ||= 0
15
23
  @counter2 += 1
16
24
  "#{arg1}/#{@counter2}"
17
25
  end
18
26
 
27
+ def method_with_reset_uncached
28
+ reset_cache
29
+ 'result'
30
+ end
31
+
19
32
  private
20
33
 
21
34
  def private_method_uncached
@@ -39,6 +52,10 @@ RSpec.describe ::EacRubyUtils::SimpleCache do
39
52
  it 'is able to call private uncached as cached' do
40
53
  expect(instance.private_method).to eq(instance.private_method)
41
54
  end
55
+
56
+ it 'return value even if reset cache' do
57
+ expect(instance.method_with_reset).to eq('result')
58
+ end
42
59
  end
43
60
 
44
61
  describe 'cache value with args' do
@@ -65,6 +82,16 @@ RSpec.describe ::EacRubyUtils::SimpleCache do
65
82
  end
66
83
  end
67
84
 
85
+ describe 'method with marks' do
86
+ it 'found uncached method with exclamation mark' do
87
+ expect(instance.method_with_exclamation!).to eq('exclamation')
88
+ end
89
+
90
+ it 'found uncached method with question mark' do
91
+ expect(instance.method_with_question?).to eq('question')
92
+ end
93
+ end
94
+
68
95
  describe '#respond_to?' do
69
96
  it 'responds to cached method without args' do
70
97
  expect(instance.respond_to?(:my_method)).to be(true)
@@ -1,7 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_gem_support/spec/examples/rubocop_check'
4
-
5
- RSpec.describe ::RuboCop do
6
- include_examples 'rubocop_check', ::File.expand_path('..', __dir__)
7
- end
3
+ ::EacRubyGemSupport::Rspec.default.describe_rubocop
@@ -5,6 +5,9 @@ require 'tmpdir'
5
5
 
6
6
  RSpec.configure do |config|
7
7
  config.example_status_persistence_file_path = ::File.join(::Dir.tmpdir, 'eac_ruby_utils_rspec')
8
+
9
+ require 'eac_ruby_gem_support/rspec'
10
+ ::EacRubyGemSupport::Rspec.setup(::File.expand_path('..', __dir__), config)
8
11
  end
9
12
 
10
13
  require 'i18n'
@@ -14,7 +14,8 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.files = Dir['{lib}/**/*']
16
16
 
17
- s.add_dependency 'eac_ruby_utils', '~> 0.36'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.69', '>= 0.69.1'
18
18
 
19
- s.add_development_dependency 'eac_ruby_gem_support', '~> 0.1', '>= 0.1.1'
19
+ s.add_development_dependency 'aranha-parsers', '~> 0.7', '>= 0.7.2'
20
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.2'
20
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.5.1'
4
+ VERSION = '0.6.0'
5
5
  end
@@ -11,7 +11,7 @@ module EhbrsRubyUtils
11
11
  'matroska' => '.mkv'
12
12
  }.freeze
13
13
 
14
- enable_console_speaker
14
+ enable_speaker
15
15
  enable_simple_cache
16
16
  common_constructor :input, :ffmpeg_convert_args do
17
17
  self.input = input.to_pathname.expand_path
@@ -29,12 +29,18 @@ module EhbrsRubyUtils
29
29
  ffprobe_data
30
30
  end
31
31
 
32
- %i[index codec_name codec_long_name].each do |method_name|
32
+ %i[index].each do |method_name|
33
33
  define_method method_name do
34
34
  ffprobe_data.fetch(method_name)
35
35
  end
36
36
  end
37
37
 
38
+ %i[codec_name codec_long_name].each do |method_name|
39
+ define_method method_name do
40
+ ffprobe_data[method_name]
41
+ end
42
+ end
43
+
38
44
  def codec_type
39
45
  ffprobe_data.fetch(:codec_type).to_sym
40
46
  end
@@ -46,6 +52,10 @@ module EhbrsRubyUtils
46
52
  def language
47
53
  tags[:language]
48
54
  end
55
+
56
+ def title
57
+ tags[:title]
58
+ end
49
59
  end
50
60
  end
51
61
  end
@@ -8,7 +8,7 @@ module EhbrsRubyUtils
8
8
  module WebUtils
9
9
  module Videos
10
10
  class FilesList
11
- enable_console_speaker
11
+ enable_speaker
12
12
  enable_simple_cache
13
13
 
14
14
  common_constructor :type_class, :root_path, :options do
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aranha/parsers/spec/source_target_fixtures_example'
4
+ require 'ehbrs_ruby_utils/videos/stream'
5
+
6
+ RSpec.describe ::EhbrsRubyUtils::Videos::Stream do
7
+ include_examples 'source_target_fixtures', __FILE__
8
+
9
+ def source_data(source_file)
10
+ instance = described_class.new(::YAML.load_file(source_file))
11
+ %w[codec_name codec_long_name codec_type index language title]
12
+ .map { |k| [k.to_sym, instance.send(k)] }.sort.to_h
13
+ end
14
+ end
@@ -0,0 +1,28 @@
1
+ ---
2
+ :index: 19
3
+ :codec_type: attachment
4
+ :codec_tag_string: "[0][0][0][0]"
5
+ :codec_tag: '0x0000'
6
+ :r_frame_rate: 0/0
7
+ :avg_frame_rate: 0/0
8
+ :time_base: 1/90000
9
+ :start_pts: 0
10
+ :start_time: '0.000000'
11
+ :duration_ts: 383973120
12
+ :duration: '4266.368000'
13
+ :disposition:
14
+ :default: 0
15
+ :dub: 0
16
+ :original: 0
17
+ :comment: 0
18
+ :lyrics: 0
19
+ :karaoke: 0
20
+ :forced: 0
21
+ :hearing_impaired: 0
22
+ :visual_impaired: 0
23
+ :clean_effects: 0
24
+ :attached_pic: 0
25
+ :timed_thumbnails: 0
26
+ :tags:
27
+ :filename: encoding-source-code.7z
28
+ :mimetype: application/octet-stream
@@ -0,0 +1,7 @@
1
+ ---
2
+ :codec_long_name:
3
+ :codec_name:
4
+ :codec_type: :attachment
5
+ :index: 19
6
+ :language:
7
+ :title:
@@ -0,0 +1,49 @@
1
+ ---
2
+ :index: 18
3
+ :codec_name: aac
4
+ :codec_long_name: AAC (Advanced Audio Coding)
5
+ :profile: LC
6
+ :codec_type: audio
7
+ :codec_time_base: 1/48000
8
+ :codec_tag_string: "[0][0][0][0]"
9
+ :codec_tag: '0x0000'
10
+ :sample_fmt: fltp
11
+ :sample_rate: '48000'
12
+ :channels: 2
13
+ :channel_layout: stereo
14
+ :bits_per_sample: 0
15
+ :r_frame_rate: 0/0
16
+ :avg_frame_rate: 0/0
17
+ :time_base: 1/1000
18
+ :start_pts: 0
19
+ :start_time: '0.000000'
20
+ :disposition:
21
+ :default: 1
22
+ :dub: 0
23
+ :original: 0
24
+ :comment: 0
25
+ :lyrics: 0
26
+ :karaoke: 0
27
+ :forced: 0
28
+ :hearing_impaired: 0
29
+ :visual_impaired: 0
30
+ :clean_effects: 0
31
+ :attached_pic: 0
32
+ :timed_thumbnails: 0
33
+ :tags:
34
+ :language: jpn
35
+ :title: "[AnimeRG] Tenshi No Tamago [1080p] [ScavvyKiD]"
36
+ :BPS: '125375'
37
+ :BPS-eng: '125375'
38
+ :DURATION: '01:11:06.368000000'
39
+ :DURATION-eng: '01:11:06.368000000'
40
+ :NUMBER_OF_FRAMES: '199986'
41
+ :NUMBER_OF_FRAMES-eng: '199986'
42
+ :NUMBER_OF_BYTES: '66861986'
43
+ :NUMBER_OF_BYTES-eng: '66861986'
44
+ :_STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 32bit
45
+ :_STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 32bit
46
+ :_STATISTICS_WRITING_DATE_UTC: '2015-12-04 08:47:49'
47
+ :_STATISTICS_WRITING_DATE_UTC-eng: '2015-12-04 08:47:49'
48
+ :_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
49
+ :_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
@@ -0,0 +1,7 @@
1
+ ---
2
+ :codec_long_name: AAC (Advanced Audio Coding)
3
+ :codec_name: aac
4
+ :codec_type: :audio
5
+ :index: 18
6
+ :language: jpn
7
+ :title: "[AnimeRG] Tenshi No Tamago [1080p] [ScavvyKiD]"
@@ -0,0 +1,43 @@
1
+ ---
2
+ :index: 0
3
+ :codec_name: ass
4
+ :codec_long_name: ASS (Advanced SSA) subtitle
5
+ :codec_type: subtitle
6
+ :codec_time_base: 0/1
7
+ :codec_tag_string: "[0][0][0][0]"
8
+ :codec_tag: '0x0000'
9
+ :r_frame_rate: 0/0
10
+ :avg_frame_rate: 0/0
11
+ :time_base: 1/1000
12
+ :start_pts: 980
13
+ :start_time: '0.980000'
14
+ :disposition:
15
+ :default: 0
16
+ :dub: 0
17
+ :original: 0
18
+ :comment: 0
19
+ :lyrics: 0
20
+ :karaoke: 0
21
+ :forced: 0
22
+ :hearing_impaired: 0
23
+ :visual_impaired: 0
24
+ :clean_effects: 0
25
+ :attached_pic: 0
26
+ :timed_thumbnails: 0
27
+ :tags:
28
+ :language: fre
29
+ :title: French Subs
30
+ :BPS: '19'
31
+ :BPS-eng: '19'
32
+ :DURATION: '01:11:01.020000000'
33
+ :DURATION-eng: '01:11:01.020000000'
34
+ :NUMBER_OF_FRAMES: '134'
35
+ :NUMBER_OF_FRAMES-eng: '134'
36
+ :NUMBER_OF_BYTES: '10267'
37
+ :NUMBER_OF_BYTES-eng: '10267'
38
+ :_STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 32bit
39
+ :_STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 32bit
40
+ :_STATISTICS_WRITING_DATE_UTC: '2015-12-04 08:47:49'
41
+ :_STATISTICS_WRITING_DATE_UTC-eng: '2015-12-04 08:47:49'
42
+ :_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
43
+ :_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
@@ -0,0 +1,7 @@
1
+ ---
2
+ :codec_long_name: ASS (Advanced SSA) subtitle
3
+ :codec_name: ass
4
+ :codec_type: :subtitle
5
+ :index: 0
6
+ :language: fre
7
+ :title: French Subs
@@ -0,0 +1,59 @@
1
+ ---
2
+ :index: 17
3
+ :codec_name: h264
4
+ :codec_long_name: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
5
+ :profile: High
6
+ :codec_type: video
7
+ :codec_time_base: 1001/48000
8
+ :codec_tag_string: "[0][0][0][0]"
9
+ :codec_tag: '0x0000'
10
+ :width: 1920
11
+ :height: 1080
12
+ :coded_width: 1920
13
+ :coded_height: 1088
14
+ :has_b_frames: 2
15
+ :sample_aspect_ratio: '1:1'
16
+ :display_aspect_ratio: '16:9'
17
+ :pix_fmt: yuv420p
18
+ :level: 41
19
+ :chroma_location: left
20
+ :field_order: progressive
21
+ :refs: 1
22
+ :is_avc: 'true'
23
+ :nal_length_size: '4'
24
+ :r_frame_rate: 24000/1001
25
+ :avg_frame_rate: 24000/1001
26
+ :time_base: 1/1000
27
+ :start_pts: 0
28
+ :start_time: '0.000000'
29
+ :bits_per_raw_sample: '8'
30
+ :disposition:
31
+ :default: 1
32
+ :dub: 0
33
+ :original: 0
34
+ :comment: 0
35
+ :lyrics: 0
36
+ :karaoke: 0
37
+ :forced: 0
38
+ :hearing_impaired: 0
39
+ :visual_impaired: 0
40
+ :clean_effects: 0
41
+ :attached_pic: 0
42
+ :timed_thumbnails: 0
43
+ :tags:
44
+ :language: eng
45
+ :title: "[AnimeRG] Tenshi No Tamago [1080p] [ScavvyKiD]"
46
+ :BPS: '3495932'
47
+ :BPS-eng: '3495932'
48
+ :DURATION: '01:11:06.218000000'
49
+ :DURATION-eng: '01:11:06.218000000'
50
+ :NUMBER_OF_FRAMES: '102288'
51
+ :NUMBER_OF_FRAMES-eng: '102288'
52
+ :NUMBER_OF_BYTES: '1864301082'
53
+ :NUMBER_OF_BYTES-eng: '1864301082'
54
+ :_STATISTICS_WRITING_APP: mkvmerge v8.3.0 ('Over the Horizon') 32bit
55
+ :_STATISTICS_WRITING_APP-eng: mkvmerge v8.3.0 ('Over the Horizon') 32bit
56
+ :_STATISTICS_WRITING_DATE_UTC: '2015-12-04 08:47:49'
57
+ :_STATISTICS_WRITING_DATE_UTC-eng: '2015-12-04 08:47:49'
58
+ :_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
59
+ :_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES