eac_tools 0.76.1 → 0.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path('lib', __dir__)
4
-
5
- # Maintain your gem's version:
6
- require 'eac_ruby_utils/version'
7
-
8
- # Describe your gem and declare its dependencies:
9
- Gem::Specification.new do |s|
10
- s.name = 'eac_ruby_utils'
11
- s.version = ::EacRubyUtils::VERSION
12
- s.authors = ['Esquilo Azul Company']
13
- s.summary = 'Utilities for E.A.C.\'s Ruby projects.'
14
- s.license = 'MIT'
15
-
16
- s.files = Dir['{lib}/**/*', 'MIT-LICENSE', 'README.rdoc']
17
-
18
- s.add_dependency 'activesupport', '>= 4', '< 7'
19
- s.add_dependency 'addressable', '~> 2.8', '>= 2.8.5'
20
- s.add_dependency 'bundler'
21
- s.add_dependency 'filesize', '~> 0.2'
22
- s.add_dependency 'net-ssh', '~> 4.2'
23
- s.add_development_dependency 'avm-eac_ubuntu_base0', '~> 0.4'
24
- s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
25
- end
@@ -1,100 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/module_ancestors_variable/hash'
4
- require 'eac_ruby_utils/patches/class/self_included_modules'
5
- require 'eac_ruby_utils/patches/module/common_concern'
6
- require 'eac_ruby_utils/unimplemented_method_error'
7
-
8
- module EacRubyUtils
9
- # Support to abstract methods.
10
- #
11
- # Usage:
12
- #
13
- # require 'eac_ruby_utils/acts_as_abstract'
14
- #
15
- # class BaseClass
16
- # include EacRubyUtils::ActsAsAbstract
17
- #
18
- # abstract_methods :mymethod
19
- # end
20
- #
21
- # BaseClass.new.mymethod # raise "Abstract method: mymethod"
22
- #
23
- # class SubClass
24
- # def mymethod
25
- # "Implemented"
26
- # end
27
- # end
28
- #
29
- # SubClass.new.mymethod # return "Implemented"
30
- module ActsAsAbstract
31
- common_concern
32
-
33
- class << self
34
- def abstract?(a_class)
35
- a_class.self_included_modules.include?(::EacRubyUtils::ActsAsAbstract)
36
- end
37
- end
38
-
39
- module ClassMethods
40
- # @param name [Symbol]
41
- # @param arguments [Enumerable<Symbol>]
42
- # @return [void]
43
- def abstract_method(name, *arguments)
44
- abstract_methods_hash[name.to_sym] = arguments
45
- end
46
-
47
- # @param methods_names [Enumerable<Object>] Each item can be a symbolizable or a hash.
48
- # @return [void]
49
- def abstract_methods(*methods_names)
50
- methods_names.each do |method_name|
51
- if method_name.is_a?(::Hash)
52
- abstract_methods_from_hash(method_name)
53
- else
54
- abstract_method(method_name)
55
- end
56
- end
57
- end
58
-
59
- private
60
-
61
- # @param hash [Hash]
62
- # @return [void]
63
- def abstract_methods_from_hash(hash)
64
- hash.each { |name, arguments| abstract_method(name, *arguments) }
65
- end
66
-
67
- # @return [Hash<Symbol, Array]
68
- def abstract_methods_hash
69
- @abstract_methods_hash ||=
70
- ::EacRubyUtils::ModuleAncestorsVariable::Hash.new(self, __method__)
71
- end
72
- end
73
-
74
- module InstanceMethods
75
- def respond_to_missing?(method_name, include_private = false)
76
- super || abstract_method?(method_name)
77
- end
78
-
79
- def method_missing(method_name, *arguments, &block)
80
- raise_abstract_method(method_name) if abstract_method?(method_name)
81
-
82
- super
83
- end
84
-
85
- # @param method_name [Symbol]
86
- # @return [Boolean]
87
- def abstract_method?(method_name)
88
- return false if self.class.method_defined?(method_name)
89
-
90
- self.class.send(:abstract_methods_hash).key?(method_name.to_sym)
91
- end
92
-
93
- def raise_abstract_method(method_name, arguments = [])
94
- raise ::EacRubyUtils::UnimplementedMethodError,
95
- "Abstract method #{method_name}(#{arguments.join(', ')}) hit in " \
96
- "#{self}\" (Class: #{self.class})"
97
- end
98
- end
99
- end
100
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable/enumerable_accessor'
4
-
5
- module EacRubyUtils
6
- module ActsAsImmutable
7
- class ArrayAccessor < ::EacRubyUtils::ActsAsImmutable::EnumerableAccessor
8
- INITIAL_VALUE = [].freeze
9
-
10
- # @param value [Object]
11
- # @return [Array]
12
- def immutable_value_set_assert(value)
13
- return value if value.is_a?(::Array)
14
- return value.to_a if value.respond_to?(:to_a)
15
-
16
- Array(value)
17
- end
18
-
19
- # @return [Array] A empty array.
20
- def initial_value
21
- INITIAL_VALUE
22
- end
23
- end
24
- end
25
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/patches/object/if_respond'
4
-
5
- module EacRubyUtils
6
- module ActsAsImmutable
7
- class BaseAccessor
8
- FILTER_GET_METHOD_NAME_FORMAT = '%s_get_filter'
9
- FILTER_SET_METHOD_NAME_FORMAT = '%s_set_filter'
10
-
11
- common_constructor :name do
12
- self.name = name.to_sym
13
- end
14
-
15
- def duplicate_object(object)
16
- accessor_new_value = yield(immutable_value_get(object))
17
- new_values = object.send(:immutable_values_get).merge(name => accessor_new_value)
18
- r = object.class.new(*object.immutable_constructor_args)
19
- r.send(:immutable_values_set, new_values)
20
- r
21
- end
22
-
23
- def immutable_value_get(object)
24
- object.send(:immutable_values_get)[name]
25
- end
26
-
27
- # @param object [Object]
28
- # @return [Object]
29
- def immutable_value_get_filtered(object)
30
- r = immutable_value_get(object)
31
- if object.respond_to?(immutable_value_get_filtered_method_name, true)
32
- r = object.send(immutable_value_get_filtered_method_name, r)
33
- end
34
- r
35
- end
36
-
37
- # @return [Symbol]
38
- def immutable_value_get_filtered_method_name
39
- format(FILTER_GET_METHOD_NAME_FORMAT, name)
40
- end
41
-
42
- # @param object [Object]
43
- # @return [Object]
44
- def immutable_value_set_filtered(object, value)
45
- if object.respond_to?(immutable_value_set_filtered_method_name, true)
46
- value = object.send(immutable_value_set_filtered_method_name, value)
47
- end
48
- immutable_value_set(object, value)
49
- end
50
-
51
- # @return [Symbol]
52
- def immutable_value_set_filtered_method_name
53
- format(FILTER_SET_METHOD_NAME_FORMAT, name)
54
- end
55
- end
56
- end
57
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable/common_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module ActsAsImmutable
8
- class BooleanAccessor < ::EacRubyUtils::ActsAsImmutable::CommonAccessor
9
- def apply(klass)
10
- super
11
- accessor = self
12
- klass.send(:define_method, "#{name}?") { send(accessor.name) }
13
- end
14
- end
15
- end
16
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module ActsAsImmutable
5
- module ClassMethods
6
- def immutable_accessor(*accessors)
7
- options = accessors.extract_options!
8
- options[:type] ||= const_get('TYPE_COMMON')
9
- accessors.each do |name|
10
- class_name = options.fetch(:type).to_s.camelize + 'Accessor'
11
- ::EacRubyUtils::ActsAsImmutable.const_get(class_name).new(name).apply(self)
12
- end
13
- end
14
-
15
- private
16
-
17
- def imutable_single_accessor(name, options); end
18
- end
19
- end
20
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable/base_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module ActsAsImmutable
8
- class CommonAccessor < ::EacRubyUtils::ActsAsImmutable::BaseAccessor
9
- def apply(klass)
10
- accessor = self
11
- klass.send(:define_method, name) do |*args|
12
- case args.count
13
- when 0 then next accessor.immutable_value_get_filtered(self)
14
- when 1 then next accessor.immutable_value_set_filtered(self, args.first)
15
- else
16
- raise ::ArgumentError, "wrong number of arguments (given #{args.count}, expected 0..1)"
17
- end
18
- end
19
- end
20
-
21
- def immutable_value_get(object)
22
- object.send(:immutable_values_get)[name]
23
- end
24
-
25
- def immutable_value_set(object, value)
26
- duplicate_object(object) { |_old_value| value }
27
- end
28
- end
29
- end
30
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/inflector'
4
- require 'eac_ruby_utils/acts_as_immutable/base_accessor'
5
- require 'eac_ruby_utils/patches/class/common_constructor'
6
-
7
- module EacRubyUtils
8
- module ActsAsImmutable
9
- # Should implement in concrect classes:
10
- # * immutable_value_set_assert(value)
11
- # * initial_value()
12
- class EnumerableAccessor < ::EacRubyUtils::ActsAsImmutable::BaseAccessor
13
- def apply(klass)
14
- apply_singular(klass)
15
- apply_plural(klass)
16
- end
17
-
18
- def apply_plural(klass)
19
- accessor = self
20
- klass.send(:define_method, ::ActiveSupport::Inflector.pluralize(name)) do |*args|
21
- case args.count
22
- when 0 then next accessor.immutable_value_get_filtered(self)
23
- when 1 then next accessor.immutable_value_set_filtered(self, args.first)
24
- else
25
- raise ::ArgumentError, "wrong number of arguments (given #{args.count}, expected 0..1)"
26
- end
27
- end
28
- end
29
-
30
- def apply_singular(klass)
31
- accessor = self
32
- klass.send(:define_method, name) do |value|
33
- accessor.immutable_value_push(self, value)
34
- end
35
- end
36
-
37
- def immutable_value_get(object)
38
- super || initial_value.dup
39
- end
40
-
41
- def immutable_value_push(object, value)
42
- duplicate_object(object) do |old_value|
43
- (old_value || initial_value.dup) + [value]
44
- end
45
- end
46
-
47
- def immutable_value_set(object, value)
48
- duplicate_object(object) { |_old_value| immutable_value_set_assert(value) }
49
- end
50
- end
51
- end
52
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable/base_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module ActsAsImmutable
8
- class HashAccessor < ::EacRubyUtils::ActsAsImmutable::BaseAccessor
9
- def apply(klass)
10
- apply_plural(klass)
11
- apply_singular(klass)
12
- end
13
-
14
- def immutable_value_get(object)
15
- super || {}
16
- end
17
-
18
- def immutable_value_get_single(object, key)
19
- immutable_value_get(object)[key]
20
- end
21
-
22
- def immutable_value_set(object, new_hash)
23
- duplicate_object(object) { |_old_value| new_hash }
24
- end
25
-
26
- def immutable_value_set_single(object, key, value)
27
- immutable_value_set(object, immutable_value_get(object).merge(key => value))
28
- end
29
-
30
- private
31
-
32
- def apply_plural(klass)
33
- accessor = self
34
- klass.send(:define_method, ::ActiveSupport::Inflector.pluralize(name)) do |*args|
35
- case args.count
36
- when 0 then next accessor.immutable_value_get_filtered(self)
37
- when 1 then next accessor.immutable_value_set_filtered(self, args[0])
38
- else
39
- raise ::ArgumentError, "wrong number of arguments (given #{args.count}, expected 0..1)"
40
- end
41
- end
42
- end
43
-
44
- def apply_singular(klass)
45
- accessor = self
46
- klass.send(:define_method, name) do |*args|
47
- case args.count
48
- when 1 then next accessor.immutable_value_get_single(self, args[0])
49
- when 2 then next accessor.immutable_value_set_single(self, *args[0..1])
50
- else
51
- raise ::ArgumentError, "wrong number of arguments (given #{args.count}, expected 1..2)"
52
- end
53
- end
54
- end
55
- end
56
- end
57
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module ActsAsImmutable
5
- module InstanceMethods
6
- def immutable_constructor_args
7
- []
8
- end
9
-
10
- private
11
-
12
- def immutable_values_get
13
- @immutable_values || {}
14
- end
15
-
16
- def immutable_values_set(new_values)
17
- @immutable_values = new_values
18
- end
19
- end
20
- end
21
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/acts_as_immutable/enumerable_accessor'
4
-
5
- module EacRubyUtils
6
- module ActsAsImmutable
7
- class SetAccessor < ::EacRubyUtils::ActsAsImmutable::EnumerableAccessor
8
- INITIAL_VALUE = ::Set.new.freeze
9
-
10
- # @param value [Object]
11
- # @return [Set]
12
- def immutable_value_set_assert(value)
13
- return value if value.is_a?(::Set)
14
- return value.to_set if value.respond_to?(:to_set)
15
-
16
- ::Set.new(value)
17
- end
18
-
19
- # @return [Set] A empty Set.
20
- def initial_value
21
- INITIAL_VALUE
22
- end
23
- end
24
- end
25
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/patches/module/common_concern'
4
- require 'eac_ruby_utils/require_sub'
5
-
6
- module EacRubyUtils
7
- module ActsAsImmutable
8
- ::EacRubyUtils.require_sub __FILE__
9
-
10
- common_concern do
11
- include ::EacRubyUtils::Listable
12
- lists.add_symbol :type, :array, :boolean, :common, :hash
13
- end
14
- end
15
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/module/introspection'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
- require 'eac_ruby_utils/patches/module/module_parent'
6
- require 'eac_ruby_utils/patches/string/inflector'
7
-
8
- module EacRubyUtils
9
- class ActsAsInstanceMethod
10
- common_constructor :method_class
11
-
12
- # @param sender_module [Module, nil]
13
- # @return [self]
14
- def setup(sender_module = nil)
15
- sender_module ||= default_sender_module
16
- the_setup = self
17
- sender_module.define_method(method_name) do |*args, &block|
18
- the_setup.method_class.new(self, *args, &block).result
19
- end
20
-
21
- self
22
- end
23
-
24
- # @return [String]
25
- def method_name
26
- method_class.name.demodulize.underscore.variableize
27
- end
28
-
29
- # @return [Module]
30
- def default_sender_module
31
- method_class.module_parent
32
- end
33
- end
34
- end
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/hash_with_indifferent_access'
4
- require 'ostruct'
5
-
6
- module EacRubyUtils
7
- class ArgumentsConsumer
8
- class << self
9
- def parse(args, positional = [], options = {})
10
- new(args, positional, options).data
11
- end
12
- end
13
-
14
- attr_reader :positional, :default_options
15
-
16
- def initialize(positional, default_options)
17
- @positional = positional.dup.freeze
18
- @default_options = default_options.dup.freeze
19
- end
20
-
21
- def parse(args)
22
- Parser.new(self, args).data
23
- end
24
-
25
- class Parser
26
- attr_reader :data, :arguments_consumer
27
-
28
- def initialize(arguments_consumer, args)
29
- @arguments_consumer = arguments_consumer
30
- @data = ::ActiveSupport::HashWithIndifferentAccess.new
31
- @options_found = false
32
- arguments_consumer.positional.each { |key| data[key] = nil }
33
- data.merge!(arguments_consumer.default_options)
34
- args.each_with_index { |value, index| add_arg(value, index) }
35
- data.freeze
36
- end
37
-
38
- private
39
-
40
- def add_arg(value, index)
41
- arg = ::OpenStruct.new(value: value, index: index)
42
- if arg.value.is_a?(::Hash)
43
- add_hash_arg(arg)
44
- else
45
- add_positional_arg(arg)
46
- end
47
- end
48
-
49
- def add_hash_arg(arg)
50
- check_no_more_arguments(arg)
51
- data.merge!(arg.value)
52
- @options_found = true
53
- end
54
-
55
- def add_positional_arg(arg)
56
- check_no_more_arguments(arg)
57
- invalid_argument arg, 'No more valid positional' if
58
- arg.index >= arguments_consumer.positional.count
59
- data[arguments_consumer.positional[arg.index]] = arg.value
60
- end
61
-
62
- def check_no_more_arguments(arg)
63
- return unless @options_found
64
-
65
- invalid_argument arg, 'Hash already found - no more positional allowed'
66
- end
67
-
68
- def invalid_argument(arg, message)
69
- raise InvalidArgumentError.new(self, arg, message)
70
- end
71
- end
72
-
73
- class InvalidArgumentError < StandardError
74
- def initialize(args_consumer, arg, message)
75
- @args_consumer = args_consumer
76
- @arg = arg
77
- super "#{message} (Arg: #{arg}, Args Consumer: #{args_consumer})"
78
- end
79
- end
80
- end
81
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/patches/module/compare_by'
4
-
5
- module EacRubyUtils
6
- class Bit
7
- VALID_VALUES = [0, 1].freeze
8
-
9
- class << self
10
- def assert(obj)
11
- return obj if obj.is_a?(self)
12
-
13
- new(obj.to_i)
14
- end
15
-
16
- def valid_integer?(value)
17
- value.is_a?(::Integer) && VALID_VALUES.include?(value)
18
- end
19
-
20
- def validate_integer(value)
21
- return value if valid_integer?(value)
22
-
23
- raise(::ArgumentError, "Invalid bit value: #{value} (Valid: #{VALID_VALUES})")
24
- end
25
- end
26
-
27
- attr_reader :value
28
- compare_by :value
29
- delegate :to_s, :zero?, to: :value
30
-
31
- # @param value [Integer]
32
- def initialize(value)
33
- @value = self.class.validate_integer(value)
34
- end
35
-
36
- # @return [Boolean]
37
- def one?
38
- !zero?
39
- end
40
-
41
- # @return [Integer]
42
- def to_i
43
- value
44
- end
45
- end
46
- end