avm-tools 0.120.2 → 0.121.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/ruby/gems/generator.rb +2 -1
  3. data/lib/avm/tools/runner/app_src/info.rb +1 -1
  4. data/lib/avm/tools/version.rb +1 -1
  5. data/locale/en.yml +7 -0
  6. data/locale/pt-BR.yml +7 -0
  7. metadata +4 -384
  8. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +0 -63
  9. data/sub/avm-eac_generic_base0/Gemfile +0 -5
  10. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +0 -19
  11. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base/version_bump.rb +0 -35
  12. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -25
  13. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/tester.rb +0 -56
  14. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +0 -11
  15. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +0 -7
  16. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +0 -9
  17. data/sub/avm-eac_generic_base0/locale/en.yaml +0 -6
  18. data/sub/avm-eac_generic_base0/locale/pt-BR.yaml +0 -6
  19. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -7
  20. data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +0 -3
  21. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +0 -4
  22. data/sub/avm-eac_rails_base0/Gemfile +0 -5
  23. data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +0 -19
  24. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/apache_host.rb +0 -10
  25. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/apache_path.rb +0 -19
  26. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/deploy.rb +0 -53
  27. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instance.rb +0 -11
  28. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/runners/base.rb +0 -26
  29. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/runners.rb +0 -11
  30. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/sources/base.rb +0 -27
  31. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +0 -7
  32. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0.rb +0 -9
  33. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_host_spec.rb +0 -22
  34. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
  35. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_path_spec.rb +0 -23
  36. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/apache_path_spec_files/stub-app_0_apache_path.conf +0 -14
  37. data/sub/avm-eac_rails_base0/spec/rubocop_spec.rb +0 -3
  38. data/sub/avm-eac_rails_base0/spec/spec_helper.rb +0 -5
  39. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/apache_path/extra_content.conf +0 -5
  40. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/deploy/config/database.yml.template +0 -21
  41. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/deploy/config/envvars.d/email.yml.template +0 -11
  42. data/sub/avm-eac_redmine_base0/Gemfile +0 -5
  43. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -23
  44. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/apache_host.rb +0 -10
  45. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +0 -115
  46. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/data_unit.rb +0 -51
  47. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/deploy.rb +0 -36
  48. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instance.rb +0 -57
  49. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -97
  50. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/rest_api.rb +0 -11
  51. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -27
  52. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +0 -7
  53. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -9
  54. data/sub/avm-eac_redmine_base0/spec/rubocop_spec.rb +0 -3
  55. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -4
  56. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/install.sh.template +0 -27
  57. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/secrets.yml +0 -8
  58. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
  59. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile_apache_setup +0 -8
  60. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
  61. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
  62. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/install_settings.sh.template +0 -33
  63. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -52
  64. data/sub/avm-eac_webapp_base0/Gemfile +0 -5
  65. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -22
  66. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_host.rb +0 -78
  67. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_path.rb +0 -51
  68. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -25
  69. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/build.rb +0 -48
  70. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/file_unit.rb +0 -42
  71. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/git_info.rb +0 -62
  72. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/version.rb +0 -24
  73. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -18
  74. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy.rb +0 -73
  75. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
  76. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance.rb +0 -62
  77. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_host.rb +0 -35
  78. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_path.rb +0 -40
  79. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
  80. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
  81. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
  82. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/deploy.rb +0 -39
  83. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner.rb +0 -12
  84. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -15
  85. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb +0 -11
  86. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +0 -7
  87. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +0 -9
  88. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
  89. data/sub/avm-eac_webapp_base0/spec/rubocop_spec.rb +0 -3
  90. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +0 -4
  91. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_host/no_ssl.conf +0 -11
  92. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_path/default.conf +0 -9
  93. data/sub/eac_cli/Gemfile +0 -5
  94. data/sub/eac_cli/eac_cli.gemspec +0 -20
  95. data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +0 -57
  96. data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +0 -26
  97. data/sub/eac_cli/lib/eac_cli/config/entry.rb +0 -50
  98. data/sub/eac_cli/lib/eac_cli/config.rb +0 -21
  99. data/sub/eac_cli/lib/eac_cli/core_ext.rb +0 -6
  100. data/sub/eac_cli/lib/eac_cli/default_runner.rb +0 -14
  101. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +0 -80
  102. data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +0 -21
  103. data/sub/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +0 -47
  104. data/sub/eac_cli/lib/eac_cli/definition/base_option.rb +0 -66
  105. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +0 -27
  106. data/sub/eac_cli/lib/eac_cli/definition/positional_argument.rb +0 -61
  107. data/sub/eac_cli/lib/eac_cli/definition.rb +0 -95
  108. data/sub/eac_cli/lib/eac_cli/enum.rb +0 -45
  109. data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +0 -80
  110. data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +0 -16
  111. data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +0 -44
  112. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +0 -25
  113. data/sub/eac_cli/lib/eac_cli/old_configs.rb +0 -35
  114. data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +0 -17
  115. data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +0 -24
  116. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +0 -37
  117. data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +0 -29
  118. data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +0 -29
  119. data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +0 -30
  120. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +0 -47
  121. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +0 -92
  122. data/sub/eac_cli/lib/eac_cli/parser/collector.rb +0 -46
  123. data/sub/eac_cli/lib/eac_cli/parser/error.rb +0 -15
  124. data/sub/eac_cli/lib/eac_cli/parser.rb +0 -34
  125. data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +0 -26
  126. data/sub/eac_cli/lib/eac_cli/patches/object.rb +0 -5
  127. data/sub/eac_cli/lib/eac_cli/patches.rb +0 -4
  128. data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +0 -42
  129. data/sub/eac_cli/lib/eac_cli/rspec.rb +0 -9
  130. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +0 -33
  131. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +0 -50
  132. data/sub/eac_cli/lib/eac_cli/runner/context.rb +0 -40
  133. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +0 -13
  134. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -43
  135. data/sub/eac_cli/lib/eac_cli/runner.rb +0 -49
  136. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +0 -63
  137. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +0 -82
  138. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +0 -41
  139. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +0 -10
  140. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +0 -119
  141. data/sub/eac_cli/lib/eac_cli/runner_with.rb +0 -9
  142. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +0 -50
  143. data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +0 -13
  144. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +0 -61
  145. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +0 -38
  146. data/sub/eac_cli/lib/eac_cli/speaker.rb +0 -126
  147. data/sub/eac_cli/lib/eac_cli/version.rb +0 -5
  148. data/sub/eac_cli/lib/eac_cli.rb +0 -7
  149. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +0 -18
  150. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +0 -14
  151. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +0 -140
  152. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -129
  153. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +0 -51
  154. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +0 -88
  155. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +0 -32
  156. data/sub/eac_cli/spec/rubocop_spec.rb +0 -3
  157. data/sub/eac_cli/spec/spec_helper.rb +0 -4
  158. data/sub/eac_fs/Gemfile +0 -5
  159. data/sub/eac_fs/eac_fs.gemspec +0 -20
  160. data/sub/eac_fs/lib/eac_fs/cached_download.rb +0 -39
  161. data/sub/eac_fs/lib/eac_fs/contexts.rb +0 -21
  162. data/sub/eac_fs/lib/eac_fs/file_info.rb +0 -29
  163. data/sub/eac_fs/lib/eac_fs/logs/file.rb +0 -56
  164. data/sub/eac_fs/lib/eac_fs/logs.rb +0 -64
  165. data/sub/eac_fs/lib/eac_fs/patches/module/fs_cache.rb +0 -15
  166. data/sub/eac_fs/lib/eac_fs/patches/module.rb +0 -4
  167. data/sub/eac_fs/lib/eac_fs/patches/object/fs_cache.rb +0 -32
  168. data/sub/eac_fs/lib/eac_fs/patches/object.rb +0 -4
  169. data/sub/eac_fs/lib/eac_fs/patches/pathname/info.rb +0 -12
  170. data/sub/eac_fs/lib/eac_fs/patches/pathname.rb +0 -4
  171. data/sub/eac_fs/lib/eac_fs/patches.rb +0 -4
  172. data/sub/eac_fs/lib/eac_fs/storage_tree.rb +0 -62
  173. data/sub/eac_fs/lib/eac_fs/traversable.rb +0 -45
  174. data/sub/eac_fs/lib/eac_fs/traverser.rb +0 -76
  175. data/sub/eac_fs/lib/eac_fs/version.rb +0 -5
  176. data/sub/eac_fs/lib/eac_fs.rb +0 -7
  177. data/sub/eac_fs/spec/lib/eac_fs/storage_tree_spec.rb +0 -32
  178. data/sub/eac_fs/spec/rubocop_spec.rb +0 -3
  179. data/sub/eac_fs/spec/spec_helper.rb +0 -4
  180. data/sub/eac_ruby_utils/Gemfile +0 -16
  181. data/sub/eac_ruby_utils/MIT-LICENCE +0 -16
  182. data/sub/eac_ruby_utils/README.rdoc +0 -3
  183. data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +0 -23
  184. data/sub/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +0 -68
  185. data/sub/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb +0 -81
  186. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit.rb +0 -46
  187. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit_array.rb +0 -81
  188. data/sub/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +0 -19
  189. data/sub/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +0 -31
  190. data/sub/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb +0 -23
  191. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte.rb +0 -105
  192. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte_array.rb +0 -36
  193. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +0 -52
  194. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +0 -41
  195. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +0 -20
  196. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +0 -29
  197. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +0 -53
  198. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +0 -54
  199. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +0 -89
  200. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +0 -22
  201. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compare_by.rb +0 -28
  202. data/sub/eac_ruby_utils/lib/eac_ruby_utils/context.rb +0 -33
  203. data/sub/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +0 -21
  204. data/sub/eac_ruby_utils/lib/eac_ruby_utils/core_ext.rb +0 -7
  205. data/sub/eac_ruby_utils/lib/eac_ruby_utils/custom_format.rb +0 -53
  206. data/sub/eac_ruby_utils/lib/eac_ruby_utils/enum.rb +0 -102
  207. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_env.rb +0 -28
  208. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/concat.rb +0 -33
  209. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +0 -24
  210. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -33
  211. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +0 -172
  212. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +0 -81
  213. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/file.rb +0 -22
  214. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/local_env.rb +0 -17
  215. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/process.rb +0 -27
  216. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/spawn.rb +0 -32
  217. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +0 -53
  218. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +0 -25
  219. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +0 -24
  220. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +0 -34
  221. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +0 -75
  222. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs.rb +0 -23
  223. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +0 -57
  224. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb +0 -30
  225. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb +0 -16
  226. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/file.rb +0 -34
  227. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb +0 -52
  228. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs.rb +0 -9
  229. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +0 -79
  230. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -35
  231. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/array_accessor.rb +0 -32
  232. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +0 -23
  233. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/boolean_accessor.rb +0 -16
  234. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/class_methods.rb +0 -20
  235. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/common_accessor.rb +0 -30
  236. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/hash_accessor.rb +0 -46
  237. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/instance_methods.rb +0 -21
  238. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable.rb +0 -15
  239. data/sub/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +0 -29
  240. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/class_methods.rb +0 -14
  241. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/instance_methods.rb +0 -30
  242. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/integer_list.rb +0 -23
  243. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +0 -111
  244. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -59
  245. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb +0 -19
  246. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb +0 -19
  247. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +0 -49
  248. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable.rb +0 -17
  249. data/sub/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +0 -48
  250. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_all_gems.rb +0 -4
  251. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_gem.rb +0 -47
  252. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/module_i18n_translate.rb +0 -74
  253. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales.rb +0 -9
  254. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +0 -35
  255. data/sub/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb +0 -62
  256. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch.rb +0 -11
  257. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/abstract.rb +0 -9
  258. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb +0 -9
  259. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/self_included_modules.rb +0 -7
  260. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +0 -10
  261. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class.rb +0 -4
  262. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb +0 -45
  263. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb +0 -4
  264. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +0 -9
  265. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +0 -14
  266. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +0 -4
  267. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb +0 -10
  268. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb +0 -10
  269. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/to_struct.rb +0 -10
  270. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb +0 -5
  271. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +0 -10
  272. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +0 -4
  273. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +0 -10
  274. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -9
  275. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/compare_by.rb +0 -9
  276. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +0 -11
  277. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/i18n_translate.rb +0 -9
  278. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +0 -10
  279. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb +0 -10
  280. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/method_class.rb +0 -9
  281. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb +0 -9
  282. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb +0 -9
  283. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb +0 -10
  284. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +0 -9
  285. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb +0 -4
  286. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb +0 -25
  287. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/call_if_proc.rb +0 -11
  288. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +0 -20
  289. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +0 -23
  290. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/i18n_translate.rb +0 -13
  291. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +0 -17
  292. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb +0 -19
  293. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +0 -22
  294. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_pathname.rb +0 -15
  295. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_uri.rb +0 -15
  296. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb +0 -5
  297. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_noext.rb +0 -10
  298. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_sub.rb +0 -9
  299. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/if_exist.rb +0 -10
  300. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/mkpath_s.rb +0 -12
  301. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +0 -11
  302. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/readlink_r.rb +0 -11
  303. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/reqdir_glob.rb +0 -13
  304. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname.rb +0 -4
  305. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/if_match.rb +0 -16
  306. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +0 -10
  307. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp.rb +0 -4
  308. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +0 -16
  309. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +0 -11
  310. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +0 -4
  311. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +0 -11
  312. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb +0 -4
  313. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches.rb +0 -4
  314. data/sub/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +0 -51
  315. data/sub/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +0 -34
  316. data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +0 -134
  317. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +0 -20
  318. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +0 -17
  319. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +0 -12
  320. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +0 -49
  321. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/stub_speaker.rb +0 -39
  322. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb +0 -9
  323. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +0 -32
  324. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_clean_environment.rb +0 -26
  325. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby.rb +0 -9
  326. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +0 -69
  327. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +0 -46
  328. data/sub/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +0 -77
  329. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +0 -64
  330. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +0 -32
  331. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +0 -16
  332. data/sub/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +0 -70
  333. data/sub/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +0 -63
  334. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +0 -5
  335. data/sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +0 -105
  336. data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -6
  337. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +0 -28
  338. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb +0 -17
  339. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/bit_array_spec.rb +0 -22
  340. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +0 -16
  341. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/byte_spec.rb +0 -54
  342. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +0 -65
  343. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +0 -125
  344. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +0 -20
  345. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compare_by_spec.rb +0 -38
  346. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/custom_format_spec.rb +0 -60
  347. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enum_spec.rb +0 -43
  348. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb +0 -37
  349. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/ssh_env_spec.rb +0 -25
  350. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/extname_spec.rb +0 -18
  351. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp/directory_spec.rb +0 -12
  352. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb +0 -52
  353. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +0 -16
  354. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +0 -275
  355. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +0 -17
  356. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/method_class_spec.rb +0 -46
  357. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb +0 -80
  358. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/abstract_spec.rb +0 -25
  359. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/self_included_modules_spec.rb +0 -30
  360. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb +0 -39
  361. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +0 -26
  362. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +0 -32
  363. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb +0 -17
  364. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb +0 -13
  365. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/compare_by_spec.rb +0 -36
  366. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/listable_spec.rb +0 -15
  367. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/method_class_spec.rb +0 -20
  368. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/simple_cache_spec.rb +0 -15
  369. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +0 -13
  370. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/call_if_proc_spec.rb +0 -11
  371. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +0 -20
  372. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/if_present_spec.rb +0 -13
  373. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec_files/path/my_stub_with_template +0 -1
  374. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_noext_spec.rb +0 -26
  375. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_sub_spec.rb +0 -17
  376. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +0 -33
  377. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +0 -34
  378. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +0 -65
  379. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_module_a.rb +0 -6
  380. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_not_module.rb +0 -6
  381. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec.rb +0 -19
  382. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby_spec.rb +0 -22
  383. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +0 -57
  384. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +0 -129
  385. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +0 -57
  386. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +0 -75
  387. data/sub/eac_ruby_utils/spec/locales/pt-BR.yml +0 -58
  388. data/sub/eac_ruby_utils/spec/rubocop_check_spec.rb +0 -3
  389. data/sub/eac_ruby_utils/spec/spec_helper.rb +0 -15
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/core_ext/string/inflections'
4
- require 'eac_ruby_utils/recursive_builder'
5
- require 'eac_ruby_utils/simple_cache'
6
-
7
- module EacRubyUtils
8
- class GemsRegistry
9
- class Gem
10
- include ::Comparable
11
- include ::EacRubyUtils::SimpleCache
12
-
13
- attr_reader :registry, :gemspec
14
-
15
- def initialize(registry, gemspec)
16
- @registry = registry
17
- @gemspec = gemspec
18
- end
19
-
20
- def depend_on(gem)
21
- dependencies.lazy.map(&:name).include?(gem.gemspec.name)
22
- end
23
-
24
- def dependencies
25
- @dependencies ||= dependencies_uncached # dependencies_uncached
26
- end
27
-
28
- def <=>(other)
29
- sd = depend_on(other)
30
- od = other.depend_on(self)
31
- return 1 if sd && !od
32
- return -1 if od && !sd
33
-
34
- gemspec.name <=> other.gemspec.name
35
- end
36
-
37
- def found?
38
- lib_file_found? && registered_module.is_a?(::Module)
39
- end
40
-
41
- def lib_file_found?
42
- gemspec.require_paths.any? do |require_path|
43
- ::Pathname.new(require_path).expand_path(gemspec.gem_dir).join(path_to_require + '.rb')
44
- .file?
45
- end
46
- end
47
-
48
- def registered_module
49
- return nil unless lib_file_found?
50
-
51
- require path_to_require
52
- path_to_require.classify.constantize
53
- end
54
-
55
- # @return [String]
56
- def path_to_require
57
- gemspec.name.gsub('-', '/') + '/' + registry.module_suffix.underscore
58
- end
59
-
60
- def to_s
61
- "#{self.class.name}[#{gemspec.name}]"
62
- end
63
-
64
- private
65
-
66
- def dependencies_uncached
67
- ::EacRubyUtils::RecursiveBuilder
68
- .new(gemspec) { |item| gem_item_dependencies(item) }
69
- .result
70
- end
71
-
72
- def gem_item_dependencies(item)
73
- ::Gem::Specification.find_by_name(item.name).dependencies
74
- rescue ::Gem::MissingSpecError
75
- []
76
- end
77
- end
78
- end
79
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rubygems'
4
- require 'eac_ruby_utils/gems_registry/gem'
5
-
6
- module EacRubyUtils
7
- # Search in each gem for a class determined by registry and run the method "register" on each
8
- # found.
9
- #
10
- # Example:
11
- # * The module suffix is `TheClass`;
12
- # * A gem with name "my-lib" is being analyzed
13
- # * If a require for "my/lib/the_class" is succesful the class/module `My::Lib::TheClass` will
14
- # be collected.
15
- class GemsRegistry
16
- attr_reader :module_suffix
17
-
18
- def initialize(module_suffix)
19
- @module_suffix = module_suffix
20
- end
21
-
22
- # @return [Array<EacRubyUtils::GemsRegistry::Gem>]
23
- def registered
24
- @registered ||= all_gems.select(&:found?).sort
25
- end
26
-
27
- private
28
-
29
- # @return [Array<EacRubyUtils::GemsRegistry::Gem>]
30
- def all_gems
31
- ::Gem::Specification.map { |gemspec| ::EacRubyUtils::GemsRegistry::Gem.new(self, gemspec) }
32
- .sort
33
- end
34
- end
35
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/inflector'
4
- require 'eac_ruby_utils/immutable/base_accessor'
5
- require 'eac_ruby_utils/patches/class/common_constructor'
6
-
7
- module EacRubyUtils
8
- module Immutable
9
- class ArrayAccessor < ::EacRubyUtils::Immutable::BaseAccessor
10
- def apply(klass)
11
- accessor = self
12
- klass.send(:define_method, name) do |value|
13
- accessor.immutable_value_set(self, value)
14
- end
15
-
16
- klass.send(:define_method, ::ActiveSupport::Inflector.pluralize(name)) do
17
- accessor.immutable_value_get(self)
18
- end
19
- end
20
-
21
- def immutable_value_get(object)
22
- super || []
23
- end
24
-
25
- def immutable_value_set(object, value)
26
- duplicate_object(object) do |old_value|
27
- (old_value || []) + [value]
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Immutable
5
- class BaseAccessor
6
- common_constructor :name do
7
- self.name = name.to_sym
8
- end
9
-
10
- def duplicate_object(object)
11
- accessor_new_value = yield(immutable_value_get(object))
12
- new_values = object.send(:immutable_values_get).merge(name => accessor_new_value)
13
- r = object.class.new(*object.immutable_constructor_args)
14
- r.send(:immutable_values_set, new_values)
15
- r
16
- end
17
-
18
- def immutable_value_get(object)
19
- object.send(:immutable_values_get)[name]
20
- end
21
- end
22
- end
23
- end
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/immutable/common_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module Immutable
8
- class BooleanAccessor < ::EacRubyUtils::Immutable::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 Immutable
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::Immutable.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/immutable/base_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module Immutable
8
- class CommonAccessor < ::EacRubyUtils::Immutable::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(self)
14
- when 1 then next accessor.immutable_value_set(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,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/immutable/base_accessor'
4
- require 'eac_ruby_utils/patches/class/common_constructor'
5
-
6
- module EacRubyUtils
7
- module Immutable
8
- class HashAccessor < ::EacRubyUtils::Immutable::BaseAccessor
9
- def apply(klass)
10
- apply_get(klass)
11
- apply_set(klass)
12
- end
13
-
14
- def immutable_value_get(object)
15
- super || {}
16
- end
17
-
18
- def immutable_value_set(object, key, value)
19
- duplicate_object(object) do |old_value|
20
- (old_value || {}).merge(key => value)
21
- end
22
- end
23
-
24
- private
25
-
26
- def apply_get(klass)
27
- accessor = self
28
- klass.send(:define_method, ::ActiveSupport::Inflector.pluralize(name)) do
29
- accessor.immutable_value_get(self)
30
- end
31
- end
32
-
33
- def apply_set(klass)
34
- accessor = self
35
- klass.send(:define_method, name) do |*args|
36
- case args.count
37
- when 1 then next accessor.immutable_value_get(self, args[0])
38
- when 2 then next accessor.immutable_value_set(self, *args[0..1])
39
- else
40
- raise ::ArgumentError, "wrong number of arguments (given #{args.count}, expected 1..2)"
41
- end
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Immutable
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,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 Immutable
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,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/inflector'
4
-
5
- module EacRubyUtils
6
- class Inflector
7
- class << self
8
- VARIABLE_NAME_PATTERN = /[_a-z][_a-z0-9]*/i.freeze
9
-
10
- # Convert a string to a variable format: first character as a lowercase letter or underscore
11
- # and other as a lowercase letter, underscore or numbers.
12
- # @param string [String] The source string.
13
- # @param validate [Boolean] Affect the outcome when the result builded is not in a valid
14
- # variable format. If `true`, it raises a {ArgumentError}. If `false`, return `nil`.
15
- # @return [String, nil]
16
- # @raise [ArgumentError]
17
- def variableize(string, validate = true)
18
- r = ::ActiveSupport::Inflector.transliterate(string).gsub(/[^_a-z0-9]/i, '_')
19
- .gsub(/_+/, '_').gsub(/_\z/, '').gsub(/\A_/, '').downcase
20
- m = VARIABLE_NAME_PATTERN.match(r)
21
- return r if m
22
- return nil unless validate
23
-
24
- raise ::ArgumentError, "Invalid variable name \"#{r}\" was generated " \
25
- "from string \"#{string}\""
26
- end
27
- end
28
- end
29
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'i18n'
4
- require_relative 'lists'
5
-
6
- module EacRubyUtils
7
- module Listable
8
- module ClassMethods
9
- def lists
10
- @lists ||= ::EacRubyUtils::Listable::Lists.new(self)
11
- end
12
- end
13
- end
14
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyUtils
4
- module Listable
5
- module InstanceMethods
6
- LISTABLE_INSTANCE_VALUE_METHODS = %w[label description].freeze
7
-
8
- def method_missing(name, *args, &block)
9
- list, method = parse_method(name)
10
- list && method ? list.instance_value(self).send(method) : super
11
- end
12
-
13
- def respond_to_missing?(name, include_all = false)
14
- list, method = parse_method(name)
15
- list && method ? true : super
16
- end
17
-
18
- private
19
-
20
- def parse_method(method)
21
- self.class.lists.acts_as_listable_items.each do |item, list|
22
- LISTABLE_INSTANCE_VALUE_METHODS.each do |m|
23
- return [list, m] if method.to_s == "#{item}_#{m}"
24
- end
25
- end
26
- [nil, nil]
27
- end
28
- end
29
- end
30
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'list'
4
-
5
- module EacRubyUtils
6
- module Listable
7
- class IntegerList < ::EacRubyUtils::Listable::List
8
- protected
9
-
10
- def parse_labels(labels)
11
- if labels.first.is_a?(Hash)
12
- Hash[labels.first.map { |k, v| [k.to_i, v.to_s] }]
13
- else
14
- Hash[labels.each_with_index.map { |v, i| [i + 1, v.to_s] }]
15
- end
16
- end
17
-
18
- def build_value(index, _key)
19
- index + 1
20
- end
21
- end
22
- end
23
- end
@@ -1,111 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/listable/value'
4
-
5
- module EacRubyUtils
6
- module Listable
7
- class List
8
- BLANK_VALUE = nil
9
- BLANK_KEY = :__blank
10
-
11
- attr_reader :item
12
-
13
- def initialize(lists, item, labels)
14
- @lists = lists
15
- @item = item
16
- @values = build_values(labels)
17
- apply_constants
18
- end
19
-
20
- def blank_value
21
- @blank_value ||= ::EacRubyUtils::Listable::Value.new(self, BLANK_VALUE, BLANK_KEY, false)
22
- end
23
-
24
- def each_value(&block)
25
- values.each(&block)
26
- end
27
-
28
- def values
29
- @values.values.map(&:value)
30
- end
31
-
32
- def options
33
- @values.values.map { |v| [v.label, v.value] }
34
- end
35
-
36
- def method_missing(name, *args, &block)
37
- list = find_list_by_method(name)
38
- list || super
39
- end
40
-
41
- def respond_to_missing?(name, include_all = false)
42
- find_list_by_method(name) || super
43
- end
44
-
45
- def hash_keys_validate!(hash, error_class = ::StandardError)
46
- hash.each_key { |key| value_validate!(key, error_class) }
47
- hash
48
- end
49
-
50
- def i18n_key
51
- "eac_ruby_utils.listable.#{class_i18n_key}.#{item}"
52
- end
53
-
54
- # @return [EacRubyUtils::Listable::Value, nil]
55
- def instance_value(instance)
56
- v = instance.send(item)
57
- return blank_value if v.blank?
58
- return @values[v] if @values.key?(v)
59
-
60
- raise "List value unkown: \"#{v}\" (Source: #{@lists.source}, Item: #{item}, Instance: " \
61
- "#{instance.to_debug}, Values: #{@values.keys})"
62
- end
63
-
64
- def value_valid?(value)
65
- values.include?(value)
66
- end
67
-
68
- def value_validate!(value, error_class = ::StandardError)
69
- return value if value_valid?(value)
70
-
71
- raise(error_class, "Invalid value: \"#{value}\" (Valid: #{values_to_s})")
72
- end
73
-
74
- def values_to_s
75
- values.map { |v| "\"#{v}\"" }.join(', ')
76
- end
77
-
78
- private
79
-
80
- def class_i18n_key
81
- @lists.source.name.underscore.to_sym
82
- end
83
-
84
- def find_list_by_method(method)
85
- @values.each_value do |v|
86
- return v if method.to_s == "value_#{v.key}"
87
- end
88
- nil
89
- end
90
-
91
- def constants
92
- labels.each_with_index.map { |v, i| ["#{item.upcase}_#{v.upcase}", values[i]] }
93
- end
94
-
95
- def apply_constants
96
- @values.each_value do |v|
97
- @lists.source.const_set(v.constant_name, v.value)
98
- end
99
- end
100
-
101
- def build_values(labels)
102
- vs = {}
103
- parse_labels(labels).each do |value, key|
104
- v = Value.new(self, value, key)
105
- vs[v.value] = v
106
- end
107
- vs
108
- end
109
- end
110
- end
111
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'active_support/hash_with_indifferent_access'
4
- require 'active_support/core_ext/string/inflections'
5
- require_relative 'integer_list'
6
- require_relative 'string_list'
7
- require_relative 'symbol_list'
8
-
9
- module EacRubyUtils
10
- module Listable
11
- class Lists
12
- attr_reader :source
13
-
14
- def initialize(source)
15
- @source = source
16
- end
17
-
18
- %w[integer string symbol].each do |list_type|
19
- define_method "add_#{list_type}" do |item, *labels|
20
- add(::EacRubyUtils::Listable.const_get("#{list_type}_list".camelize), item, labels)
21
- end
22
- end
23
-
24
- def method_missing(name, *args, &block)
25
- list = find_list_by_method(name)
26
- list || super
27
- end
28
-
29
- def respond_to_missing?(name, include_all = false)
30
- find_list_by_method(name) || super
31
- end
32
-
33
- def acts_as_listable_items
34
- @acts_as_listable_items ||= ActiveSupport::HashWithIndifferentAccess.new
35
- end
36
-
37
- private
38
-
39
- def add(list_class, item, labels)
40
- check_acts_as_listable_new_item(item)
41
- acts_as_listable_items[item] = list_class.new(self, item, labels)
42
- end
43
-
44
- def check_acts_as_listable_new_item(item)
45
- return unless acts_as_listable_items.key?(item)
46
-
47
- raise "Item já adicionado anteriormente: #{item} em #{self} " \
48
- "(#{acts_as_listable_items.keys})"
49
- end
50
-
51
- def find_list_by_method(method)
52
- acts_as_listable_items.each do |item, list|
53
- return list if method.to_sym == item.to_sym
54
- end
55
- nil
56
- end
57
- end
58
- end
59
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'list'
4
-
5
- module EacRubyUtils
6
- module Listable
7
- class StringList < ::EacRubyUtils::Listable::List
8
- protected
9
-
10
- def parse_labels(labels)
11
- if labels.first.is_a?(Hash)
12
- Hash[labels.first.map { |k, v| [k.to_s, v.to_s] }]
13
- else
14
- Hash[labels.map { |v| [v.to_s, v.to_s] }]
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'list'
4
-
5
- module EacRubyUtils
6
- module Listable
7
- class SymbolList < ::EacRubyUtils::Listable::List
8
- protected
9
-
10
- def parse_labels(labels)
11
- if labels.first.is_a?(Hash)
12
- Hash[labels.first.map { |k, v| [k.to_sym, v.to_sym] }]
13
- else
14
- Hash[labels.map { |v| [v.to_sym, v.to_sym] }]
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/inflector'
4
-
5
- module EacRubyUtils
6
- module Listable
7
- class Value
8
- attr_reader :value, :key
9
-
10
- def initialize(list, value, key, translation_required = true)
11
- @list = list
12
- @value = value
13
- @key = key
14
- @translation_required = translation_required
15
- end
16
-
17
- def to_s
18
- "I: #{@list.item}, V: #{@value}, K: #{@key}"
19
- end
20
-
21
- def constant_name
22
- ::EacRubyUtils::Inflector.variableize("#{@list.item}_#{@key}").upcase
23
- end
24
-
25
- def label
26
- translate('label')
27
- end
28
-
29
- def description
30
- translate('description')
31
- end
32
-
33
- def translation_required?
34
- @translation_required
35
- end
36
-
37
- private
38
-
39
- def translate(translate_key)
40
- full_translate_key = "#{@list.i18n_key}.#{@key}.#{translate_key}"
41
- if !::I18n.exists?(full_translate_key) && !translation_required?
42
- ''
43
- else
44
- ::I18n.t(full_translate_key)
45
- end
46
- end
47
- end
48
- end
49
- end