eac_tools 0.76.1 → 0.77.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (332) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +23 -38
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_generic_base0/Gemfile +2 -2
  5. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +5 -3
  6. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +1 -1
  7. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +2 -2
  8. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +1 -1
  9. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +1 -1
  10. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +1 -1
  11. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +1 -1
  12. data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +1 -1
  13. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +1 -1
  14. data/sub/avm-tools/avm-tools.gemspec +6 -4
  15. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +65 -0
  16. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +4 -4
  17. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +1 -1
  18. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  19. data/sub/avm-tools/spec/dummy/avm-tools_stub/avm-tools.gemspec +1 -0
  20. data/sub/avm-tools/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +1 -0
  21. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/publish_spec.rb +6 -3
  22. data/sub/avm-tools/spec/lib/avm/projects/stereotypes/git_subrepo/warp_spec.rb +2 -2
  23. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +2 -2
  24. data/sub/avm-tools/spec/lib/avm/tools/runner/git/deploy_spec.rb +6 -6
  25. metadata +11 -311
  26. data/sub/eac_docker/Gemfile +0 -8
  27. data/sub/eac_docker/eac_docker.gemspec +0 -19
  28. data/sub/eac_docker/lib/eac_docker/container.rb +0 -84
  29. data/sub/eac_docker/lib/eac_docker/debug.rb +0 -15
  30. data/sub/eac_docker/lib/eac_docker/executables.rb +0 -18
  31. data/sub/eac_docker/lib/eac_docker/images/base.rb +0 -14
  32. data/sub/eac_docker/lib/eac_docker/images/coded.rb +0 -43
  33. data/sub/eac_docker/lib/eac_docker/images/named.rb +0 -30
  34. data/sub/eac_docker/lib/eac_docker/images/templatized.rb +0 -51
  35. data/sub/eac_docker/lib/eac_docker/images.rb +0 -9
  36. data/sub/eac_docker/lib/eac_docker/registry.rb +0 -17
  37. data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +0 -17
  38. data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +0 -40
  39. data/sub/eac_docker/lib/eac_docker/rspec.rb +0 -9
  40. data/sub/eac_docker/lib/eac_docker/version.rb +0 -5
  41. data/sub/eac_docker/lib/eac_docker.rb +0 -7
  42. data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +0 -9
  43. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +0 -12
  44. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +0 -1
  45. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +0 -18
  46. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +0 -1
  47. data/sub/eac_docker/spec/rubocop_spec.rb +0 -3
  48. data/sub/eac_docker/spec/spec_helper.rb +0 -4
  49. data/sub/eac_ruby_base0/Gemfile +0 -8
  50. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +0 -21
  51. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application.rb +0 -88
  52. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +0 -34
  53. data/sub/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +0 -5
  54. data/sub/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +0 -31
  55. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +0 -10
  56. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +0 -4
  57. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +0 -4
  58. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec/setup.rb +0 -14
  59. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec.rb +0 -9
  60. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/contexts.rb +0 -52
  61. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner/prepend.rb +0 -39
  62. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +0 -37
  63. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +0 -9
  64. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +0 -5
  65. data/sub/eac_ruby_base0/lib/eac_ruby_base0.rb +0 -7
  66. data/sub/eac_ruby_base0/spec/rubocop_spec.rb +0 -3
  67. data/sub/eac_ruby_base0/spec/spec_helper.rb +0 -4
  68. data/sub/eac_ruby_utils/Gemfile +0 -8
  69. data/sub/eac_ruby_utils/MIT-LICENCE +0 -16
  70. data/sub/eac_ruby_utils/README.rdoc +0 -3
  71. data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +0 -25
  72. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_abstract.rb +0 -100
  73. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/array_accessor.rb +0 -25
  74. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/base_accessor.rb +0 -57
  75. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/boolean_accessor.rb +0 -16
  76. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/class_methods.rb +0 -20
  77. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/common_accessor.rb +0 -30
  78. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/enumerable_accessor.rb +0 -52
  79. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/hash_accessor.rb +0 -57
  80. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/instance_methods.rb +0 -21
  81. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable/set_accessor.rb +0 -25
  82. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_immutable.rb +0 -15
  83. data/sub/eac_ruby_utils/lib/eac_ruby_utils/acts_as_instance_method.rb +0 -34
  84. data/sub/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb +0 -81
  85. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit.rb +0 -46
  86. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit_array.rb +0 -81
  87. data/sub/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +0 -19
  88. data/sub/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +0 -31
  89. data/sub/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb +0 -23
  90. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte.rb +0 -105
  91. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte_array.rb +0 -36
  92. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +0 -52
  93. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +0 -41
  94. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +0 -20
  95. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_accessors.rb +0 -36
  96. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +0 -39
  97. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +0 -64
  98. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +0 -54
  99. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +0 -94
  100. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +0 -22
  101. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compare_by.rb +0 -28
  102. data/sub/eac_ruby_utils/lib/eac_ruby_utils/context.rb +0 -33
  103. data/sub/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +0 -21
  104. data/sub/eac_ruby_utils/lib/eac_ruby_utils/core_ext.rb +0 -7
  105. data/sub/eac_ruby_utils/lib/eac_ruby_utils/custom_format.rb +0 -53
  106. data/sub/eac_ruby_utils/lib/eac_ruby_utils/enum.rb +0 -102
  107. data/sub/eac_ruby_utils/lib/eac_ruby_utils/enumerables_methods.rb +0 -42
  108. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/append_command_options.rb +0 -38
  109. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/concat.rb +0 -41
  110. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/debugging.rb +0 -19
  111. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/execution.rb +0 -52
  112. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command/extra_options.rb +0 -28
  113. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_command.rb +0 -45
  114. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_env.rb +0 -28
  115. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +0 -27
  116. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -23
  117. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +0 -67
  118. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/composite_command.rb +0 -45
  119. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +0 -93
  120. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/execution_error.rb +0 -8
  121. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/execution_result.rb +0 -45
  122. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/file.rb +0 -22
  123. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/local_env.rb +0 -17
  124. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/process.rb +0 -27
  125. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/spawn.rb +0 -32
  126. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +0 -53
  127. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +0 -25
  128. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +0 -24
  129. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +0 -34
  130. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +0 -75
  131. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs.rb +0 -23
  132. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +0 -57
  133. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb +0 -30
  134. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb +0 -16
  135. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/file.rb +0 -34
  136. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb +0 -52
  137. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs.rb +0 -9
  138. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +0 -80
  139. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -34
  140. data/sub/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +0 -29
  141. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/class_methods.rb +0 -14
  142. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/instance_methods.rb +0 -30
  143. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/integer_list.rb +0 -23
  144. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/item.rb +0 -48
  145. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +0 -129
  146. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -51
  147. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb +0 -19
  148. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb +0 -19
  149. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable.rb +0 -17
  150. data/sub/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +0 -48
  151. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_all_gems.rb +0 -4
  152. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_gem.rb +0 -47
  153. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/module_i18n_translate.rb +0 -74
  154. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales.rb +0 -9
  155. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +0 -30
  156. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/base.rb +0 -34
  157. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/hash.rb +0 -20
  158. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable/set.rb +0 -19
  159. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable.rb +0 -9
  160. data/sub/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb +0 -62
  161. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch.rb +0 -11
  162. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable/uri/query_value.rb +0 -37
  163. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable/uri.rb +0 -4
  164. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/addressable.rb +0 -4
  165. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/abstract.rb +0 -9
  166. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb +0 -9
  167. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/method_class.rb +0 -9
  168. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/self_included_modules.rb +0 -7
  169. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +0 -10
  170. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/static_method_class.rb +0 -9
  171. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class.rb +0 -4
  172. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb +0 -45
  173. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb +0 -4
  174. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +0 -9
  175. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +0 -14
  176. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +0 -4
  177. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb +0 -10
  178. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb +0 -10
  179. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/to_struct.rb +0 -10
  180. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb +0 -5
  181. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +0 -10
  182. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +0 -4
  183. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +0 -10
  184. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_abstract.rb +0 -14
  185. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_immutable.rb +0 -10
  186. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/acts_as_instance_method.rb +0 -10
  187. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -9
  188. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/compare_by.rb +0 -9
  189. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +0 -11
  190. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/i18n_translate.rb +0 -9
  191. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +0 -11
  192. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb +0 -10
  193. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/module_parent.rb +0 -5
  194. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb +0 -9
  195. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb +0 -9
  196. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb +0 -10
  197. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +0 -9
  198. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb +0 -4
  199. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb +0 -25
  200. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/call_if_proc.rb +0 -11
  201. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +0 -20
  202. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +0 -51
  203. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/i18n_translate.rb +0 -13
  204. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +0 -17
  205. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb +0 -19
  206. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +0 -22
  207. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_bool.rb +0 -12
  208. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_pathname.rb +0 -15
  209. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_uri.rb +0 -15
  210. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb +0 -5
  211. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/assert_parent.rb +0 -12
  212. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_noext.rb +0 -10
  213. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_sub.rb +0 -13
  214. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/child_of.rb +0 -16
  215. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/if_exist.rb +0 -10
  216. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/mkpath_s.rb +0 -12
  217. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +0 -11
  218. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/readlink_r.rb +0 -11
  219. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/reqdir_glob.rb +0 -13
  220. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname.rb +0 -4
  221. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/if_match.rb +0 -16
  222. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +0 -10
  223. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp.rb +0 -4
  224. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +0 -16
  225. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +0 -11
  226. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +0 -4
  227. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +0 -11
  228. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb +0 -4
  229. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches.rb +0 -4
  230. data/sub/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +0 -51
  231. data/sub/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +0 -39
  232. data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub/base.rb +0 -80
  233. data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub/sub_file.rb +0 -59
  234. data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +0 -11
  235. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +0 -20
  236. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +0 -17
  237. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/setup_manager.rb +0 -17
  238. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +0 -27
  239. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +0 -49
  240. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/stub_speaker.rb +0 -39
  241. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb +0 -9
  242. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +0 -32
  243. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_clean_environment.rb +0 -71
  244. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects/replace_instance_method.rb +0 -36
  245. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_replace_objects.rb +0 -52
  246. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby.rb +0 -9
  247. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +0 -78
  248. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +0 -50
  249. data/sub/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +0 -77
  250. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +0 -64
  251. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +0 -32
  252. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +0 -16
  253. data/sub/eac_ruby_utils/lib/eac_ruby_utils/static_method_class.rb +0 -12
  254. data/sub/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +0 -70
  255. data/sub/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +0 -63
  256. data/sub/eac_ruby_utils/lib/eac_ruby_utils/unimplemented_method_error.rb +0 -6
  257. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +0 -5
  258. data/sub/eac_ruby_utils/lib/eac_ruby_utils/wildcards.rb +0 -26
  259. data/sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +0 -105
  260. data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -6
  261. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_abstract_spec.rb +0 -94
  262. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/array_accessor_spec.rb +0 -43
  263. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/common_accessor_spec.rb +0 -57
  264. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/hash_accessor_spec.rb +0 -42
  265. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/acts_as_immutable/set_accessor_spec.rb +0 -43
  266. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb +0 -17
  267. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/bit_array_spec.rb +0 -22
  268. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +0 -16
  269. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/byte_spec.rb +0 -54
  270. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +0 -65
  271. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +0 -151
  272. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +0 -20
  273. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compare_by_spec.rb +0 -38
  274. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/custom_format_spec.rb +0 -60
  275. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enum_spec.rb +0 -43
  276. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enumerables_methods_spec.rb +0 -50
  277. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/command/base_example.rb +0 -97
  278. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/command/local_env_spec.rb +0 -11
  279. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/command/ssh_env_spec.rb +0 -17
  280. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb +0 -37
  281. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/ssh_env_spec.rb +0 -25
  282. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/extname_spec.rb +0 -18
  283. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp/directory_spec.rb +0 -12
  284. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb +0 -52
  285. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +0 -16
  286. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +0 -225
  287. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +0 -17
  288. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/method_class_spec.rb +0 -46
  289. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/module_ancestors_variable/hash_spec.rb +0 -57
  290. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/module_ancestors_variable/set_spec.rb +0 -57
  291. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb +0 -80
  292. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/addressable/uri/query_value_spec.rb +0 -25
  293. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/abstract_spec.rb +0 -25
  294. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/acts_as_abstract_spec.rb +0 -14
  295. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/method_class_spec.rb +0 -20
  296. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/self_included_modules_spec.rb +0 -30
  297. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/static_method_class_spec.rb +0 -20
  298. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb +0 -39
  299. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +0 -26
  300. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +0 -32
  301. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb +0 -17
  302. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb +0 -13
  303. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/compare_by_spec.rb +0 -36
  304. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/listable_spec.rb +0 -15
  305. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/simple_cache_spec.rb +0 -15
  306. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +0 -13
  307. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/call_if_proc_spec.rb +0 -11
  308. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +0 -20
  309. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/if_present_spec.rb +0 -13
  310. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec_files/path/my_stub_with_template +0 -1
  311. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/assert_parent_spec.rb +0 -21
  312. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_noext_spec.rb +0 -26
  313. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_sub_spec.rb +0 -17
  314. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/child_of_spec.rb +0 -26
  315. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +0 -33
  316. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +0 -34
  317. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +0 -65
  318. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub/base_spec/stubbed_module_a.rb +0 -6
  319. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub/base_spec/stubbed_not_module.rb +0 -6
  320. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub/base_spec.rb +0 -19
  321. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/rspec/setup/setup_manager_spec.rb +0 -17
  322. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby/on_clean_environment_spec.rb +0 -33
  323. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby/on_replace_objects_spec.rb +0 -67
  324. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +0 -64
  325. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +0 -129
  326. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/static_method_class_spec.rb +0 -44
  327. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +0 -57
  328. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/wildcards_spec.rb +0 -27
  329. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +0 -76
  330. data/sub/eac_ruby_utils/spec/locales/pt-BR.yml +0 -58
  331. data/sub/eac_ruby_utils/spec/rubocop_check_spec.rb +0 -3
  332. data/sub/eac_ruby_utils/spec/spec_helper.rb +0 -15
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_ruby_utils/envs/base_command'
5
-
6
- module EacRubyUtils
7
- module Envs
8
- class CompositeCommand
9
- include ::EacRubyUtils::Envs::BaseCommand
10
-
11
- enable_listable
12
- lists.add_string :operator, '&&' => :and, ';' => :before, '||' => :or, '|' => :pipe
13
-
14
- common_constructor :operator, :left_command, :right_command do
15
- self.operator = self.class.lists.operator.value_validate!(operator.to_s)
16
- end
17
-
18
- # @return [EacRubyUtils::Envs::BaseEnv]
19
- delegate :env, to: :left_command
20
-
21
- # @return [String]
22
- def command_line_without_env(_options = {})
23
- ::Shellwords.join(['bash', '-c', bash_command])
24
- end
25
-
26
- # @return [String]
27
- def bash_command
28
- ['set', '-euo', 'pipefail', OPERATOR_BEFORE, left_command_line, operator,
29
- right_command_line].join(' ')
30
- end
31
-
32
- def left_command_line
33
- left_command.command_line_without_env
34
- end
35
-
36
- def right_command_line
37
- if right_command.env == left_command.env
38
- right_command.command_line_without_env
39
- else
40
- right_command.command
41
- end
42
- end
43
- end
44
- end
45
- end
@@ -1,93 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/listable'
4
- require 'eac_ruby_utils/simple_cache'
5
-
6
- module EacRubyUtils
7
- module Envs
8
- class Executable
9
- include ::EacRubyUtils::Listable
10
- include ::EacRubyUtils::SimpleCache
11
-
12
- lists.add_symbol :option, :check_args, :exec_args, :auto_validate
13
-
14
- DEFAULT_AUTO_VALIDATE = true
15
-
16
- attr_reader :env, :name, :options
17
-
18
- def initialize(env, name, *check_args)
19
- @env = env
20
- @name = name
21
- self.options = self.class.lists.option.hash_keys_validate!(check_args.extract_options!)
22
- options[OPTION_CHECK_ARGS] = check_args unless options.key?(OPTION_CHECK_ARGS)
23
- options.freeze
24
- end
25
-
26
- def auto_validate?
27
- options.key?(OPTION_AUTO_VALIDATE) ? options[OPTION_AUTO_VALIDATE] : DEFAULT_AUTO_VALIDATE
28
- end
29
-
30
- def check_args
31
- options[OPTION_CHECK_ARGS]
32
- end
33
-
34
- def exist?
35
- exist
36
- end
37
-
38
- def validate
39
- return nil if exist?
40
-
41
- "Program \"#{::Shellwords.join(executable_args)}\" not found in environment #{env}"
42
- end
43
-
44
- def validate!
45
- message = validate
46
-
47
- raise ProgramNotFoundError, message if message
48
- end
49
-
50
- def command(*command_args)
51
- validate! if auto_validate?
52
- env.command(*executable_args, *command_args)
53
- end
54
-
55
- def executable_args
56
- executable_args_from_envvar || executable_args_from_options || executable_args_from_name
57
- end
58
-
59
- def executable_args_envvar
60
- "#{name}_command".variableize.upcase
61
- end
62
-
63
- def executable_args_from_envvar
64
- ENV[executable_args_envvar].if_present { |v| ::Shellwords.split(v) }
65
- end
66
-
67
- # @return [Enumerable<String>]
68
- def executable_args_from_name
69
- ::Shellwords.split(name)
70
- end
71
-
72
- # @return [Enumerable<String>]
73
- def executable_args_from_options
74
- options[OPTION_EXEC_ARGS].if_present do |v|
75
- v.is_a?(::Enumerable) ? v.map(&:to_s) : ::Shellwords.split(v.to_s)
76
- end
77
- end
78
-
79
- private
80
-
81
- attr_writer :options
82
-
83
- def exist_uncached
84
- env.command(*executable_args, *check_args).execute!
85
- true
86
- rescue Errno::ENOENT
87
- false
88
- end
89
-
90
- class ProgramNotFoundError < ::StandardError; end
91
- end
92
- end
93
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Envs
5
- class ExecutionError < ::RuntimeError
6
- end
7
- end
8
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/envs/execution_error'
4
-
5
- module EacRubyUtils
6
- module Envs
7
- class ExecutionResult
8
- attr_reader :r, :options
9
-
10
- def initialize(result, options)
11
- @r = result
12
- @options = options
13
- end
14
-
15
- def result
16
- return exit_code_zero_result if exit_code_zero?
17
- return expected_error_result if expected_error?
18
-
19
- raise ::EacRubyUtils::Envs::ExecutionError, 'Failed!'
20
- end
21
-
22
- def success?
23
- exit_code_zero? || expected_error?
24
- end
25
-
26
- private
27
-
28
- def exit_code_zero?
29
- r[:exit_code]&.zero?
30
- end
31
-
32
- def exit_code_zero_result
33
- r[options[:output] || :stdout]
34
- end
35
-
36
- def expected_error_result
37
- options[:exit_outputs][r[:exit_code]]
38
- end
39
-
40
- def expected_error?
41
- options[:exit_outputs].is_a?(Hash) && options[:exit_outputs].key?(r[:exit_code])
42
- end
43
- end
44
- end
45
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Envs
5
- class File
6
- attr_reader :env, :path
7
-
8
- def initialize(env, path)
9
- @env = env
10
- @path = path
11
- end
12
-
13
- def exist?
14
- env.command('stat', path).execute[:exit_code].zero?
15
- end
16
-
17
- def read
18
- env.command('cat', path).execute!
19
- end
20
- end
21
- end
22
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/envs/base_env'
4
-
5
- module EacRubyUtils
6
- module Envs
7
- class LocalEnv < ::EacRubyUtils::Envs::BaseEnv
8
- def to_s
9
- 'LOCAL'
10
- end
11
-
12
- def command_line(line)
13
- line
14
- end
15
- end
16
- end
17
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'open3'
4
-
5
- module EacRubyUtils
6
- module Envs
7
- class Process
8
- EXIT_CODE_KEY = :exit_code
9
- ERR_KEY = :stderr
10
- OUT_KEY = :stdout
11
-
12
- def initialize(command)
13
- self.data = { command: command }
14
- data[OUT_KEY], data[ERR_KEY], data[EXIT_CODE_KEY] = Open3.capture3(command)
15
- data[EXIT_CODE_KEY] = data[EXIT_CODE_KEY].to_i
16
- end
17
-
18
- def to_h
19
- data.dup
20
- end
21
-
22
- private
23
-
24
- attr_accessor :data
25
- end
26
- end
27
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Envs
5
- class Spawn
6
- attr_reader :command, :pid
7
-
8
- def initialize(command)
9
- @command = command
10
- @pid = ::Process.spawn(command)
11
- end
12
-
13
- def kill(signal)
14
- ::Process.kill(signal, pid)
15
- end
16
-
17
- def kill_at_end(&block)
18
- block.call(self)
19
- ensure
20
- kill('KILL')
21
- end
22
-
23
- def to_h
24
- { command: command, pid: pid }
25
- end
26
-
27
- def wait
28
- ::Process.wait pid
29
- end
30
- end
31
- end
32
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/patches/module/common_concern'
4
- require 'eac_ruby_utils/patches/module/simple_cache'
5
-
6
- module EacRubyUtils
7
- module Envs
8
- class SshEnv < ::EacRubyUtils::Envs::BaseEnv
9
- module DashoOptions
10
- common_concern
11
-
12
- module ClassMethods
13
- def add_nodasho_option(name)
14
- return if nodasho_options.include?(name)
15
-
16
- nodasho_options << name
17
- const_set("#{name.underscore}_option".upcase, name)
18
- end
19
-
20
- def nodasho_options
21
- @nodasho_options ||= []
22
- end
23
- end
24
-
25
- module InstanceMethods
26
- def ssh_command_line_dasho_args
27
- r = []
28
- uri.query_values&.each do |k, v|
29
- r += ['-o', "#{k}=#{v}"] unless nodasho_options.include?(k)
30
- end
31
- r
32
- end
33
-
34
- def ssh_command_line_nodasho_args
35
- nodasho_options.flat_map do |option_name|
36
- uri_query_value(option_name).if_present([]) do |option_value|
37
- send("ssh_command_line_#{option_name.underscore}_args", option_value)
38
- end
39
- end
40
- end
41
-
42
- def nodasho_options
43
- self.class.nodasho_options
44
- end
45
-
46
- def uri_query_value(name)
47
- uri.query_values.if_present { |v| v[name] }
48
- end
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/concern'
4
- require 'eac_ruby_utils/envs/ssh_env/dasho_options'
5
- require 'eac_ruby_utils/listable'
6
- require 'eac_ruby_utils/patches/object/if_present'
7
-
8
- module EacRubyUtils
9
- module Envs
10
- class SshEnv < ::EacRubyUtils::Envs::BaseEnv
11
- module IdentityFile
12
- extend ::ActiveSupport::Concern
13
-
14
- included do
15
- include ::EacRubyUtils::Envs::SshEnv::DashoOptions
16
- add_nodasho_option('IdentityFile')
17
- end
18
-
19
- def ssh_command_line_identity_file_args(value)
20
- ['-i', value]
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/concern'
4
- require 'eac_ruby_utils/boolean'
5
- require 'eac_ruby_utils/envs/ssh_env/dasho_options'
6
-
7
- module EacRubyUtils
8
- module Envs
9
- class SshEnv < ::EacRubyUtils::Envs::BaseEnv
10
- module Quiet
11
- extend ::ActiveSupport::Concern
12
-
13
- included do
14
- include ::EacRubyUtils::Envs::SshEnv::DashoOptions
15
- add_nodasho_option('Quiet')
16
- end
17
-
18
- def ssh_command_line_quiet_args(value)
19
- ::EacRubyUtils::Boolean.parse(value) ? ['-q'] : []
20
- end
21
- end
22
- end
23
- end
24
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/concern'
4
- require 'eac_ruby_utils/envs/ssh_env/dasho_options'
5
- require 'eac_ruby_utils/listable'
6
- require 'eac_ruby_utils/patches/object/if_present'
7
-
8
- module EacRubyUtils
9
- module Envs
10
- class SshEnv < ::EacRubyUtils::Envs::BaseEnv
11
- module Terminal
12
- extend ::ActiveSupport::Concern
13
-
14
- included do
15
- include ::EacRubyUtils::Envs::SshEnv::DashoOptions
16
- add_nodasho_option('Terminal')
17
- include ::EacRubyUtils::Listable
18
- lists.add_string :terminal_option, :auto, :disable, :enable, :force
19
- end
20
-
21
- def ssh_command_line_terminal_args(value)
22
- self.class.lists.terminal_option.value_validate!(value)
23
- case value
24
- when TERMINAL_OPTION_AUTO then ENV['TERM'].present? ? %w[-t] : []
25
- when TERMINAL_OPTION_DISABLE then ['-T']
26
- when TERMINAL_OPTION_ENABLE then ['-t']
27
- when TERMINAL_OPTION_FORCE then ['-tt']
28
- else raise "Invalid conditional branch: #{value}"
29
- end
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'addressable'
4
- require 'eac_ruby_utils/envs/base_env'
5
- require 'eac_ruby_utils/patches/object/if_present'
6
- require 'eac_ruby_utils/patches/module/require_sub'
7
- require 'net/ssh'
8
- require 'shellwords'
9
-
10
- module EacRubyUtils
11
- module Envs
12
- class SshEnv < ::EacRubyUtils::Envs::BaseEnv
13
- require_sub __FILE__, include_modules: true
14
-
15
- USER_PATTERN = /[a-z_][a-z0-9_-]*/.freeze
16
- HOSTNAME_PATTERN = /[^@]+/.freeze
17
- USER_HOSTNAME_PATTERN = /\A(?:(#{USER_PATTERN})@)?(#{HOSTNAME_PATTERN})\z/.freeze
18
-
19
- class << self
20
- def parse_uri(uri)
21
- uri_by_url(uri) || uri_by_user_hostname(uri) || raise("URI has no SSH scheme: #{uri}")
22
- end
23
-
24
- private
25
-
26
- def uri_by_url(url)
27
- r = ::Addressable::URI.parse(url)
28
- r.scheme == 'ssh' && r.host.present? ? r : nil
29
- end
30
-
31
- def uri_by_user_hostname(user_hostname)
32
- m = USER_HOSTNAME_PATTERN.match(user_hostname)
33
- m ? ::Addressable::URI.new(scheme: 'ssh', host: m[2], user: m[1]) : nil
34
- rescue Addressable::URI::InvalidURIError
35
- nil
36
- end
37
- end
38
-
39
- attr_reader :uri
40
-
41
- def initialize(uri)
42
- @uri = self.class.parse_uri(uri).freeze
43
- end
44
-
45
- def to_s
46
- uri.to_s
47
- end
48
-
49
- def command_line(line)
50
- "#{ssh_command_line} #{Shellwords.escape(line)}"
51
- end
52
-
53
- private
54
-
55
- def ssh_command_line
56
- (%w[ssh] +
57
- %w[nodasho dasho port].flat_map { |m| send("ssh_command_line_#{m}_args") } +
58
- [user_hostname_uri])
59
- .map { |a| Shellwords.escape(a) }.join(' ')
60
- end
61
-
62
- def ssh_command_line_port_args
63
- uri.port.if_present([]) do |v|
64
- ['-p', v]
65
- end
66
- end
67
-
68
- def user_hostname_uri
69
- r = uri.host
70
- r = "#{uri.user}@#{r}" if uri.user.present?
71
- r
72
- end
73
- end
74
- end
75
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/envs/base_env'
4
- require 'eac_ruby_utils/envs/command'
5
- require 'eac_ruby_utils/envs/file'
6
- require 'eac_ruby_utils/envs/local_env'
7
- require 'eac_ruby_utils/envs/process'
8
- require 'eac_ruby_utils/envs/ssh_env'
9
- require 'eac_ruby_utils/envs/executable'
10
-
11
- module EacRubyUtils
12
- module Envs
13
- class << self
14
- def local
15
- @local ||= ::EacRubyUtils::Envs::LocalEnv.new
16
- end
17
-
18
- def ssh(user_hostname)
19
- ::EacRubyUtils::Envs::SshEnv.new(user_hostname)
20
- end
21
- end
22
- end
23
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'fileutils'
4
- require 'pathname'
5
-
6
- module EacRubyUtils
7
- module Fs
8
- class ClearableDirectory < ::Pathname
9
- CLEARABLE_BASENAME = '.clearable_directory'
10
-
11
- def clear
12
- validate_clearable
13
- directory? ? clear_directory : clear_no_directory
14
- mkpath
15
- ::FileUtils.touch(clearable_note_file.to_path)
16
- self
17
- end
18
-
19
- def clearable?
20
- clearable_negate_message ? true : false
21
- end
22
-
23
- def clearable_negate_message
24
- return if !exist? || empty?
25
- return "Path \"#{self}\" exists, is not empty and is not a directory" unless directory?
26
- return if clearable_note_file.exist?
27
-
28
- "Directory \"#{self}\" is not empty and does not have a #{CLEARABLE_BASENAME} file"
29
- end
30
-
31
- def clearable_note_file
32
- join(CLEARABLE_BASENAME)
33
- end
34
-
35
- def validate_clearable
36
- message = clearable_negate_message
37
- raise message if message
38
- end
39
-
40
- private
41
-
42
- def clear_directory
43
- children.each do |child|
44
- if child.directory?
45
- child.rmtree
46
- elsif child.file?
47
- child.unlink
48
- end
49
- end
50
- end
51
-
52
- def clear_no_directory
53
- ::FileUtils.rm_rf(to_path)
54
- end
55
- end
56
- end
57
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Fs
5
- class << self
6
- # A [File.extname] which find multiple extensions (Ex.: .tar.gz).
7
- def extname(path, limit = -1)
8
- recursive_extension(::File.basename(path), limit)
9
- end
10
-
11
- # Shortcut to +extname(2)+.
12
- def extname2(path)
13
- extname(path, 2)
14
- end
15
-
16
- private
17
-
18
- def recursive_extension(basename, limit)
19
- return '' if limit.zero?
20
-
21
- m = /\A(.+)(\.[a-z][a-z0-9]*)\z/i.match(basename)
22
- if m
23
- "#{recursive_extension(m[1], limit - 1)}#{m[2]}"
24
- else
25
- ''
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/fs/temp/file'
4
-
5
- module EacRubyUtils
6
- module Fs
7
- module Temp
8
- class Directory < ::EacRubyUtils::Fs::Temp::File
9
- def initialize(*tempfile_args)
10
- super(*tempfile_args)
11
- mkpath
12
- end
13
- end
14
- end
15
- end
16
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'pathname'
4
- require 'tempfile'
5
-
6
- module EacRubyUtils
7
- module Fs
8
- module Temp
9
- class File < Pathname
10
- # Temporary file
11
- def initialize(*tempfile_args)
12
- file = Tempfile.new(*tempfile_args)
13
- path = file.path
14
- file.close
15
- file.unlink
16
- super(path)
17
- end
18
-
19
- def remove
20
- if directory?
21
- rmtree
22
- elsif file?
23
- unlink
24
- end
25
- end
26
-
27
- def remove!
28
- remove
29
- raise "Tried to remove \"#{self}\", but it yet exists" if exist?
30
- end
31
- end
32
- end
33
- end
34
- end