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,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module SimpleCache
5
- UNCACHED_METHOD_NAME_SUFFIX = '_uncached'
6
- UNCACHED_METHOD_PATTERN = /
7
- \A(\s+)_#{::Regexp.quote(UNCACHED_METHOD_NAME_SUFFIX)}([\!\?]?)\z
8
- /x.freeze
9
-
10
- class << self
11
- def uncached_method_name(method_name)
12
- method_name = method_name.to_s
13
- end_mark = nil
14
- if %w[! ?].any? { |mark| method_name.end_with?(mark) }
15
- end_mark = method_name[-1]
16
- method_name = method_name[0..-2]
17
- end
18
- "#{method_name}#{UNCACHED_METHOD_NAME_SUFFIX}#{end_mark}"
19
- end
20
- end
21
-
22
- def method_missing(method, *args, &block)
23
- if respond_to?(uncached_method_name(method), true)
24
- call_method_with_cache(method, args, &block)
25
- else
26
- super
27
- end
28
- end
29
-
30
- def respond_to_missing?(method, include_all = false)
31
- if method.to_s.end_with?('_uncached')
32
- super
33
- else
34
- respond_to?("#{method}_uncached", true) || super
35
- end
36
- end
37
-
38
- def reset_cache(*keys)
39
- if keys.any?
40
- keys.each { |key| cache_keys.delete(sanitize_cache_key(key)) }
41
- else
42
- @cache_keys = nil
43
- end
44
- end
45
-
46
- def sanitize_cache_key(key)
47
- key.to_s.to_sym
48
- end
49
-
50
- protected
51
-
52
- def uncached_method_name(original_method_name)
53
- ::EacRubyUtils::SimpleCache.uncached_method_name(original_method_name)
54
- end
55
-
56
- private
57
-
58
- def call_method_with_cache(method, args, &block)
59
- raise 'Não é possível realizar o cache de métodos com bloco' if block
60
-
61
- key = ([method] + args).join('@@@')
62
- unless cache_keys.key?(sanitize_cache_key(key))
63
- uncached_value = call_uncached_method(method, args)
64
- cache_keys[sanitize_cache_key(key)] = uncached_value
65
- end
66
- cache_keys[sanitize_cache_key(key)]
67
- end
68
-
69
- def call_uncached_method(method, args)
70
- send(uncached_method_name(method), *args)
71
- end
72
-
73
- def cache_keys
74
- @cache_keys ||= {}
75
- end
76
- end
77
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_abstract'
4
-
5
- module EacRubyUtils
6
- module Speaker
7
- module Receiver
8
- extend ::ActiveSupport::Concern
9
- extend ::EacRubyUtils::ActsAsAbstract
10
-
11
- module ClassMethods
12
- def on(*args, &block)
13
- ::EacRubyUtils::Speaker.context.on(new(*args), &block)
14
- end
15
- end
16
-
17
- def error(_string)
18
- raise_abstract_method(__method__)
19
- end
20
-
21
- def fatal_error(string)
22
- error(string)
23
- ::Kernel.exit 1 # rubocop:disable Rails/Exit
24
- end
25
-
26
- # @see EacRubyUtils::Speaker::Sender.input
27
- def input(_question, _options = {})
28
- raise_abstract_method(__method__)
29
- end
30
-
31
- def info(_string)
32
- raise_abstract_method(__method__)
33
- end
34
-
35
- def infom(_string)
36
- raise_abstract_method(__method__)
37
- end
38
-
39
- def infov(*_args)
40
- raise_abstract_method(__method__)
41
- end
42
-
43
- def out(_string = '')
44
- raise_abstract_method(__method__)
45
- end
46
-
47
- def puts(_string = '')
48
- raise_abstract_method(__method__)
49
- end
50
-
51
- def success(_string)
52
- raise_abstract_method(__method__)
53
- end
54
-
55
- def title(_string)
56
- raise_abstract_method(__method__)
57
- end
58
-
59
- def warn(_string)
60
- raise_abstract_method(__method__)
61
- end
62
- end
63
- end
64
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Speaker
5
- module Sender
6
- delegate :error, :fatal_error, :info, :infom, :title, :success, :warn, to: :speaker_receiver
7
-
8
- def infov(*args)
9
- speaker_receiver.infov(*args)
10
- end
11
-
12
- delegate :out, to: :speaker_receiver
13
-
14
- delegate :puts, to: :speaker_receiver
15
-
16
- # Shortcut to [EacRubyUtils::Speaker.current_receiver].
17
- #
18
- # @return [EacRubyUtils::Speaker::Receiver]
19
- def speaker_receiver
20
- ::EacRubyUtils::Speaker.current_receiver
21
- end
22
-
23
- # Options:
24
- # +bool+ ([Boolean], default: +false+): requires a answer "yes" or "no".
25
- # +list+ ([Hash] or [Array], default: +nil+): requires a answer from a list.
26
- # +noecho+ ([Boolean], default: +false+): does not output answer.
27
- def input(question, options = {})
28
- speaker_receiver.input(question, options)
29
- end
30
- end
31
- end
32
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/contextualizable'
4
-
5
- module EacRubyUtils
6
- module Speaker
7
- include ::EacRubyUtils::Contextualizable
8
-
9
- class << self
10
- # @return [EacRubyUtils::Speaker::Receiver]
11
- def current_receiver
12
- context.current
13
- end
14
- end
15
- end
16
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/method_class'
4
- require 'eac_ruby_utils/patches/module/common_concern'
5
-
6
- module EacRubyUtils
7
- module StaticMethodClass
8
- common_concern do
9
- ::EacRubyUtils::MethodClass::Setup.new(self, true)
10
- end
11
- end
12
- end
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- class StringDelimited
5
- attr_reader :string, :begin_delimiter, :end_delimiter
6
-
7
- def initialize(string, begin_delimiter, end_delimiter)
8
- @string = string
9
- @begin_delimiter = begin_delimiter
10
- @end_delimiter = end_delimiter
11
- end
12
-
13
- def inner
14
- between_indexes(content_index, end_index).to_s
15
- end
16
-
17
- def outer
18
- between_indexes(begin_index, after_end_index).to_s
19
- end
20
-
21
- def without_inner
22
- without_join(
23
- between_indexes(sos_index, content_index), between_indexes(end_index, eos_index)
24
- )
25
- end
26
-
27
- def without_outer
28
- without_join(
29
- between_indexes(sos_index, begin_index),
30
- between_indexes(after_end_index, eos_index)
31
- )
32
- end
33
-
34
- private
35
-
36
- def after_end_index
37
- end_index.if_present { |v| v + end_delimiter.length }
38
- end
39
-
40
- def begin_index
41
- string.index(begin_delimiter)
42
- end
43
-
44
- def between_indexes(a_begin_index, a_end_index)
45
- a_begin_index && a_end_index ? string[a_begin_index, a_end_index - a_begin_index] : nil
46
- end
47
-
48
- def content_index
49
- begin_index.if_present { |v| v + begin_delimiter.length }
50
- end
51
-
52
- def without_join(*strings)
53
- return string if strings.any?(&:nil?)
54
-
55
- strings.join('')
56
- end
57
-
58
- def end_index
59
- content_index.if_present { |_v| string.index(end_delimiter, content_index) }
60
- end
61
-
62
- def sos_index
63
- 0
64
- end
65
-
66
- def eos_index
67
- string.length
68
- end
69
- end
70
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/hash_with_indifferent_access'
4
- require 'active_support/core_ext/module/delegation'
5
- require 'active_support/core_ext/object/blank'
6
-
7
- module EacRubyUtils
8
- class Struct
9
- def initialize(initial_data = {})
10
- self.data = initial_data.symbolize_keys
11
- end
12
-
13
- def [](key)
14
- key, bool = parse_key(key)
15
- bool ? self[key].present? : data[key]
16
- end
17
-
18
- def fetch(key)
19
- key, bool = parse_key(key)
20
- bool ? fetch(key).present? : data.fetch(key)
21
- end
22
-
23
- def merge(other)
24
- other = self.class.new(other) unless other.is_a?(self.class)
25
- self.class.new(to_h.merge(other.to_h))
26
- end
27
-
28
- def method_missing(method_name, *arguments, &block)
29
- property_method?(method_name) ? fetch(method_name) : super
30
- end
31
-
32
- def respond_to_missing?(method_name, include_private = false)
33
- property_method?(method_name) || super
34
- end
35
-
36
- def slice_fetch(*keys)
37
- self.class.new(keys.map { |key| [key, fetch(key)] }.to_h)
38
- end
39
-
40
- def to_h
41
- data.dup
42
- end
43
-
44
- delegate :to_s, to: :data
45
-
46
- private
47
-
48
- attr_accessor :data
49
-
50
- def parse_key(key)
51
- m = /\A(.+)\?\z/.match(key.to_s)
52
- [(m ? m[1] : key.to_s).to_sym, m ? true : false]
53
- end
54
-
55
- def property_method?(key)
56
- property_methods.include?(key.to_sym)
57
- end
58
-
59
- def property_methods
60
- data.keys.flat_map { |k| [k.to_sym, "#{k}?".to_sym] }
61
- end
62
- end
63
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- class UnimplementedMethodError < ::StandardError
5
- end
6
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- VERSION = '0.119.2'
5
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- # The `Wildcards` class provides pattern matching with wildcards using regular expressions.
5
- class Wildcards
6
- # Initializes a new instance of the `Wildcards` class with the specified pattern.
7
- #
8
- # @param pattern [String] The pattern to match against.
9
- def initialize(pattern)
10
- @pattern = pattern
11
- end
12
-
13
- # Matches the given string against the pattern.
14
- #
15
- # @param string [String] The string to match.
16
- # @return [Boolean] Returns `true` if the string matches the pattern, otherwise `false`.
17
- delegate :match?, to: :regex
18
-
19
- private
20
-
21
- # @return [Regexp]
22
- def regex
23
- ::Regexp.new("^#{::Regexp.escape(@pattern).gsub('\*', '.*').gsub('\?', '.?')}$")
24
- end
25
- end
26
- end
@@ -1,105 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'date'
4
- require 'yaml'
5
-
6
- module EacRubyUtils
7
- # A safe YAML loader/dumper with common types included.
8
- class Yaml
9
- class << self
10
- DEFAULT_PERMITTED_CLASSES = [::Array, ::Date, ::DateTime, ::FalseClass, ::Hash, ::NilClass,
11
- ::Numeric, ::String, ::Symbol, ::Time, ::TrueClass].freeze
12
-
13
- def dump(object)
14
- ::YAML.dump(sanitize(object))
15
- end
16
-
17
- def dump_file(path, object)
18
- ::File.write(path.to_s, dump(object))
19
- end
20
-
21
- def load(string)
22
- ::YAML.safe_load(string, permitted_classes)
23
- end
24
-
25
- def load_file(path)
26
- load(::File.read(path.to_s))
27
- end
28
-
29
- def permitted_classes
30
- DEFAULT_PERMITTED_CLASSES
31
- end
32
-
33
- def sanitize(object)
34
- Sanitizer.new(object).result
35
- end
36
-
37
- def yaml?(object)
38
- return false unless object.is_a?(::String)
39
- return false unless object.start_with?('---')
40
-
41
- load(object)
42
- true
43
- rescue ::Psych::Exception
44
- false
45
- end
46
-
47
- class Sanitizer
48
- attr_reader :source
49
-
50
- RESULT_TYPES = %w[permitted enumerableable hashable].freeze
51
-
52
- def initialize(source)
53
- @source = source
54
- end
55
-
56
- def result
57
- RESULT_TYPES.each do |type|
58
- return send("result_#{type}") if send("result_#{type}?")
59
- end
60
-
61
- source.to_s
62
- end
63
-
64
- private
65
-
66
- def result_enumerableable?
67
- source.respond_to?(:to_a) && !source.is_a?(::Hash)
68
- end
69
-
70
- def result_enumerableable
71
- source.to_a.map { |child| sanitize_value(child) }
72
- end
73
-
74
- def result_hashable?
75
- source.respond_to?(:to_h)
76
- end
77
-
78
- def result_hashable
79
- source.to_h.map { |k, v| [k.to_sym, sanitize_value(v)] }.to_h
80
- end
81
-
82
- def result_nil?
83
- source.nil?
84
- end
85
-
86
- def result_nil
87
- nil
88
- end
89
-
90
- def result_permitted?
91
- (::EacRubyUtils::Yaml.permitted_classes - [::Array, ::Hash])
92
- .any? { |klass| source.is_a?(klass) }
93
- end
94
-
95
- def result_permitted
96
- source
97
- end
98
-
99
- def sanitize_value(value)
100
- self.class.new(value).result
101
- end
102
- end
103
- end
104
- end
105
- end
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- require 'eac_ruby_utils/require_sub'
5
- ::EacRubyUtils.require_sub __FILE__
6
- end
@@ -1,94 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_abstract'
4
- require 'eac_ruby_utils/unimplemented_method_error'
5
-
6
- ::RSpec.describe(::EacRubyUtils::ActsAsAbstract) do
7
- let(:base_class) do
8
- the_module = described_class
9
- ::Class.new do
10
- include the_module
11
-
12
- abstract_methods :method1, :method2
13
-
14
- def method3
15
- 'base result'
16
- end
17
- end
18
- end
19
- let(:sub_class) do
20
- ::Class.new(base_class) do
21
- def method1
22
- 'a result'
23
- end
24
-
25
- def method4
26
- 'sub result'
27
- end
28
- end
29
- end
30
-
31
- class << self
32
- def specs_for_target(test_target, instances_hash)
33
- describe "\##{test_target}" do # rubocop:disable RSpec/EmptyExampleGroup
34
- specs_for_instances(test_target, instances_hash)
35
- end
36
- end
37
-
38
- def specs_for_instances(test_target, instances_hash)
39
- instances_hash.each do |instance_name, expected_values|
40
- context "when instance is \"#{instance_name}\"" do # rubocop:disable RSpec/EmptyExampleGroup
41
- let(:instance) { send("#{instance_name}_class").new }
42
-
43
- specs_for_methods_values(test_target, expected_values)
44
- end
45
- end
46
- end
47
-
48
- def specs_for_methods_values(test_target, expected_values)
49
- expected_values.each_with_index do |expected_value, method_index|
50
- method_name = "method#{method_index + 1}"
51
- context "when method is \"#{method_name}\"" do # rubocop:disable RSpec/EmptyExampleGroup
52
- send("specs_for_#{test_target}", method_name, expected_value)
53
- end
54
- end
55
- end
56
-
57
- def specs_for_abstract_method(method_name, expected_value)
58
- it { expect(instance.abstract_method?(method_name)).to eq(expected_value) }
59
- end
60
-
61
- def specs_for_method_missing(method_name, expected_value)
62
- if expected_value.is_a?(::Class) && expected_value < ::Exception
63
- it do
64
- expect { instance.send(method_name) }.to raise_error(expected_value)
65
- end
66
- else
67
- it do
68
- expect(instance.send(method_name)).to eq(expected_value)
69
- end
70
- end
71
- end
72
-
73
- def specs_for_respond_to_missing(method_name, expected_value)
74
- it { expect(instance.respond_to?(method_name)).to eq(expected_value) }
75
- end
76
- end
77
- {
78
- abstract_method: {
79
- base: [true, true, false, false],
80
- sub: [false, true, false, false]
81
- },
82
- method_missing: {
83
- base: [::EacRubyUtils::UnimplementedMethodError, ::EacRubyUtils::UnimplementedMethodError,
84
- 'base result', ::NoMethodError],
85
- sub: ['a result', ::EacRubyUtils::UnimplementedMethodError, 'base result', 'sub result']
86
- },
87
- respond_to_missing: {
88
- base: [true, true, true, false],
89
- sub: [true, true, true, true]
90
- }
91
- }.each do |test_target, instances_hash|
92
- specs_for_target(test_target, instances_hash)
93
- end
94
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable'
4
-
5
- ::RSpec.describe ::EacRubyUtils::ActsAsImmutable::ArrayAccessor do
6
- let(:stub_class) do
7
- ::Class.new do
8
- include ::EacRubyUtils::ActsAsImmutable
9
-
10
- immutable_accessor :array_attr, type: :array
11
- end
12
- end
13
-
14
- let(:initial_instance) { stub_class.new }
15
-
16
- it do
17
- expect(initial_instance.array_attrs).to eq([])
18
- end
19
-
20
- context 'when array_attr pushs for' do
21
- let(:change1_instance) { initial_instance.array_attr('A') }
22
-
23
- it { expect(change1_instance).to be_a(initial_instance.class) }
24
- it { expect(change1_instance.object_id).not_to eq(initial_instance.object_id) }
25
- it { expect(change1_instance.array_attrs).to eq(%w[A]) }
26
-
27
- context 'when array_attrs sets for' do
28
- let(:change2_instance) { initial_instance.array_attrs(%w[B]) }
29
-
30
- it { expect(change2_instance).to be_a(initial_instance.class) }
31
- it { expect(change2_instance.object_id).not_to eq(change1_instance.object_id) }
32
- it { expect(change2_instance.array_attrs).to eq(%w[B]) }
33
- end
34
-
35
- context 'when array_attrs sets for a non array' do
36
- let(:change2_instance) { initial_instance.array_attrs('B') }
37
-
38
- it { expect(change2_instance).to be_a(initial_instance.class) }
39
- it { expect(change2_instance.object_id).not_to eq(change1_instance.object_id) }
40
- it { expect(change2_instance.array_attrs).to eq(%w[B]) }
41
- end
42
- end
43
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable'
4
-
5
- ::RSpec.describe ::EacRubyUtils::ActsAsImmutable::CommonAccessor do
6
- let(:stub_class) do
7
- ::Class.new do
8
- include ::EacRubyUtils::ActsAsImmutable
9
-
10
- immutable_accessor :attr1, :attr2, :attr3
11
-
12
- def attr1_get_filter(value)
13
- value || 'DEFAULT'
14
- end
15
-
16
- def attr2_set_filter(value)
17
- "#{value}_FILTERED"
18
- end
19
- end
20
- end
21
-
22
- let(:initial_instance) { stub_class.new }
23
-
24
- it { expect(initial_instance.attr1).to eq('DEFAULT') }
25
- it { expect(initial_instance.attr2).to eq(nil) }
26
- it { expect(initial_instance.attr3).to eq(nil) }
27
-
28
- context 'when attr1 is set' do
29
- let(:change1_instance) { initial_instance.attr1('A') }
30
-
31
- it { expect(change1_instance).to be_a(initial_instance.class) }
32
- it { expect(change1_instance.object_id).not_to eq(initial_instance.object_id) }
33
- it { expect(change1_instance.attr1).to eq('A') }
34
- it { expect(change1_instance.attr2).to eq(nil) }
35
- it { expect(change1_instance.attr3).to eq(nil) }
36
-
37
- context 'when attr2 is set' do
38
- let(:change2_instance) { change1_instance.attr2('B') }
39
-
40
- it { expect(change2_instance).to be_a(change1_instance.class) }
41
- it { expect(change2_instance.object_id).not_to eq(change1_instance.object_id) }
42
- it { expect(change2_instance.attr1).to eq('A') }
43
- it { expect(change2_instance.attr2).to eq('B_FILTERED') }
44
- it { expect(change2_instance.attr3).to eq(nil) }
45
- end
46
-
47
- context 'when attr3 is set' do
48
- let(:change2_instance) { change1_instance.attr3('C') }
49
-
50
- it { expect(change2_instance).to be_a(change1_instance.class) }
51
- it { expect(change2_instance.object_id).not_to eq(change1_instance.object_id) }
52
- it { expect(change2_instance.attr1).to eq('A') }
53
- it { expect(change2_instance.attr2).to eq(nil) }
54
- it { expect(change2_instance.attr3).to eq('C') }
55
- end
56
- end
57
- end