avm-tools 0.120.0 → 0.120.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/projects/stereotypes/ruby_gem/local_project_mixin.rb +3 -3
  3. data/lib/avm/tools/runner/app_src/ruby.rb +0 -1
  4. data/lib/avm/tools/version.rb +1 -1
  5. metadata +6 -233
  6. data/lib/avm/patches/eac_ruby_gems_utils/gem.rb +0 -29
  7. data/lib/avm/patches/eac_ruby_gems_utils.rb +0 -4
  8. data/sub/avm/Gemfile +0 -5
  9. data/sub/avm/avm.gemspec +0 -26
  10. data/sub/avm/lib/avm/data/instance/files_unit.rb +0 -40
  11. data/sub/avm/lib/avm/data/instance/package.rb +0 -18
  12. data/sub/avm/lib/avm/data/instance/unit.rb +0 -17
  13. data/sub/avm/lib/avm/data/instance.rb +0 -11
  14. data/sub/avm/lib/avm/data/package/dump.rb +0 -119
  15. data/sub/avm/lib/avm/data/package/load.rb +0 -48
  16. data/sub/avm/lib/avm/data/package.rb +0 -42
  17. data/sub/avm/lib/avm/data/rotate.rb +0 -107
  18. data/sub/avm/lib/avm/data/unit.rb +0 -94
  19. data/sub/avm/lib/avm/docker/container.rb +0 -50
  20. data/sub/avm/lib/avm/docker/image.rb +0 -71
  21. data/sub/avm/lib/avm/docker/runner.rb +0 -125
  22. data/sub/avm/lib/avm/docker.rb +0 -9
  23. data/sub/avm/lib/avm/executables.rb +0 -24
  24. data/sub/avm/lib/avm/instances/application.rb +0 -29
  25. data/sub/avm/lib/avm/instances/base/auto_values/access.rb +0 -40
  26. data/sub/avm/lib/avm/instances/base/auto_values/admin.rb +0 -19
  27. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +0 -26
  28. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +0 -76
  29. data/sub/avm/lib/avm/instances/base/auto_values/filesystem.rb +0 -43
  30. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +0 -34
  31. data/sub/avm/lib/avm/instances/base/auto_values/ruby.rb +0 -15
  32. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +0 -15
  33. data/sub/avm/lib/avm/instances/base/auto_values/system.rb +0 -23
  34. data/sub/avm/lib/avm/instances/base/auto_values/web.rb +0 -46
  35. data/sub/avm/lib/avm/instances/base/auto_values.rb +0 -21
  36. data/sub/avm/lib/avm/instances/base/dockerizable.rb +0 -45
  37. data/sub/avm/lib/avm/instances/base/entry_keys.rb +0 -22
  38. data/sub/avm/lib/avm/instances/base.rb +0 -64
  39. data/sub/avm/lib/avm/instances/docker_image.rb +0 -15
  40. data/sub/avm/lib/avm/instances/entries.rb +0 -43
  41. data/sub/avm/lib/avm/instances/entry.rb +0 -60
  42. data/sub/avm/lib/avm/instances/entry_keys.rb +0 -60
  43. data/sub/avm/lib/avm/instances/runner.rb +0 -39
  44. data/sub/avm/lib/avm/instances.rb +0 -8
  45. data/sub/avm/lib/avm/jobs/base.rb +0 -63
  46. data/sub/avm/lib/avm/jobs/variables_source.rb +0 -22
  47. data/sub/avm/lib/avm/jobs.rb +0 -9
  48. data/sub/avm/lib/avm/launcher/errors/base.rb +0 -10
  49. data/sub/avm/lib/avm/launcher/errors/non_project.rb +0 -15
  50. data/sub/avm/lib/avm/launcher/paths/real.rb +0 -44
  51. data/sub/avm/lib/avm/launcher/publish/check_result.rb +0 -67
  52. data/sub/avm/lib/avm/path_string.rb +0 -27
  53. data/sub/avm/lib/avm/registry/base.rb +0 -71
  54. data/sub/avm/lib/avm/registry/with_path.rb +0 -23
  55. data/sub/avm/lib/avm/registry.rb +0 -39
  56. data/sub/avm/lib/avm/result.rb +0 -86
  57. data/sub/avm/lib/avm/rspec/setup.rb +0 -22
  58. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +0 -11
  59. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +0 -14
  60. data/sub/avm/lib/avm/rspec.rb +0 -9
  61. data/sub/avm/lib/avm/runners/base.rb +0 -27
  62. data/sub/avm/lib/avm/scms/base.rb +0 -41
  63. data/sub/avm/lib/avm/scms/commit.rb +0 -43
  64. data/sub/avm/lib/avm/scms/inflector.rb +0 -22
  65. data/sub/avm/lib/avm/scms/null.rb +0 -14
  66. data/sub/avm/lib/avm/self/docker_image.rb +0 -14
  67. data/sub/avm/lib/avm/self/instance/entry_keys.rb +0 -12
  68. data/sub/avm/lib/avm/self/instance.rb +0 -31
  69. data/sub/avm/lib/avm/sources/base/configuration.rb +0 -55
  70. data/sub/avm/lib/avm/sources/base/instance.rb +0 -28
  71. data/sub/avm/lib/avm/sources/base/locale.rb +0 -26
  72. data/sub/avm/lib/avm/sources/base/parent.rb +0 -31
  73. data/sub/avm/lib/avm/sources/base/subs.rb +0 -55
  74. data/sub/avm/lib/avm/sources/base/subs_paths.rb +0 -32
  75. data/sub/avm/lib/avm/sources/base/testing.rb +0 -27
  76. data/sub/avm/lib/avm/sources/base.rb +0 -53
  77. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +0 -26
  78. data/sub/avm/lib/avm/sources/configuration.rb +0 -59
  79. data/sub/avm/lib/avm/sources/tester.rb +0 -24
  80. data/sub/avm/lib/avm/sources/tests/builder.rb +0 -83
  81. data/sub/avm/lib/avm/sources/tests/performer.rb +0 -35
  82. data/sub/avm/lib/avm/sources/tests/result.rb +0 -15
  83. data/sub/avm/lib/avm/sources/tests/single.rb +0 -56
  84. data/sub/avm/lib/avm/sources/tests.rb +0 -11
  85. data/sub/avm/lib/avm/sources.rb +0 -9
  86. data/sub/avm/lib/avm/sync.rb +0 -94
  87. data/sub/avm/lib/avm/version.rb +0 -5
  88. data/sub/avm/lib/avm/version_number.rb +0 -45
  89. data/sub/avm/lib/avm.rb +0 -7
  90. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -7
  91. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -7
  92. data/sub/avm/spec/rubocop_spec.rb +0 -3
  93. data/sub/avm/spec/spec_helper.rb +0 -4
  94. data/sub/avm-eac_rails_base1/Gemfile +0 -5
  95. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +0 -21
  96. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/apache_host.rb +0 -17
  97. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instance.rb +0 -24
  98. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/bundle.rb +0 -26
  99. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/code_runner.rb +0 -26
  100. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/log.rb +0 -43
  101. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs/clear.rb +0 -26
  102. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/logs.rb +0 -18
  103. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/rails_server.rb +0 -32
  104. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler/systemd_unit.rb +0 -46
  105. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner/tasks_scheduler.rb +0 -17
  106. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner.rb +0 -12
  107. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +0 -27
  108. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -47
  109. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +0 -27
  110. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit/service.rb +0 -70
  111. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.rb +0 -29
  112. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/systemd_unit.rb +0 -57
  113. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +0 -7
  114. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1.rb +0 -9
  115. data/sub/avm-eac_rails_base1/spec/rubocop_spec.rb +0 -3
  116. data/sub/avm-eac_rails_base1/spec/spec_helper.rb +0 -4
  117. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/systemd_unit/tasks_scheduler.service +0 -12
  118. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/systemd_unit/tasks_scheduler_command.sh +0 -6
  119. data/sub/avm-eac_ruby_base1/Gemfile +0 -5
  120. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +0 -22
  121. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +0 -56
  122. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +0 -19
  123. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +0 -34
  124. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +0 -25
  125. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +0 -44
  126. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +0 -17
  127. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +0 -73
  128. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +0 -31
  129. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +0 -19
  130. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +0 -26
  131. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +0 -25
  132. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb +0 -11
  133. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +0 -31
  134. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +0 -17
  135. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +0 -41
  136. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +0 -55
  137. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +0 -39
  138. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +0 -39
  139. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +0 -23
  140. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +0 -55
  141. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +0 -76
  142. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +0 -19
  143. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners.rb +0 -13
  144. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tester.rb +0 -38
  145. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +0 -56
  146. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update.rb +0 -52
  147. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources.rb +0 -11
  148. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +0 -7
  149. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb +0 -9
  150. data/sub/avm-eac_ruby_base1/locale/en.yml +0 -8
  151. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +0 -8
  152. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +0 -7
  153. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +0 -192
  154. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +0 -300
  155. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +0 -245
  156. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +0 -355
  157. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +0 -7
  158. data/sub/avm-eac_ruby_base1/spec/rubocop_spec.rb +0 -3
  159. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +0 -4
  160. data/sub/eac_ruby_base0/Gemfile +0 -5
  161. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +0 -21
  162. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application.rb +0 -87
  163. data/sub/eac_ruby_base0/lib/eac_ruby_base0/application_xdg.rb +0 -34
  164. data/sub/eac_ruby_base0/lib/eac_ruby_base0/core_ext.rb +0 -5
  165. data/sub/eac_ruby_base0/lib/eac_ruby_base0/jobs_runner.rb +0 -31
  166. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class/jobs_runner.rb +0 -10
  167. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/class.rb +0 -4
  168. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object/runner_with.rb +0 -5
  169. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches/object.rb +0 -5
  170. data/sub/eac_ruby_base0/lib/eac_ruby_base0/patches.rb +0 -4
  171. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec/setup.rb +0 -14
  172. data/sub/eac_ruby_base0/lib/eac_ruby_base0/rspec.rb +0 -9
  173. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +0 -92
  174. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/confirmation.rb +0 -42
  175. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/filesystem_traverser.rb +0 -52
  176. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/input.rb +0 -36
  177. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with/output.rb +0 -58
  178. data/sub/eac_ruby_base0/lib/eac_ruby_base0/runner_with.rb +0 -9
  179. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +0 -5
  180. data/sub/eac_ruby_base0/lib/eac_ruby_base0.rb +0 -7
  181. data/sub/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/confirmation_spec.rb +0 -42
  182. data/sub/eac_ruby_base0/spec/lib/eac_ruby_base0/runner_with/output_spec.rb +0 -81
  183. data/sub/eac_ruby_base0/spec/rubocop_spec.rb +0 -3
  184. data/sub/eac_ruby_base0/spec/spec_helper.rb +0 -4
  185. data/sub/eac_ruby_gems_utils/Gemfile +0 -5
  186. data/sub/eac_ruby_gems_utils/LICENCE +0 -16
  187. data/sub/eac_ruby_gems_utils/README.rdoc +0 -3
  188. data/sub/eac_ruby_gems_utils/eac_ruby_gems_utils.gemspec +0 -31
  189. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/command.rb +0 -33
  190. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem/version_file.rb +0 -41
  191. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/gem.rb +0 -97
  192. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/base.rb +0 -57
  193. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/minitest.rb +0 -25
  194. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/decorated_gem.rb +0 -48
  195. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple/result.rb +0 -25
  196. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/multiple.rb +0 -84
  197. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests/rspec.rb +0 -21
  198. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/tests.rb +0 -9
  199. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils/version.rb +0 -5
  200. data/sub/eac_ruby_gems_utils/lib/eac_ruby_gems_utils.rb +0 -7
  201. data/sub/eac_ruby_gems_utils/spec/code/rubocop_check_spec.rb +0 -3
  202. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec.rb +0 -14
  203. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem/version_file_spec_files/a_version_file.rb +0 -7
  204. data/sub/eac_ruby_gems_utils/spec/lib/eac_ruby_gems_utils/gem_spec.rb +0 -20
  205. data/sub/eac_ruby_gems_utils/spec/spec_helper.rb +0 -4
  206. data/sub/eac_ruby_gems_utils/spec/support/mygem/Gemfile +0 -5
  207. data/sub/eac_ruby_gems_utils/spec/support/mygem/Gemfile.lock +0 -19
  208. data/sub/eac_ruby_gems_utils/spec/support/mygem/Rakefile +0 -14
  209. data/sub/eac_ruby_gems_utils/spec/support/mygem/exe/myrunner +0 -5
  210. data/sub/eac_ruby_gems_utils/spec/support/mygem/lib/mygem/version.rb +0 -5
  211. data/sub/eac_ruby_gems_utils/spec/support/mygem/lib/mygem.rb +0 -5
  212. data/sub/eac_ruby_gems_utils/spec/support/mygem/mygem.gemspec +0 -16
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/config'
4
- require 'eac_config/envvars_node'
5
- require 'eac_config/yaml_file_node'
6
- require 'eac_fs/contexts'
7
- require 'eac_fs/storage_tree'
8
- require 'eac_ruby_base0/application_xdg'
9
- require 'eac_ruby_gems_utils/gem'
10
- require 'eac_ruby_utils/core_ext'
11
-
12
- module EacRubyBase0
13
- class Application
14
- enable_simple_cache
15
- enable_listable
16
- lists.add_symbol :option, :name, :home_dir
17
-
18
- common_constructor :gemspec_dir, :options, default: [{}] do
19
- self.gemspec_dir = gemspec_dir.to_pathname
20
- self.options = options.symbolize_keys.assert_valid_keys(self.class.lists.option.values).freeze
21
- end
22
-
23
- delegate :version, to: :self_gem
24
-
25
- def all_gems
26
- sub_gems + [self_gem]
27
- end
28
-
29
- # @return [EacCli::Config]
30
- def build_config(path = nil)
31
- envvar_node = ::EacConfig::EnvvarsNode.new
32
- file_node = ::EacConfig::YamlFileNode.new(path || config_default_path)
33
- envvar_node.load_path.push(file_node.url)
34
- envvar_node.write_node = file_node
35
- ::EacCli::Config.new(envvar_node)
36
- end
37
-
38
- # @return [EacCli::Config]
39
- def config_default_path
40
- config_dir.join('eac_config.yaml')
41
- end
42
-
43
- ::EacRubyBase0::ApplicationXdg::DIRECTORIES.each_key do |item|
44
- delegate "#{item}_xdg_env", "#{item}_dir", to: :app_xdg
45
- end
46
-
47
- ::EacFs::Contexts::TYPES.each do |type|
48
- class_eval <<CODE, __FILE__, __LINE__ + 1
49
- # @return [EacFs::StorageTree]
50
- def self_fs_#{type}
51
- @self_fs_#{type} ||= ::EacFs::StorageTree.new(#{type}_dir.join('eac_fs'))
52
- end
53
- CODE
54
- end
55
-
56
- def home_dir
57
- app_xdg.user_home_dir
58
- end
59
-
60
- def name
61
- options[OPTION_NAME] || self_gem.name
62
- end
63
-
64
- def vendor_dir
65
- gemspec_dir.join('sub')
66
- end
67
-
68
- private
69
-
70
- def app_xdg_uncached
71
- ::EacRubyBase0::ApplicationXdg.new(name, options[OPTION_HOME_DIR])
72
- end
73
-
74
- def self_gem_uncached
75
- ::EacRubyGemsUtils::Gem.new(gemspec_dir)
76
- end
77
-
78
- def sub_gems_uncached
79
- r = []
80
- vendor_dir.children.each do |c|
81
- vgem = ::EacRubyGemsUtils::Gem.new(c)
82
- r << vgem if vgem.gemfile_path.exist?
83
- end
84
- r
85
- end
86
- end
87
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacRubyBase0
6
- # https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
7
- class ApplicationXdg
8
- class << self
9
- # @return [Pathname]
10
- def user_home_dir_from_env
11
- ENV.fetch('HOME').to_pathname
12
- end
13
- end
14
-
15
- DIRECTORIES = { cache: '.cache', config: '.config', data: '.local/share',
16
- state: '.local/state' }.freeze
17
-
18
- common_constructor :app_name, :user_home_dir, default: [nil] do
19
- self.user_home_dir ||= self.class.user_home_dir_from_env
20
- end
21
-
22
- DIRECTORIES.each do |item, subpath|
23
- xdg_env_method_name = "#{item}_xdg_env"
24
-
25
- define_method xdg_env_method_name do
26
- ENV["XDG_#{item.upcase}_HOME"].if_present(&:to_pathname)
27
- end
28
-
29
- define_method "#{item}_dir" do
30
- (send(xdg_env_method_name) || user_home_dir.join(subpath)).join(app_name)
31
- end
32
- end
33
- end
34
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
- require 'eac_fs/patches'
5
- require 'eac_ruby_base0/patches'
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_ruby_utils/settings_provider'
5
-
6
- module EacRubyBase0
7
- module JobsRunner
8
- common_concern do
9
- enable_speaker
10
- include ::EacRubyUtils::SettingsProvider
11
- end
12
-
13
- def run_job(job)
14
- return unless run_job?(job)
15
-
16
- infom "Running job \"#{job}\"..."
17
- send(job)
18
- end
19
-
20
- def run_job?(job)
21
- the_method = "run_#{job}?"
22
- respond_to?(the_method, true) ? send(the_method) : true
23
- end
24
-
25
- def run_jobs(*jobs)
26
- jobs = setting_value(:jobs) if jobs.empty?
27
- jobs.each { |job| run_job(job) }
28
- success 'Done'
29
- end
30
- end
31
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/jobs_runner'
4
- require 'eac_ruby_utils/patch'
5
-
6
- class Class
7
- def enable_jobs_runner
8
- ::EacRubyUtils.patch(self, ::EacRubyBase0::JobsRunner)
9
- end
10
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
- require 'eac_ruby_base0/runner_with'
5
- ::EacCli::RunnerWithSet.default.add_namespace(::EacRubyBase0::RunnerWith)
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Dir["#{File.dirname(__FILE__)}/#{::File.basename(__FILE__, '.*')}/*.rb"].sort.each do |path|
4
- require path
5
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/require_sub'
4
- ::EacRubyUtils.require_sub(__FILE__)
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacRubyBase0
6
- module Rspec
7
- module Setup
8
- def self.extended(obj)
9
- obj.disable_input_request
10
- obj.stub_eac_config_node
11
- end
12
- end
13
- end
14
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_exts'
4
-
5
- module EacRubyBase0
6
- module Rspec
7
- require_sub __FILE__
8
- end
9
- end
@@ -1,92 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/core_ext'
4
- require 'eac_cli/speaker'
5
- require 'eac_config/node'
6
- require 'eac_fs/contexts'
7
- require 'eac_ruby_utils/speaker'
8
-
9
- module EacRubyBase0
10
- module Runner
11
- enable_speaker
12
- common_concern do
13
- include ::EacCli::RunnerWith::Help
14
- include ::EacCli::RunnerWith::Subcommands
15
- runner_definition do
16
- bool_opt '-q', '--quiet', 'Quiet mode.'
17
- bool_opt '-I', '--no-input', 'Fail if a input is requested.'
18
- subcommands
19
- alt do
20
- bool_opt '-V', '--version', 'Show version.', usage: true, required: true
21
- end
22
- end
23
- end
24
-
25
- def run
26
- on_context do
27
- if parsed.version?
28
- show_version
29
- else
30
- run_with_subcommand
31
- end
32
- end
33
- end
34
-
35
- def application_version
36
- runner_context.call(:application).version.to_s
37
- end
38
-
39
- def on_context(&block)
40
- top_block = block
41
- available_contexts.each do |context|
42
- next if context.object.any?
43
-
44
- last_block = top_block
45
- top_block = ::Proc.new { context.object.on(context.builder.call, &last_block) }
46
- end
47
- top_block.call
48
- end
49
-
50
- def show_version
51
- out("#{application_version}\n")
52
- end
53
-
54
- class FailIfRequestInput
55
- enable_speaker
56
-
57
- %w[gets noecho].each do |method|
58
- define_method(method) do
59
- raise "Input method requested (\"#{method}\") and option --no-input is set"
60
- end
61
- end
62
- end
63
-
64
- private
65
-
66
- # @return [Array<EacRubyUtils::Struct>]
67
- def available_contexts
68
- (filesystem_available_contexts + [
69
- [:config, ::EacConfig::Node.context, -> { runner_context.call(:application).build_config }],
70
- [:speaker, ::EacRubyUtils::Speaker.context, -> { build_speaker }]
71
- ]).map { |row| available_context_row_to_struct(row) }
72
- end
73
-
74
- def available_context_row_to_struct(row)
75
- %i[type object builder].zip(row).to_h.to_struct
76
- end
77
-
78
- def build_speaker
79
- options = {}
80
- options[:err_out] = ::StringIO.new if parsed.quiet?
81
- options[:in_in] = FailIfRequestInput.new if parsed.no_input?
82
- ::EacCli::Speaker.new(options)
83
- end
84
-
85
- def filesystem_available_contexts
86
- ::EacFs::Contexts::TYPES.map do |type|
87
- key = "fs_#{type}".to_sym
88
- [key, ::EacFs::Contexts.send(type), -> { application.send("self_#{key}") }]
89
- end
90
- end
91
- end
92
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module EacRubyBase0
7
- module RunnerWith
8
- module Confirmation
9
- DEFAULT_CONFIRM_QUESTION_TEXT = 'Confirm?'
10
-
11
- common_concern do
12
- include ::EacCli::Runner
13
- enable_settings_provider
14
- enable_simple_cache
15
- runner_definition do
16
- bool_opt '--no', 'Deny confirmation without question.'
17
- bool_opt '--yes', 'Accept confirmation without question.'
18
- end
19
- end
20
-
21
- def confirm?(message = nil)
22
- return false if parsed.no?
23
- return true if parsed.yes?
24
-
25
- input(
26
- message || setting_value(:confirm_question_text, default: DEFAULT_CONFIRM_QUESTION_TEXT),
27
- bool: true
28
- )
29
- end
30
-
31
- def run_confirm(message = nil)
32
- yield if confirm?(message)
33
- end
34
-
35
- private
36
-
37
- def cached_confirm_uncached?(message = nil)
38
- confirm?(message)
39
- end
40
- end
41
- end
42
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_fs/traversable'
6
- require 'eac_ruby_utils/settings_provider'
7
-
8
- module EacRubyBase0
9
- module RunnerWith
10
- module FilesystemTraverser
11
- DEFAULT_DEFAULT_TRAVERSER_RECURSIVE = false
12
-
13
- common_concern do
14
- include ::EacCli::Runner
15
- include ::EacFs::Traversable
16
- enable_settings_provider
17
- include TopMethods
18
- runner_definition do
19
- bool_opt '-R', '--recursive', 'Recursive.'
20
- bool_opt '--no-recursive', 'No recursive.'
21
- pos_arg :paths, optional: true, repeat: true
22
- end
23
- end
24
-
25
- module TopMethods
26
- def on_none_path_informed
27
- infom 'Warning: none path informed'
28
- end
29
-
30
- def paths
31
- parsed.paths.map(&:to_pathname)
32
- end
33
-
34
- def run_filesystem_traverser
35
- if parsed.paths.any?
36
- parsed.paths.each { |path| traverser_check_path(path) }
37
- else
38
- on_none_path_informed
39
- end
40
- end
41
-
42
- def traverser_recursive
43
- return false if parsed.no_recursive?
44
- return true if parsed.recursive?
45
-
46
- setting_value(:default_traverser_recursive, required: false)
47
- .if_not_nil(DEFAULT_DEFAULT_TRAVERSER_RECURSIVE)
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/abstract_methods'
6
-
7
- module EacRubyBase0
8
- module RunnerWith
9
- module Input
10
- STDIN_OPTION = '-'
11
- BLANK_OPTION = '+'
12
- DEFAULT_DEFAULT_INPUT_OPTION = BLANK_OPTION
13
-
14
- common_concern do
15
- enable_settings_provider
16
- include ::EacCli::Runner
17
-
18
- runner_definition do
19
- arg_opt '-i', '--input', 'Input from file.'
20
- end
21
- end
22
-
23
- def input_content
24
- case input_option
25
- when STDIN_OPTION then $stdin.read
26
- when BLANK_OPTION then ''
27
- else input_option.to_pathname.read
28
- end
29
- end
30
-
31
- def input_option
32
- parsed.input || setting_value(:default_input_option, default: DEFAULT_DEFAULT_INPUT_OPTION)
33
- end
34
- end
35
- end
36
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/abstract_methods'
6
-
7
- module EacRubyBase0
8
- module RunnerWith
9
- module Output
10
- STDOUT_OPTION = '-'
11
- DEFAULT_FILE_OPTION = '+'
12
- DEFAULT_DEFAULT_OUTPUT_OPTION = STDOUT_OPTION
13
- DEFAULT_DEFAULT_FILE_TO_OUTPUT = 'output'
14
-
15
- common_concern do
16
- enable_abstract_methods
17
- enable_settings_provider
18
- include ::EacCli::Runner
19
-
20
- abstract_methods :output_content
21
-
22
- runner_definition do
23
- arg_opt '-o', '--output', 'Output to file.'
24
- end
25
- end
26
-
27
- def run_output
28
- file = file_to_output
29
- if file
30
- file.to_pathname.write(output_content)
31
- else
32
- $stdout.write(output_content)
33
- end
34
- end
35
-
36
- def output_option
37
- parsed.output || default_output_option_value
38
- end
39
-
40
- def file_to_output
41
- case output_option
42
- when STDOUT_OPTION then nil
43
- when DEFAULT_FILE_OPTION then default_file_to_output_value
44
- else output_option
45
- end
46
- end
47
-
48
- def default_output_option_value
49
- setting_value(:default_output_option,
50
- default: DEFAULT_DEFAULT_OUTPUT_OPTION)
51
- end
52
-
53
- def default_file_to_output_value
54
- setting_value(:default_file_to_output, default: DEFAULT_DEFAULT_FILE_TO_OUTPUT)
55
- end
56
- end
57
- end
58
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacRubyBase0
6
- module RunnerWith
7
- require_sub __FILE__
8
- end
9
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyBase0
4
- VERSION = '0.16.4'
5
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacRubyBase0
6
- require_sub __FILE__
7
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/runner_with/confirmation'
4
-
5
- ::RSpec.describe ::EacRubyBase0::RunnerWith::Confirmation do
6
- let(:runner) do
7
- the_module = described_class
8
- Class.new do
9
- include the_module
10
-
11
- runner_definition do
12
- desc 'A stub runner.'
13
- end
14
-
15
- def run
16
- if confirm?
17
- ::Kernel.puts 'Accepted'
18
- else
19
- ::Kernel.puts 'Denied'
20
- end
21
- end
22
- end
23
- end
24
-
25
- let(:instance) { runner.create(argv: runner_argv) }
26
-
27
- context 'without --no option' do
28
- let(:runner_argv) { %w[--no] }
29
-
30
- it do
31
- expect { instance.run }.to output("Denied\n").to_stdout_from_any_process
32
- end
33
- end
34
-
35
- context 'without --yes option' do
36
- let(:runner_argv) { %w[--yes] }
37
-
38
- it do
39
- expect { instance.run }.to output("Accepted\n").to_stdout_from_any_process
40
- end
41
- end
42
- end
@@ -1,81 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base0/runner_with/output'
4
- require 'eac_ruby_utils/fs/temp'
5
-
6
- RSpec.describe ::EacRubyBase0::RunnerWith::Output do
7
- let(:runner) do
8
- the_module = described_class
9
- Class.new do
10
- include the_module
11
-
12
- attr_accessor :temp_dir
13
-
14
- runner_definition do
15
- desc 'A stub root runner.'
16
- pos_arg :input_text
17
- end
18
-
19
- def run
20
- run_output
21
- end
22
-
23
- def output_content
24
- parsed.input_text
25
- end
26
-
27
- def default_file_to_output
28
- temp_dir.join('default_file')
29
- end
30
- end
31
- end
32
-
33
- let(:stub_text) { 'STUB_TEXT' }
34
- let(:instance) do
35
- r = runner.create(argv: runner_argv)
36
- r.temp_dir = temp_dir
37
- r
38
- end
39
- let(:temp_dir) { ::EacRubyUtils::Fs::Temp.directory }
40
-
41
- after { temp_dir.remove }
42
-
43
- context 'without --output option' do
44
- let(:runner_argv) { [stub_text] }
45
-
46
- it do
47
- expect { instance.run }.to output(stub_text).to_stdout_from_any_process
48
- end
49
- end
50
-
51
- context 'without --output option as to stdout' do
52
- let(:runner_argv) { ['--output', ::EacRubyBase0::RunnerWith::Output::STDOUT_OPTION, stub_text] }
53
-
54
- it do
55
- expect { instance.run }.to output(stub_text).to_stdout_from_any_process
56
- end
57
- end
58
-
59
- context 'without --output option as to default file' do
60
- let(:output_file) { temp_dir.join('default_file') }
61
- let(:runner_argv) do
62
- ['--output', ::EacRubyBase0::RunnerWith::Output::DEFAULT_FILE_OPTION,
63
- stub_text]
64
- end
65
-
66
- before { instance.run }
67
-
68
- it { expect(output_file).to exist }
69
- it { expect(output_file.read).to eq(stub_text) }
70
- end
71
-
72
- context 'with --output option' do
73
- let(:output_file) { temp_dir.join('a output file') }
74
- let(:runner_argv) { ['--output', output_file.to_path, stub_text] }
75
-
76
- before { instance.run }
77
-
78
- it { expect(output_file).to exist }
79
- it { expect(output_file.read).to eq(stub_text) }
80
- end
81
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ::EacRubyUtils::Rspec.default_setup.describe_rubocop
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/rspec/default_setup'
4
- ::EacRubyUtils::Rspec.default_setup_create(::File.expand_path('..', __dir__))
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec