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,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/bit'
4
- require 'eac_ruby_utils/byte'
5
- require 'eac_ruby_utils/byte_array'
6
- require 'eac_ruby_utils/patches/module/compare_by'
7
-
8
- module EacRubyUtils
9
- class BitArray
10
- class << self
11
- def assert(obj)
12
- return obj if obj.is_a?(self)
13
- return new(obj) if obj.is_a?(::Enumerable)
14
-
15
- raise "Could not convert #{obj} to #{self}"
16
- end
17
- end
18
-
19
- delegate :each, :each_with_index, :to_a, :size, :count, :length, :[], :fetch, to: :values_array
20
- compare_by :values_array
21
-
22
- def initialize(values = [])
23
- values.each { |value| push(value) }
24
- end
25
-
26
- def <<(value)
27
- push(value)
28
- end
29
-
30
- # @return [EacRubyUtils::BitArray] +self+.
31
- def push_array(other_bit_array)
32
- values_array.push(*other_bit_array.to_a)
33
-
34
- self
35
- end
36
-
37
- # @param value [EacRubyUtils::Bit]
38
- # @return [EacRubyUtils::Bit]
39
- def push(value)
40
- values_array.push(::EacRubyUtils::Bit.assert(value))
41
- end
42
-
43
- # @return [EacRubyUtils::BitArray]
44
- def reverse
45
- self.class.new(values_array.reverse)
46
- end
47
-
48
- # @param big_endian [Boolean]
49
- # @return [EacRubyUtils::ByteArray]
50
- def to_byte_array(big_endian = false)
51
- unless count.modulo(::EacRubyUtils::Byte::BIT_COUNT).zero?
52
- raise 'Bits returned is not multile of 8'
53
- end
54
-
55
- byte_bits_enumerator.each_with_object(::EacRubyUtils::ByteArray.new) do |e, a|
56
- a << ::EacRubyUtils::Byte.from_bit_array(e, big_endian)
57
- end
58
- end
59
-
60
- # @return [Array<Integer>]
61
- def to_int_array
62
- values_array.map(&:to_i)
63
- end
64
-
65
- private
66
-
67
- def byte_bits_enumerator
68
- ::Enumerator.new do |y|
69
- offset = 0
70
- while offset < values_array.count
71
- y.yield(values_array.slice(offset, ::EacRubyUtils::Byte::BIT_COUNT))
72
- offset += ::EacRubyUtils::Byte::BIT_COUNT
73
- end
74
- end
75
- end
76
-
77
- def values_array
78
- @values_array ||= []
79
- end
80
- end
81
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/object/blank'
4
- require 'singleton'
5
-
6
- module EacRubyUtils
7
- # A blank string which returns +false+ for +blank?+ method.
8
- class BlankNotBlank < String
9
- include ::Singleton
10
-
11
- def initialize
12
- super('')
13
- end
14
-
15
- def blank?
16
- false
17
- end
18
- end
19
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- class Boolean
5
- class << self
6
- def parse(value)
7
- return parse_string(value) if value.is_a?(::String)
8
- return parse_string(value.to_s) if value.is_a?(::Symbol)
9
- return parse_number(value) if value.is_a?(::Numeric)
10
-
11
- value ? true : false
12
- end
13
-
14
- private
15
-
16
- def parse_string(value)
17
- ['', 'n', 'no', 'f', 'false'].include?(value.strip.downcase) ? false : true
18
- end
19
-
20
- def parse_number(value)
21
- value.zero?
22
- end
23
- end
24
-
25
- attr_reader :value
26
-
27
- def initialize(value)
28
- @value = self.class.parse(value)
29
- end
30
- end
31
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- class ByReference
5
- def initialize(&object_provider)
6
- @object_provider = object_provider
7
- end
8
-
9
- def method_missing(method_name, *arguments, &block)
10
- return object.send(method_name, *arguments, &block) if object.respond_to?(method_name)
11
-
12
- super
13
- end
14
-
15
- def object
16
- @object_provider.call
17
- end
18
-
19
- def respond_to_missing?(method_name, include_private = false)
20
- object.respond_to?(method_name, include_private)
21
- end
22
- end
23
- end
@@ -1,105 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/bit'
4
- require 'eac_ruby_utils/bit_array'
5
- require 'eac_ruby_utils/patches/module/compare_by'
6
-
7
- module EacRubyUtils
8
- class Byte
9
- ASSEMBLY_HEXADECIMAL_PREFIX = '$'
10
- BIT_COUNT = 8
11
- BIT_INDEX_RANGE = (0..7).freeze
12
- VALUE_RANGE = (0..255).freeze
13
-
14
- class << self
15
- def assert(obj)
16
- return obj if obj.is_a?(self)
17
-
18
- new(obj.to_i)
19
- end
20
-
21
- def from_bit_array(bit_array, big_endian = false)
22
- bit_array = ::EacRubyUtils::BitArray.assert(bit_array)
23
- raise ::ArgumentError, "Wrong bit array size: #{bit_array.size}" if
24
- bit_array.size != BIT_COUNT
25
-
26
- bit_array = bit_array.reverse if big_endian
27
- bit_array.each_with_index.inject(new(0)) do |a, e|
28
- a.bit_set(e[1], e[0])
29
- end
30
- end
31
-
32
- def valid_bit_index?(value)
33
- value.is_a?(::Integer) && BIT_INDEX_RANGE.include?(value)
34
- end
35
-
36
- def validate_bit_index(value)
37
- return value if valid_bit_index?(value)
38
-
39
- raise(::ArgumentError, "Invalid bit index: #{value} (Range: #{BIT_INDEX_RANGE})")
40
- end
41
-
42
- def valid_value?(value)
43
- value.is_a?(::Integer) && VALUE_RANGE.include?(value)
44
- end
45
-
46
- def validate_value(value)
47
- return value if valid_value?(value)
48
-
49
- raise(::ArgumentError, "Invalid byte value: #{value} (Range: #{VALUE_RANGE})")
50
- end
51
- end
52
-
53
- attr_reader :value
54
- compare_by :value
55
-
56
- def initialize(value)
57
- self.value = value
58
- end
59
-
60
- # @param bit_index [Integer]
61
- # @return [EacRubyUtils::Bit]
62
- def [](bit_index)
63
- bit_get(bit_index)
64
- end
65
-
66
- # @param bit_index [Integer]
67
- # @return [EacRubyUtils::Bit]
68
- def bit_get(bit_index)
69
- self.class.validate_bit_index(bit_index)
70
-
71
- ::EacRubyUtils::Bit.new((value & (1 << bit_index)) >> bit_index)
72
- end
73
-
74
- def bit_set(bit_index, bit_value)
75
- self.class.validate_bit_index(bit_index)
76
- bit = ::EacRubyUtils::Bit.assert(bit_value)
77
- mask = (1 << bit_index)
78
- self.class.new(bit.zero? ? value & ~mask : value | mask)
79
- end
80
-
81
- # @return [EacRubyUtils::BitArray]
82
- def to_bit_array(range = BIT_INDEX_RANGE)
83
- ::EacRubyUtils::BitArray.new(range.map { |bit_index| self[bit_index] })
84
- end
85
-
86
- # @return [Integer]
87
- def to_i
88
- value
89
- end
90
-
91
- # @return [String]
92
- def to_asm_hex
93
- ASSEMBLY_HEXADECIMAL_PREFIX + to_hex
94
- end
95
-
96
- # @return [String]
97
- def to_hex
98
- value.to_s(16).upcase.rjust(2, '0')
99
- end
100
-
101
- private
102
-
103
- attr_writer :value
104
- end
105
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/byte'
4
- require 'eac_ruby_utils/patches/module/compare_by'
5
-
6
- module EacRubyUtils
7
- class ByteArray
8
- delegate :to_a, :size, :count, :length, :[], :fetch, :map, to: :values_array
9
- compare_by :values_array
10
-
11
- def initialize(values = [])
12
- values.each { |value| push(value) }
13
- end
14
-
15
- def <<(value)
16
- push(value)
17
- end
18
-
19
- # @param value [EacRubyUtils::Byte]
20
- # @return [EacRubyUtils::Byte]
21
- def push(value)
22
- values_array.push(::EacRubyUtils::Byte.assert(value))
23
- end
24
-
25
- # @return [Array<Integer>]
26
- def to_int_array
27
- values_array.map(&:to_i)
28
- end
29
-
30
- private
31
-
32
- def values_array
33
- @values_array ||= []
34
- end
35
- end
36
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/concern'
4
- require 'eac_ruby_utils/simple_cache'
5
- require 'eac_ruby_utils/patches/object/if_present'
6
-
7
- module EacRubyUtils
8
- class CommonConcern
9
- class ClassSetup
10
- include ::EacRubyUtils::SimpleCache
11
- attr_reader :a_class, :module_setup, :include_method
12
-
13
- def initialize(module_setup, a_class, include_method)
14
- @module_setup = module_setup
15
- @a_class = a_class
16
- @include_method = include_method
17
- end
18
-
19
- def run
20
- %w[class_methods instance_methods after_callback].each do |suffix|
21
- send("setup_#{suffix}")
22
- end
23
- end
24
-
25
- def setup_class_methods
26
- class_methods_module.if_present { |v| a_class.extend v }
27
- end
28
-
29
- def setup_instance_methods
30
- instance_methods_module.if_present { |v| a_class.send(include_method, v) }
31
- end
32
-
33
- def setup_after_callback
34
- module_setup.common_concern.after_callback.if_present do |v|
35
- a_class.instance_eval(&v)
36
- end
37
- end
38
-
39
- def class_methods_module_uncached
40
- module_setup.a_module.const_get(CLASS_METHODS_MODULE_NAME)
41
- rescue NameError
42
- nil
43
- end
44
-
45
- def instance_methods_module_uncached
46
- module_setup.a_module.const_get(INSTANCE_METHODS_MODULE_NAME)
47
- rescue NameError
48
- nil
49
- end
50
- end
51
- end
52
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/concern'
4
- require 'eac_ruby_utils/common_concern/class_setup'
5
- require 'eac_ruby_utils/simple_cache'
6
- require 'eac_ruby_utils/patches/object/if_present'
7
-
8
- module EacRubyUtils
9
- class CommonConcern
10
- class ModuleSetup
11
- include ::EacRubyUtils::SimpleCache
12
- attr_reader :a_module, :common_concern
13
-
14
- def initialize(common_concern, a_module)
15
- @common_concern = common_concern
16
- @a_module = a_module
17
- end
18
-
19
- def run
20
- a_module.extend(::ActiveSupport::Concern)
21
- include_or_prepend(:included, :include)
22
- include_or_prepend(:prepended, :prepend)
23
- end
24
-
25
- private
26
-
27
- def include_or_prepend(module_method, class_setup_method)
28
- setup = self
29
- a_module.send(module_method, *a_module_method_args(module_method)) do
30
- ::EacRubyUtils::CommonConcern::ClassSetup.new(setup, self, class_setup_method).run
31
- end
32
- end
33
-
34
- def a_module_method_args(module_method)
35
- method_arity = a_module.method(module_method).arity
36
- method_arity = -method_arity - 1 if method_arity.negative?
37
- method_arity.times.map { |_n| a_module }
38
- end
39
- end
40
- end
41
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/common_concern/module_setup'
4
-
5
- module EacRubyUtils
6
- class CommonConcern
7
- CLASS_METHODS_MODULE_NAME = 'ClassMethods'
8
- INSTANCE_METHODS_MODULE_NAME = 'InstanceMethods'
9
-
10
- attr_reader :after_callback
11
-
12
- def initialize(&after_callback)
13
- @after_callback = after_callback
14
- end
15
-
16
- def setup(a_module)
17
- ::EacRubyUtils::CommonConcern::ModuleSetup.new(self, a_module).run
18
- end
19
- end
20
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/common_constructor/instance_initialize'
4
- require 'eac_ruby_utils/common_constructor/super_args'
5
-
6
- module EacRubyUtils
7
- class CommonConstructor
8
- class ClassAccessors
9
- attr_reader :common_constructor, :klass
10
-
11
- def initialize(common_constructor, klass)
12
- @common_constructor = common_constructor
13
- @klass = klass
14
- end
15
-
16
- def args
17
- common_constructor.all_args
18
- end
19
-
20
- def perform
21
- setup_class_attr_readers
22
- setup_class_attr_writers
23
- end
24
-
25
- def setup_class_attr_readers
26
- klass.send(:attr_reader, *args)
27
- klass.send(:public, *args) if args.any?
28
- end
29
-
30
- def setup_class_attr_writers
31
- klass.send(:attr_writer, *args)
32
- klass.send(:private, *args.map { |a| "#{a}=" }) if args.any?
33
- end
34
- end
35
- end
36
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/common_constructor/instance_initialize'
4
- require 'eac_ruby_utils/common_constructor/super_args'
5
-
6
- module EacRubyUtils
7
- class CommonConstructor
8
- class ClassInitialize
9
- attr_reader :common_constructor, :klass
10
-
11
- def initialize(common_constructor, klass)
12
- @common_constructor = common_constructor
13
- @klass = klass
14
- end
15
-
16
- def define_initialize_callbacks
17
- klass.include(::ActiveSupport::Callbacks)
18
- klass.define_callbacks :initialize
19
- end
20
-
21
- def define_initialize_method
22
- class_initialize = self
23
- klass.send(:define_method, :initialize) do |*args, &block|
24
- ::EacRubyUtils::CommonConstructor::InstanceInitialize.new(
25
- class_initialize.common_constructor, args, self, block
26
- ).perform
27
- super(*::EacRubyUtils::CommonConstructor::SuperArgs.new(
28
- class_initialize, args, self
29
- ).result)
30
- end
31
- end
32
-
33
- def perform
34
- define_initialize_callbacks
35
- define_initialize_method
36
- end
37
- end
38
- end
39
- end
@@ -1,64 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- class CommonConstructor
5
- class InstanceInitialize
6
- attr_reader :common_constructor, :args, :object, :block
7
-
8
- def initialize(common_constructor, args, object, block)
9
- @common_constructor = common_constructor
10
- @args = args
11
- @object = object
12
- @block = block
13
- end
14
-
15
- def perform
16
- validate_args_count
17
- object.run_callbacks :initialize do
18
- object_attributes_set
19
- object_block_set
20
- object_after_callback
21
- end
22
- end
23
-
24
- private
25
-
26
- def arg_value(arg_name)
27
- arg_index = common_constructor.args.index(arg_name)
28
- if arg_index < args.count
29
- args[arg_index]
30
- else
31
- common_constructor.default_values[arg_index - common_constructor.args_count_min]
32
- end
33
- end
34
-
35
- def object_after_callback
36
- return unless common_constructor.after_set_block
37
-
38
- object.instance_eval(&common_constructor.after_set_block)
39
- end
40
-
41
- def object_attribute_set(attr_name, attr_value)
42
- object.send("#{attr_name}=", attr_value)
43
- end
44
-
45
- def object_attributes_set
46
- common_constructor.args.each do |arg_name|
47
- object_attribute_set(arg_name, arg_value(arg_name))
48
- end
49
- end
50
-
51
- def object_block_set
52
- block_arg = common_constructor.block_arg
53
- object_attribute_set(block_arg, block) if block_arg
54
- end
55
-
56
- def validate_args_count
57
- return if common_constructor.args_count.include?(args.count)
58
-
59
- raise ArgumentError, "#{object.class}.initialize: wrong number of arguments" \
60
- " (given #{args.count}, expected #{common_constructor.args_count})"
61
- end
62
- end
63
- end
64
- end
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/module/delegation'
4
-
5
- module EacRubyUtils
6
- class CommonConstructor
7
- class SuperArgs
8
- attr_reader :class_initialize, :args, :object
9
- delegate :common_constructor, to: :class_initialize
10
-
11
- def initialize(class_initialize, args, object)
12
- @class_initialize = class_initialize
13
- @args = args
14
- @object = object
15
- end
16
-
17
- def auto_result
18
- r = []
19
- sub_args.each do |name, value|
20
- i = super_arg_index(name)
21
- r[i] = value if i
22
- end
23
- r
24
- end
25
-
26
- def result
27
- result_from_options || auto_result
28
- end
29
-
30
- def result_from_options
31
- return unless common_constructor.super_args
32
-
33
- object.instance_exec(&common_constructor.super_args)
34
- end
35
-
36
- def sub_args
37
- common_constructor.args.each_with_index.map do |name, index|
38
- [name, args[index]]
39
- end.to_h
40
- end
41
-
42
- def super_arg_index(name)
43
- super_method.parameters.each_with_index do |arg, index|
44
- return index if arg[1] == name
45
- end
46
- nil
47
- end
48
-
49
- def super_method
50
- class_initialize.klass.superclass&.instance_method(:initialize)
51
- end
52
- end
53
- end
54
- end
@@ -1,94 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/callbacks'
4
- require 'eac_ruby_utils/arguments_consumer'
5
- require 'eac_ruby_utils/common_constructor/class_accessors'
6
- require 'eac_ruby_utils/common_constructor/class_initialize'
7
- require 'ostruct'
8
-
9
- module EacRubyUtils
10
- class CommonConstructor
11
- attr_reader :all_args, :options, :after_set_block
12
-
13
- class << self
14
- def parse_args_options(args)
15
- result = ::OpenStruct.new(args: [], options: {})
16
- options_reached = false
17
- args.each do |arg|
18
- raise "Options reached and there is more arguments (Arguments: #{args})" if
19
- options_reached
20
-
21
- options_reached = parse_arg_options_process_arg(result, arg)
22
- end
23
- result
24
- end
25
-
26
- private
27
-
28
- def parse_arg_options_process_arg(result, arg)
29
- if arg.is_a?(::Hash)
30
- result.options = arg
31
- true
32
- else
33
- result.args << arg
34
- false
35
- end
36
- end
37
- end
38
-
39
- def initialize(*args, &after_set_block)
40
- args_processed = self.class.parse_args_options(args)
41
- @all_args = args_processed.args
42
- @options = args_processed.options
43
- @after_set_block = after_set_block
44
- end
45
-
46
- def args
47
- block_arg? ? all_args[0..-2] : all_args
48
- end
49
-
50
- def args_count
51
- (args_count_min..args_count_max)
52
- end
53
-
54
- def args_count_min
55
- args.count - default_values.count
56
- end
57
-
58
- def args_count_max
59
- args.count
60
- end
61
-
62
- def block_arg
63
- block_arg? ? all_args.last : nil
64
- end
65
-
66
- def block_arg?
67
- options[:block_arg] || false
68
- end
69
-
70
- def default_values
71
- options[:default] || []
72
- end
73
-
74
- def setup_class(klass)
75
- setup_class_accessors(klass)
76
-
77
- setup_class_initialize(klass)
78
-
79
- klass
80
- end
81
-
82
- def setup_class_accessors(klass)
83
- ::EacRubyUtils::CommonConstructor::ClassAccessors.new(self, klass).perform
84
- end
85
-
86
- def setup_class_initialize(klass)
87
- ::EacRubyUtils::CommonConstructor::ClassInitialize.new(self, klass).perform
88
- end
89
-
90
- def super_args
91
- options[:super_args]
92
- end
93
- end
94
- end