eac_tools 0.75.2 → 0.76.1

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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +5 -5
  3. data/Gemfile.lock +69 -71
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm-eac_redmine_base0/Gemfile +2 -2
  6. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +8 -6
  7. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +9 -0
  8. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +1 -1
  9. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +2 -2
  10. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +1 -1
  11. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  12. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +3 -3
  13. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +1 -1
  14. data/sub/avm-eac_redmine_base0/spec/rubocop_spec.rb +1 -1
  15. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +2 -2
  16. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +3 -0
  17. data/sub/eac_cli/Gemfile +2 -2
  18. data/sub/eac_cli/eac_cli.gemspec +5 -3
  19. data/sub/eac_cli/lib/eac_cli/config.rb +0 -4
  20. data/sub/eac_cli/lib/eac_cli/core_ext.rb +1 -1
  21. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +24 -3
  22. data/sub/eac_cli/lib/eac_cli/definition.rb +1 -1
  23. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +1 -1
  24. data/sub/eac_cli/lib/eac_cli/parser/alternative/any_options.rb +19 -0
  25. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +1 -1
  26. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +1 -3
  27. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +0 -9
  28. data/sub/eac_cli/lib/eac_cli/parser.rb +1 -1
  29. data/sub/eac_cli/lib/eac_cli/patches/object.rb +1 -1
  30. data/sub/eac_cli/lib/eac_cli/patches.rb +1 -1
  31. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +1 -1
  32. data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +2 -2
  33. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +2 -1
  34. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +1 -1
  35. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +1 -1
  36. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +2 -2
  37. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +1 -0
  38. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +1 -1
  39. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +1 -1
  40. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +4 -4
  41. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +3 -3
  42. data/sub/eac_cli/lib/eac_cli/speaker.rb +2 -1
  43. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  44. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +2 -2
  45. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +1 -1
  46. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +10 -10
  47. data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +13 -13
  48. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +10 -10
  49. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation_spec.rb +3 -3
  50. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help/layout_spec.rb +1 -1
  51. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +3 -2
  52. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_spec.rb +6 -6
  53. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +6 -6
  54. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +1 -1
  55. data/sub/eac_cli/spec/rubocop_spec.rb +1 -1
  56. data/sub/eac_cli/spec/spec_helper.rb +1 -1
  57. data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +1 -1
  58. data/sub/eac_ruby_utils/lib/eac_ruby_utils/module_ancestors_variable.rb +1 -1
  59. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  60. metadata +10 -179
  61. data/sub/eac_envs-http/Gemfile +0 -8
  62. data/sub/eac_envs-http/eac_envs-http.gemspec +0 -25
  63. data/sub/eac_envs-http/lib/eac_envs/http/error.rb +0 -8
  64. data/sub/eac_envs-http/lib/eac_envs/http/request/body_field.rb +0 -51
  65. data/sub/eac_envs-http/lib/eac_envs/http/request/body_field_value.rb +0 -32
  66. data/sub/eac_envs-http/lib/eac_envs/http/request/body_fields.rb +0 -39
  67. data/sub/eac_envs-http/lib/eac_envs/http/request/faraday_connection.rb +0 -75
  68. data/sub/eac_envs-http/lib/eac_envs/http/request.rb +0 -58
  69. data/sub/eac_envs-http/lib/eac_envs/http/response/body.rb +0 -62
  70. data/sub/eac_envs-http/lib/eac_envs/http/response/headers.rb +0 -41
  71. data/sub/eac_envs-http/lib/eac_envs/http/response/links.rb +0 -28
  72. data/sub/eac_envs-http/lib/eac_envs/http/response/statuses.rb +0 -21
  73. data/sub/eac_envs-http/lib/eac_envs/http/response.rb +0 -30
  74. data/sub/eac_envs-http/lib/eac_envs/http/rspec/echo_server/request_processor.rb +0 -42
  75. data/sub/eac_envs-http/lib/eac_envs/http/rspec/echo_server/webrick_servlet.rb +0 -22
  76. data/sub/eac_envs-http/lib/eac_envs/http/rspec/echo_server.rb +0 -63
  77. data/sub/eac_envs-http/lib/eac_envs/http/rspec.rb +0 -11
  78. data/sub/eac_envs-http/lib/eac_envs/http/version.rb +0 -7
  79. data/sub/eac_envs-http/lib/eac_envs/http.rb +0 -9
  80. data/sub/eac_envs-http/spec/lib/eac_envs/http/request/body_fields_spec.rb +0 -47
  81. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec.rb +0 -68
  82. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get.source.yaml +0 -5
  83. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get.target.yaml +0 -9
  84. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get_with_auth.source.yaml +0 -8
  85. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/get_with_auth.target.yaml +0 -10
  86. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_array_body.source.yaml +0 -10
  87. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_array_body.target.yaml +0 -11
  88. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_string_body.source.yaml +0 -4
  89. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/post_string_body.target.yaml +0 -11
  90. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_hash_body.source.yaml +0 -6
  91. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_hash_body.target.yaml +0 -11
  92. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_with_file.source.yaml +0 -5
  93. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/put_with_file.target.yaml +0 -13
  94. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/root.source.yaml +0 -2
  95. data/sub/eac_envs-http/spec/lib/eac_envs/http/request_spec_files/root.target.yaml +0 -9
  96. data/sub/eac_envs-http/spec/rubocop_spec.rb +0 -3
  97. data/sub/eac_envs-http/spec/spec_helper/request_builder.rb +0 -62
  98. data/sub/eac_envs-http/spec/spec_helper.rb +0 -7
  99. data/sub/eac_fs/Gemfile +0 -8
  100. data/sub/eac_fs/eac_fs.gemspec +0 -20
  101. data/sub/eac_fs/lib/eac_fs/cached_download.rb +0 -40
  102. data/sub/eac_fs/lib/eac_fs/comparator/build.rb +0 -57
  103. data/sub/eac_fs/lib/eac_fs/comparator/rename_file.rb +0 -15
  104. data/sub/eac_fs/lib/eac_fs/comparator.rb +0 -18
  105. data/sub/eac_fs/lib/eac_fs/contexts.rb +0 -21
  106. data/sub/eac_fs/lib/eac_fs/core_ext.rb +0 -4
  107. data/sub/eac_fs/lib/eac_fs/file_info.rb +0 -29
  108. data/sub/eac_fs/lib/eac_fs/logs/file.rb +0 -56
  109. data/sub/eac_fs/lib/eac_fs/logs.rb +0 -64
  110. data/sub/eac_fs/lib/eac_fs/patches/module/fs_cache.rb +0 -15
  111. data/sub/eac_fs/lib/eac_fs/patches/module.rb +0 -4
  112. data/sub/eac_fs/lib/eac_fs/patches/object/fs_cache.rb +0 -32
  113. data/sub/eac_fs/lib/eac_fs/patches/object.rb +0 -4
  114. data/sub/eac_fs/lib/eac_fs/patches/pathname/info.rb +0 -12
  115. data/sub/eac_fs/lib/eac_fs/patches/pathname.rb +0 -4
  116. data/sub/eac_fs/lib/eac_fs/patches.rb +0 -4
  117. data/sub/eac_fs/lib/eac_fs/rspec/setup.rb +0 -25
  118. data/sub/eac_fs/lib/eac_fs/rspec.rb +0 -9
  119. data/sub/eac_fs/lib/eac_fs/storage_tree.rb +0 -81
  120. data/sub/eac_fs/lib/eac_fs/traversable.rb +0 -45
  121. data/sub/eac_fs/lib/eac_fs/traverser.rb +0 -76
  122. data/sub/eac_fs/lib/eac_fs/version.rb +0 -5
  123. data/sub/eac_fs/lib/eac_fs.rb +0 -7
  124. data/sub/eac_fs/spec/lib/eac_fs/storage_tree_spec.rb +0 -32
  125. data/sub/eac_fs/spec/rubocop_spec.rb +0 -3
  126. data/sub/eac_fs/spec/spec_helper.rb +0 -4
  127. data/sub/eac_rest/Gemfile +0 -8
  128. data/sub/eac_rest/eac_rest.gemspec +0 -21
  129. data/sub/eac_rest/lib/eac_rest/api.rb +0 -57
  130. data/sub/eac_rest/lib/eac_rest/entity/data.rb +0 -44
  131. data/sub/eac_rest/lib/eac_rest/entity/fetching.rb +0 -20
  132. data/sub/eac_rest/lib/eac_rest/entity.rb +0 -35
  133. data/sub/eac_rest/lib/eac_rest/error.rb +0 -6
  134. data/sub/eac_rest/lib/eac_rest/helper.rb +0 -34
  135. data/sub/eac_rest/lib/eac_rest/request.rb +0 -48
  136. data/sub/eac_rest/lib/eac_rest/response.rb +0 -27
  137. data/sub/eac_rest/lib/eac_rest/version.rb +0 -5
  138. data/sub/eac_rest/lib/eac_rest.rb +0 -7
  139. data/sub/eac_rest/spec/lib/eac_rest/api_spec.rb +0 -71
  140. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get.source.yaml +0 -5
  141. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get.target.yaml +0 -9
  142. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get_with_auth.source.yaml +0 -8
  143. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/get_with_auth.target.yaml +0 -10
  144. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_array_body.source.yaml +0 -10
  145. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_array_body.target.yaml +0 -11
  146. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_string_body.source.yaml +0 -4
  147. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/post_string_body.target.yaml +0 -11
  148. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_hash_body.source.yaml +0 -6
  149. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_hash_body.target.yaml +0 -11
  150. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_with_file.source.yaml +0 -5
  151. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/put_with_file.target.yaml +0 -13
  152. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/root.source.yaml +0 -2
  153. data/sub/eac_rest/spec/lib/eac_rest/api_spec_files/root.target.yaml +0 -9
  154. data/sub/eac_rest/spec/rubocop_spec.rb +0 -3
  155. data/sub/eac_rest/spec/spec_helper/request_builder.rb +0 -51
  156. data/sub/eac_rest/spec/spec_helper.rb +0 -7
  157. data/sub/eac_templates/Gemfile +0 -8
  158. data/sub/eac_templates/eac_templates.gemspec +0 -19
  159. data/sub/eac_templates/lib/eac_templates/abstract/directory.rb +0 -42
  160. data/sub/eac_templates/lib/eac_templates/abstract/file.rb +0 -25
  161. data/sub/eac_templates/lib/eac_templates/abstract/fs_object.rb +0 -94
  162. data/sub/eac_templates/lib/eac_templates/abstract/fs_object_by_pathname.rb +0 -13
  163. data/sub/eac_templates/lib/eac_templates/abstract/not_found_error.rb +0 -8
  164. data/sub/eac_templates/lib/eac_templates/core_ext.rb +0 -4
  165. data/sub/eac_templates/lib/eac_templates/interface_methods.rb +0 -12
  166. data/sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb +0 -17
  167. data/sub/eac_templates/lib/eac_templates/modules/ancestor/file.rb +0 -16
  168. data/sub/eac_templates/lib/eac_templates/modules/ancestor/fs_object.rb +0 -25
  169. data/sub/eac_templates/lib/eac_templates/modules/ancestor.rb +0 -51
  170. data/sub/eac_templates/lib/eac_templates/modules/base.rb +0 -35
  171. data/sub/eac_templates/lib/eac_templates/modules.rb +0 -9
  172. data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +0 -9
  173. data/sub/eac_templates/lib/eac_templates/patches/module/template.rb +0 -9
  174. data/sub/eac_templates/lib/eac_templates/patches/module.rb +0 -4
  175. data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +0 -9
  176. data/sub/eac_templates/lib/eac_templates/patches/object/template.rb +0 -9
  177. data/sub/eac_templates/lib/eac_templates/patches/object.rb +0 -4
  178. data/sub/eac_templates/lib/eac_templates/patches.rb +0 -4
  179. data/sub/eac_templates/lib/eac_templates/sources/directory.rb +0 -37
  180. data/sub/eac_templates/lib/eac_templates/sources/file.rb +0 -13
  181. data/sub/eac_templates/lib/eac_templates/sources/from_all_gems.rb +0 -4
  182. data/sub/eac_templates/lib/eac_templates/sources/from_gem.rb +0 -37
  183. data/sub/eac_templates/lib/eac_templates/sources/fs_object.rb +0 -53
  184. data/sub/eac_templates/lib/eac_templates/sources/internal_set.rb +0 -22
  185. data/sub/eac_templates/lib/eac_templates/sources/set.rb +0 -55
  186. data/sub/eac_templates/lib/eac_templates/sources/single.rb +0 -29
  187. data/sub/eac_templates/lib/eac_templates/sources.rb +0 -9
  188. data/sub/eac_templates/lib/eac_templates/variables/content.rb +0 -52
  189. data/sub/eac_templates/lib/eac_templates/variables/directory.rb +0 -49
  190. data/sub/eac_templates/lib/eac_templates/variables/file.rb +0 -26
  191. data/sub/eac_templates/lib/eac_templates/variables/fs_object.rb +0 -65
  192. data/sub/eac_templates/lib/eac_templates/variables/not_found_error.rb +0 -7
  193. data/sub/eac_templates/lib/eac_templates/variables/providers/base.rb +0 -23
  194. data/sub/eac_templates/lib/eac_templates/variables/providers/config_reader.rb +0 -29
  195. data/sub/eac_templates/lib/eac_templates/variables/providers/entries_reader.rb +0 -25
  196. data/sub/eac_templates/lib/eac_templates/variables/providers/generic.rb +0 -25
  197. data/sub/eac_templates/lib/eac_templates/variables/providers/hash.rb +0 -29
  198. data/sub/eac_templates/lib/eac_templates/variables/providers.rb +0 -25
  199. data/sub/eac_templates/lib/eac_templates/variables.rb +0 -9
  200. data/sub/eac_templates/lib/eac_templates/version.rb +0 -5
  201. data/sub/eac_templates/lib/eac_templates.rb +0 -7
  202. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec.rb +0 -141
  203. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path1/a_module/a/a_a +0 -1
  204. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path1/a_module/b +0 -1
  205. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path1/super_class/a/a_b +0 -1
  206. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path1/super_class/b +0 -1
  207. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/a_module/a/a_b +0 -1
  208. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/a_module/b +0 -1
  209. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/a_module/c +0 -1
  210. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/prepended_module/c +0 -1
  211. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/sub_class/b +0 -1
  212. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/super_class/a/a_b +0 -1
  213. data/sub/eac_templates/spec/lib/eac_templates/modules/base_spec_files/path2/super_class/b +0 -1
  214. data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec.rb +0 -26
  215. data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec_files/path/my_stub_with_template +0 -1
  216. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec.rb +0 -42
  217. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file1.template +0 -1
  218. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file2 +0 -1
  219. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path2/subdir1/file3.template +0 -1
  220. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec.rb +0 -35
  221. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/expected_content +0 -2
  222. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/source.template +0 -2
  223. data/sub/eac_templates/spec/rubocop_spec.rb +0 -3
  224. data/sub/eac_templates/spec/spec_helper.rb +0 -4
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/abstract/not_found_error'
4
- require 'eac_templates/abstract/directory'
5
- require 'eac_templates/variables/file'
6
- require 'eac_templates/variables/fs_object'
7
-
8
- module EacTemplates
9
- module Variables
10
- class Directory
11
- common_constructor :abstract_directory do
12
- self.abstract_directory = ::EacTemplates::Abstract::Directory.assert(abstract_directory)
13
- end
14
- delegate :path, to: :abstract_directory
15
-
16
- def apply(variables_source, directory)
17
- ::EacTemplates::Variables::FsObject.new(self, '.', directory, variables_source).apply
18
- end
19
-
20
- def child(subpath)
21
- child_path = ::File.join(path, subpath)
22
- return ::EacTemplates::Variables::File.new(child_path) if ::File.file?(child_path)
23
- return ::EacTemplates::Variables::Directory.new(child_path) if ::File.directory?(child_path)
24
-
25
- raise ::EacTemplates::Abstract::NotFoundError,
26
- "Child \"#{subpath}\" from \"#{path}\" not found"
27
- end
28
-
29
- def children
30
- path.children.map do |path_child|
31
- child(path_child.basename.to_path)
32
- end
33
- end
34
-
35
- private
36
-
37
- def apply_fs_object(source_relative, target)
38
- if ::File.directory?(source_absolute(source_relative))
39
- apply_directory(source_relative, target)
40
- elsif ::File.file?(source_absolute(source_relative))
41
- end
42
- end
43
-
44
- def source_absolute(source_relative)
45
- ::File.expand_path(source_relative, path)
46
- end
47
- end
48
- end
49
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'eac_templates/abstract/file'
5
- require 'eac_templates/variables/content'
6
- require 'eac_templates/variables/providers'
7
-
8
- module EacTemplates
9
- module Variables
10
- class File
11
- enable_simple_cache
12
- common_constructor :abstract_file do
13
- self.abstract_file = ::EacTemplates::Abstract::File.assert(abstract_file)
14
- end
15
- delegate :path, to: :abstract_file
16
- delegate :apply, :apply_to_file, :content, :variables, to: :content_applier
17
-
18
- private
19
-
20
- # @return [EacTemplates::Variables::Content]
21
- def content_applier_uncached
22
- ::EacTemplates::Variables::Content.from_file(path)
23
- end
24
- end
25
- end
26
- end
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/variables/file'
4
-
5
- module EacTemplates
6
- module Variables
7
- class FsObject
8
- TEMPLATE_EXTNAME = '.template'
9
-
10
- common_constructor :source_directory, :source_relative, :target_root_directory,
11
- :variables_source
12
-
13
- def apply
14
- if file?
15
- apply_file
16
- elsif directory?
17
- apply_directory
18
- else
19
- raise "Unknown filesystem type: #{source_absolute}"
20
- end
21
- end
22
-
23
- private
24
-
25
- def apply_directory
26
- ::FileUtils.mkdir_p(target_absolute)
27
- Dir.entries(source_absolute).each do |entry|
28
- child(entry).apply unless %w[. ..].include?(entry)
29
- end
30
- end
31
-
32
- def apply_file
33
- if ::File.extname(source_absolute) == TEMPLATE_EXTNAME
34
- ::EacTemplates::Variables::File.new(source_absolute).apply_to_file(
35
- variables_source, target_absolute
36
- )
37
- else
38
- ::FileUtils.cp(source_absolute, target_absolute)
39
- end
40
- end
41
-
42
- def child(entry)
43
- self.class.new(source_directory, ::File.join(source_relative, entry),
44
- target_root_directory, variables_source)
45
- end
46
-
47
- def file?
48
- ::File.file?(source_absolute)
49
- end
50
-
51
- def directory?
52
- ::File.directory?(source_absolute)
53
- end
54
-
55
- def source_absolute
56
- ::File.expand_path(source_relative, source_directory.path)
57
- end
58
-
59
- def target_absolute
60
- ::File.expand_path(source_relative, target_root_directory)
61
- .gsub(/#{::Regexp.quote(TEMPLATE_EXTNAME)}\z/, '')
62
- end
63
- end
64
- end
65
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacTemplates
4
- module Variables
5
- class NotFoundError < StandardError; end
6
- end
7
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/variables/not_found_error'
4
-
5
- module EacTemplates
6
- module Variables
7
- module Providers
8
- class Base
9
- attr_reader :source
10
-
11
- def initialize(source)
12
- @source = source
13
- end
14
-
15
- def variable_value(name)
16
- return variable_fetch(name) if variable_exist?(name)
17
-
18
- raise VariableNotFoundError, "Variable \"#{name}\" not found in #{source}"
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_config/node'
4
- require 'eac_templates/variables/providers/base'
5
-
6
- module EacTemplates
7
- module Variables
8
- module Providers
9
- class ConfigReader < ::EacTemplates::Variables::Providers::Base
10
- class << self
11
- def accept?(variables_source)
12
- return false unless variables_source.respond_to?(:entry)
13
-
14
- entry = variables_source.entry(:any_value)
15
- entry.respond_to?(:value) && entry.respond_to?(:found?)
16
- end
17
- end
18
-
19
- def variable_exist?(name)
20
- source.entry(name).found?
21
- end
22
-
23
- def variable_fetch(name)
24
- source.entry(name).value
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/variables/providers/base'
4
-
5
- module EacTemplates
6
- module Variables
7
- module Providers
8
- class EntriesReader < ::EacTemplates::Variables::Providers::Base
9
- class << self
10
- def accept?(variables_source)
11
- variables_source.respond_to?(:read_entry)
12
- end
13
- end
14
-
15
- def variable_exist?(_name)
16
- true
17
- end
18
-
19
- def variable_fetch(name)
20
- source.read_entry(name)
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/variables/providers/base'
4
-
5
- module EacTemplates
6
- module Variables
7
- module Providers
8
- class Generic < ::EacTemplates::Variables::Providers::Base
9
- class << self
10
- def accept?(variables_source)
11
- variables_source.is_a?(::Object)
12
- end
13
- end
14
-
15
- def variable_exist?(name)
16
- source.respond_to?(name)
17
- end
18
-
19
- def variable_fetch(name)
20
- source.send(name)
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/variables/providers/base'
4
-
5
- module EacTemplates
6
- module Variables
7
- module Providers
8
- class Hash < ::EacTemplates::Variables::Providers::Base
9
- class << self
10
- def accept?(variables_source)
11
- variables_source.is_a?(::Hash)
12
- end
13
- end
14
-
15
- def initialize(source)
16
- super(source.with_indifferent_access)
17
- end
18
-
19
- def variable_exist?(name)
20
- source.key?(name)
21
- end
22
-
23
- def variable_fetch(name)
24
- source.fetch(name)
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacTemplates
6
- module Variables
7
- module Providers
8
- require_sub __FILE__
9
-
10
- PROVIDERS = %w[config_reader entries_reader hash generic].map do |name|
11
- "eac_templates/variables/providers/#{name}".camelize.constantize
12
- end
13
-
14
- class << self
15
- def build(variables_source)
16
- PROVIDERS.each do |provider|
17
- return provider.new(variables_source) if provider.accept?(variables_source)
18
- end
19
-
20
- raise "Variables provider not found for #{variables_source}"
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacTemplates
6
- module Variables
7
- require_sub __FILE__
8
- end
9
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacTemplates
4
- VERSION = '0.5.0'
5
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacTemplates
6
- require_sub __FILE__
7
- end
@@ -1,141 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/modules/base'
4
- require 'eac_templates/abstract/not_found_error'
5
- require 'eac_templates/sources/set'
6
-
7
- RSpec.describe ::EacTemplates::Modules::Base do
8
- def self.on_node_specs(node_name, &block)
9
- context "when object is \"#{node_name}\"" do # rubocop:disable RSpec/EmptyExampleGroup
10
- let(:node) { send(node_name) }
11
-
12
- instance_eval(&block)
13
- end
14
- end
15
-
16
- def self.dir_specs(node_name, expected_children)
17
- on_node_specs(node_name) do
18
- it do
19
- expect(node.children.map { |child| child.path.basename.to_path }).to(
20
- eq(expected_children)
21
- )
22
- end
23
- end
24
- end
25
-
26
- def self.file_specs_ok(node_name, expected_content, expected_apply, # rubocop:disable Metrics/AbcSize
27
- expected_variables)
28
- on_node_specs(node_name) do
29
- it { expect(node.content).to eq(expected_content) }
30
- it { expect(node.variables).to eq(::Set.new(expected_variables)) }
31
- it { expect(node.apply(variables_source)).to eq(expected_apply) }
32
-
33
- it do
34
- target_file = temp_file
35
- node.apply_to_file(variables_source, target_file)
36
- expect(target_file.read).to eq(expected_apply)
37
- end
38
- end
39
- end
40
-
41
- def self.file_specs_error(node_name)
42
- on_node_specs(node_name) do
43
- it do
44
- expect { node }.to raise_error(::EacTemplates::Abstract::NotFoundError)
45
- end
46
- end
47
- end
48
-
49
- let(:a_module) do
50
- ::Module.new do
51
- def self.name
52
- 'AModule'
53
- end
54
- end
55
- end
56
- let(:super_class) do
57
- r = ::Class.new do
58
- def self.name
59
- 'SuperClass'
60
- end
61
- end
62
- r.include a_module
63
- r
64
- end
65
- let(:prepended_module) do
66
- ::Module.new do
67
- def self.name
68
- 'PrependedModule'
69
- end
70
- end
71
- end
72
- let(:sub_class) do
73
- r = ::Class.new(super_class) do
74
- def self.name
75
- 'SuperClass'
76
- end
77
- end
78
- r.prepend(prepended_module)
79
- r
80
- end
81
- let(:files_dir) { __dir__.to_pathname.join('base_spec_files') }
82
- let(:variables_source) { { vx: '_X_', vy: '_Y_' } }
83
- let(:source_set) do
84
- r = ::EacTemplates::Sources::Set.new
85
- %w[path1 path2].each do |sub|
86
- r.included_paths << files_dir.join(sub)
87
- end
88
- r
89
- end
90
-
91
- let(:a) { instance.child('a') }
92
- let(:a_a) { a.child('a_a') }
93
- let(:a_b) { a.child('a_b') }
94
- let(:a_c) { a.child('a_c') }
95
- let(:b) { instance.child('b') }
96
- let(:c) { instance.child('c') }
97
-
98
- context 'when module is AModule' do # rubocop:disable RSpec/EmptyExampleGroup
99
- let(:instance) { described_class.new(a_module, source_set: source_set) }
100
-
101
- dir_specs(:a, %w[a_a a_b])
102
- file_specs_ok(:a_a, "A_MODULE_A_A\n", "A_MODULE_A_A\n", [])
103
- file_specs_ok(:a_b, "A_MODULE_A_B\n", "A_MODULE_A_B\n", [])
104
- file_specs_error(:a_c)
105
- file_specs_ok(:b, "A_MODULE_B%%vy%%\n", "A_MODULE_B_Y_\n", %w[vy])
106
- file_specs_ok(:c, "A_MODULE_C%%vx%%\n", "A_MODULE_C_X_\n", %w[vx])
107
- end
108
-
109
- context 'when module is SuperClass' do # rubocop:disable RSpec/EmptyExampleGroup
110
- let(:instance) { described_class.new(super_class, source_set: source_set) }
111
-
112
- dir_specs(:a, %w[a_b])
113
- file_specs_error(:a_a)
114
- file_specs_ok(:a_b, "SUPER_CLASS_A_B\n", "SUPER_CLASS_A_B\n", [])
115
- file_specs_error(:a_c)
116
- file_specs_ok(:b, "SUPER_CLASS_B\n", "SUPER_CLASS_B\n", [])
117
- file_specs_error(:c)
118
- end
119
-
120
- context 'when module is SubClass' do # rubocop:disable RSpec/EmptyExampleGroup
121
- let(:instance) { described_class.new(sub_class, source_set: source_set) }
122
-
123
- dir_specs(:a, %w[a_b])
124
- file_specs_error(:a_a)
125
- file_specs_ok(:a_b, "SUPER_CLASS_A_B\n", "SUPER_CLASS_A_B\n", [])
126
- file_specs_error(:a_c)
127
- file_specs_ok(:b, "SUPER_CLASS_B\n", "SUPER_CLASS_B\n", [])
128
- file_specs_error(:c)
129
- end
130
-
131
- context 'when module is PrependedModule' do # rubocop:disable RSpec/EmptyExampleGroup
132
- let(:instance) { described_class.new(prepended_module, source_set: source_set) }
133
-
134
- file_specs_error(:a)
135
- file_specs_error(:a_a)
136
- file_specs_error(:a_b)
137
- file_specs_error(:a_c)
138
- file_specs_error(:b)
139
- file_specs_ok(:c, "PREPENDED_MODULE_C%%vy%%%%vx%%\n", "PREPENDED_MODULE_C_Y__X_\n", %w[vy vx])
140
- end
141
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/interface_methods'
4
- require 'eac_templates/patches/object/template'
5
-
6
- RSpec.describe ::Object do
7
- class MyStubWithTemplate # rubocop:disable RSpec/LeakyConstantDeclaration
8
- end
9
-
10
- let(:instance) { ::MyStubWithTemplate.new }
11
- let(:templates_path) { ::File.join(__dir__, 'template_spec_files', 'path') }
12
-
13
- before do
14
- ::EacTemplates::Sources::Set.default.included_paths.add(templates_path)
15
- end
16
-
17
- after do
18
- ::EacTemplates::Sources::Set.default.included_paths.delete(templates_path)
19
- end
20
-
21
- describe '#template' do
22
- ::EacTemplates::InterfaceMethods::FILE.each do |method_name|
23
- it { expect(instance.template).to respond_to(method_name) }
24
- end
25
- end
26
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_templates/interface_methods'
4
- require 'eac_templates/sources/set'
5
-
6
- RSpec.describe ::EacTemplates::Sources::Set do
7
- let(:files_dir) { ::File.join(__dir__, 'set_spec_files') }
8
- let(:instance) do
9
- r = described_class.new
10
- r.included_paths << ::File.join(files_dir, 'path1')
11
- r.included_paths << ::File.join(files_dir, 'path2')
12
- r
13
- end
14
-
15
- describe '#template' do
16
- {
17
- 'subdir1' => :directory,
18
- 'subdir1/file1.template' => :file,
19
- 'subdir1/file2' => :file,
20
- 'subdir1/file3.template' => :file,
21
- 'does_not_exist' => :nil
22
- }.each do |subpath, type|
23
- context "when subpath is \"#{subpath}\"" do
24
- let(:result) { instance.template(subpath, false) }
25
-
26
- case type
27
- when :nil
28
- it { expect(result).to be_nil }
29
- when :directory
30
- ::EacTemplates::InterfaceMethods::DIRECTORY.each do |method_name|
31
- it { expect(result).to respond_to(method_name) } # rubocop:disable RSpec/RepeatedExample
32
- end
33
- when :file
34
- ::EacTemplates::InterfaceMethods::FILE.each do |method_name|
35
- it { expect(result).to respond_to(method_name) } # rubocop:disable RSpec/RepeatedExample
36
- end
37
- else ibr
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_config/old_configs'
4
- require 'eac_templates/variables/file'
5
-
6
- RSpec.describe ::EacTemplates::Variables::Content do
7
- let(:files_dir) { ::File.join(__dir__, 'content_spec_files').to_pathname }
8
- let(:source_path) { files_dir.join('source.template') }
9
- let(:instance) { described_class.from_file(source_path) }
10
- let(:expected_content) { ::File.read(::File.join(files_dir, 'expected_content')) }
11
-
12
- describe '#apply' do
13
- context 'when config is a hash' do
14
- let(:config) { { name: 'Fulano de Tal', age: 33 } }
15
-
16
- it { expect(instance.apply(config)).to eq(expected_content) }
17
- end
18
-
19
- context 'when config responds to read_entry' do
20
- let(:config) { ::EacConfig::OldConfigs.new('rspec_describe_eac_ruby_utils_templates_file') }
21
-
22
- before do
23
- config.clear
24
- config['name'] = 'Fulano de Tal'
25
- config['age'] = '33'
26
- end
27
-
28
- it { expect(instance.apply(config)).to eq(expected_content) }
29
- end
30
- end
31
-
32
- describe '#variables' do
33
- it { expect(instance.variables).to eq(::Set.new(%w[name age])) }
34
- end
35
- 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__))