eac_tools 0.60.2 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +34 -29
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +1 -1
  5. data/sub/avm/lib/avm/version.rb +1 -1
  6. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +1 -1
  7. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +16 -4
  8. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +23 -1
  9. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +21 -0
  10. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +55 -0
  11. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +63 -0
  12. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +35 -0
  13. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +21 -0
  14. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +13 -0
  15. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +5 -1
  16. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +1 -1
  17. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -2
  18. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +2 -2
  19. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  20. data/sub/avm-eac_ubuntu_base0/Gemfile +3 -0
  21. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +1 -1
  22. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +1 -1
  23. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  24. data/sub/avm-files/avm-files.gemspec +5 -5
  25. data/sub/avm-files/lib/avm/files/appendable/templatized_directory.rb +2 -2
  26. data/sub/avm-files/lib/avm/files/version.rb +1 -1
  27. data/sub/eac_templates/Gemfile +8 -0
  28. data/sub/eac_templates/eac_templates.gemspec +19 -0
  29. data/sub/eac_templates/lib/eac_templates/core_ext.rb +4 -0
  30. data/sub/eac_templates/lib/eac_templates/interface_methods.rb +12 -0
  31. data/sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb +15 -0
  32. data/sub/eac_templates/lib/eac_templates/modules/ancestor/file.rb +15 -0
  33. data/sub/eac_templates/lib/eac_templates/modules/ancestor/fs_object.rb +32 -0
  34. data/sub/eac_templates/lib/eac_templates/modules/ancestor.rb +48 -0
  35. data/sub/eac_templates/lib/eac_templates/modules/base.rb +35 -0
  36. data/sub/eac_templates/lib/eac_templates/modules.rb +9 -0
  37. data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +9 -0
  38. data/sub/eac_templates/lib/eac_templates/patches/module/template.rb +9 -0
  39. data/sub/eac_templates/lib/eac_templates/patches/module.rb +4 -0
  40. data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +9 -0
  41. data/sub/eac_templates/lib/eac_templates/patches/object/template.rb +9 -0
  42. data/sub/eac_templates/lib/eac_templates/patches/object.rb +4 -0
  43. data/sub/eac_templates/lib/eac_templates/patches.rb +4 -0
  44. data/sub/eac_templates/lib/eac_templates/sources/directory.rb +24 -0
  45. data/sub/eac_templates/lib/eac_templates/sources/file.rb +24 -0
  46. data/sub/eac_templates/lib/eac_templates/sources/from_all_gems.rb +4 -0
  47. data/sub/eac_templates/lib/eac_templates/sources/from_gem.rb +37 -0
  48. data/sub/eac_templates/lib/eac_templates/sources/fs_object.rb +53 -0
  49. data/sub/eac_templates/lib/eac_templates/sources/internal_set.rb +22 -0
  50. data/sub/eac_templates/lib/eac_templates/sources/set.rb +54 -0
  51. data/sub/eac_templates/lib/eac_templates/sources/single.rb +29 -0
  52. data/sub/eac_templates/lib/eac_templates/sources.rb +9 -0
  53. data/sub/eac_templates/lib/eac_templates/variables/directory.rb +47 -0
  54. data/sub/eac_templates/lib/eac_templates/variables/file.rb +50 -0
  55. data/sub/eac_templates/lib/eac_templates/variables/fs_object.rb +65 -0
  56. data/sub/eac_templates/lib/eac_templates/variables/not_found_error.rb +7 -0
  57. data/sub/eac_templates/lib/eac_templates/variables/providers/base.rb +23 -0
  58. data/sub/eac_templates/lib/eac_templates/variables/providers/config_reader.rb +29 -0
  59. data/sub/eac_templates/lib/eac_templates/variables/providers/entries_reader.rb +25 -0
  60. data/sub/eac_templates/lib/eac_templates/variables/providers/generic.rb +25 -0
  61. data/sub/eac_templates/lib/eac_templates/variables/providers/hash.rb +29 -0
  62. data/sub/eac_templates/lib/eac_templates/variables/providers.rb +25 -0
  63. data/sub/eac_templates/lib/eac_templates/variables.rb +9 -0
  64. data/sub/eac_templates/lib/eac_templates/version.rb +5 -0
  65. data/sub/eac_templates/lib/eac_templates.rb +7 -0
  66. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec.rb +120 -0
  67. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path1/a_module/a/a_a +1 -0
  68. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path1/a_module/b +1 -0
  69. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path1/super_class/a/a_b +1 -0
  70. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path1/super_class/b +1 -0
  71. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/a_module/a/a_b +1 -0
  72. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/a_module/b +1 -0
  73. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/a_module/c +1 -0
  74. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/sub_class/b +1 -0
  75. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/super_class/a/a_b +1 -0
  76. data/sub/eac_templates/spec/lib/eac_templates/patches/module/template_spec_files/path2/super_class/b +1 -0
  77. data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec.rb +26 -0
  78. data/sub/eac_templates/spec/lib/eac_templates/patches/object/template_spec_files/path/my_stub_with_template +1 -0
  79. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec.rb +42 -0
  80. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file1.template +1 -0
  81. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file2 +1 -0
  82. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path2/subdir1/file3.template +1 -0
  83. data/sub/eac_templates/spec/lib/eac_templates/variables/file_spec.rb +35 -0
  84. data/sub/eac_templates/spec/lib/eac_templates/variables/file_spec_files/expected_content +2 -0
  85. data/sub/eac_templates/spec/lib/eac_templates/variables/file_spec_files/source.template +2 -0
  86. data/sub/eac_templates/spec/rubocop_spec.rb +3 -0
  87. data/sub/eac_templates/spec/spec_helper.rb +4 -0
  88. metadata +79 -14
  89. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/breadcrumbs_macro_value.rb +0 -59
  90. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/child_docs_macro_value.rb +0 -49
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cea9f60c673884523dc9facce73368d7f9de5308a57e31da5a50a343a58fbeaa
4
- data.tar.gz: 799fbec7b964b8453d66c77c75181d20f24149b38e2dc9bc6a8e007f62b8e474
3
+ metadata.gz: 88b13d61ea11ac15cc3677a1cf5ec17f1381f8f87ab25074f8cf7be2804e0679
4
+ data.tar.gz: 4432b02f679cabc7aa8ac455599e2bdfa653a02c973a05f02315a7992b50665e
5
5
  SHA512:
6
- metadata.gz: 46f50888ff1612d6636f6e68d3132c202b40f01334638ef2ea1aa921425c530ae677f365bedad0b09178094e2033c4844ec8489bc83eeaf92622dc69dbe5533b
7
- data.tar.gz: db1a4bc114d5870ed7ad1f3034d79d6c069e8c72b44e6915a71198675cd7ee9435fe3851d294130426b3c4c215854809930f6b288bd8e9ed6b059de23b7e05b5
6
+ metadata.gz: 0e4a6b279e9e1ee080a4fdf0f390187330bf84b36b022816cb807fa2274bf338c7c894587bd2938f9d71b72b45da42d2df6de2609ef9c783a42a4d063642685a
7
+ data.tar.gz: 2731fdeb08a1110cabba28cab3ccc98a60d8530e5d8a16c08a91459524952c98cccf7550cbcb6f21ccfcbdff8917c083d4911418ad91d6dc843e6e9f02fff58f
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.60.2)
5
- avm (~> 0.67)
6
- avm-eac_asciidoctor_base0 (~> 0.18, >= 0.18.1)
4
+ eac_tools (0.61.0)
5
+ avm (~> 0.67, >= 0.67.1)
6
+ avm-eac_asciidoctor_base0 (~> 0.19)
7
7
  avm-eac_generic_base0 (~> 0.12)
8
8
  avm-eac_latex_base0 (~> 0.3, >= 0.3.1)
9
9
  avm-eac_php_base0 (~> 0.4, >= 0.4.2)
@@ -13,7 +13,7 @@ PATH
13
13
  avm-eac_rails_base1 (~> 0.8, >= 0.8.3)
14
14
  avm-eac_redmine_base0 (~> 0.19, >= 0.19.2)
15
15
  avm-eac_redmine_plugin_base0 (~> 0.4)
16
- avm-eac_ruby_base1 (~> 0.30, >= 0.30.1)
16
+ avm-eac_ruby_base1 (~> 0.30, >= 0.30.2)
17
17
  avm-eac_webapp_base0 (~> 0.15)
18
18
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.1)
19
19
  avm-git (~> 0.13, >= 0.13.1)
@@ -34,7 +34,7 @@ PATH
34
34
  PATH
35
35
  remote: sub/avm-eac_asciidoctor_base0
36
36
  specs:
37
- avm-eac_asciidoctor_base0 (0.18.1)
37
+ avm-eac_asciidoctor_base0 (0.19.0)
38
38
  asciidoctor (~> 2.0, >= 2.0.18)
39
39
  avm-eac_webapp_base0 (~> 0.15)
40
40
  eac_ruby_utils (~> 0.112)
@@ -117,17 +117,17 @@ PATH
117
117
  PATH
118
118
  remote: sub/avm-eac_ruby_base1
119
119
  specs:
120
- avm-eac_ruby_base1 (0.30.1)
121
- aranha-parsers (~> 0.17)
122
- avm (~> 0.66, >= 0.66.1)
120
+ avm-eac_ruby_base1 (0.30.2)
121
+ aranha-parsers (~> 0.17, >= 0.17.1)
122
+ avm (~> 0.67, >= 0.67.1)
123
123
  avm-eac_generic_base0 (~> 0.12)
124
124
  eac_ruby_utils (~> 0.112)
125
125
 
126
126
  PATH
127
127
  remote: sub/avm-eac_ubuntu_base0
128
128
  specs:
129
- avm-eac_ubuntu_base0 (0.4.1)
130
- avm (~> 0.64)
129
+ avm-eac_ubuntu_base0 (0.4.2)
130
+ avm (~> 0.67, >= 0.67.1)
131
131
  eac_ruby_utils (~> 0.112)
132
132
  eac_templates (~> 0.3, >= 0.3.2)
133
133
 
@@ -153,12 +153,12 @@ PATH
153
153
  PATH
154
154
  remote: sub/avm-files
155
155
  specs:
156
- avm-files (0.6.0)
157
- avm (~> 0.52)
158
- eac_cli (~> 0.28)
159
- eac_fs (~> 0.12, >= 0.12.3)
160
- eac_ruby_utils (~> 0.106)
161
- eac_templates (~> 0.3, >= 0.3.2)
156
+ avm-files (0.6.1)
157
+ avm (~> 0.67, >= 0.67.1)
158
+ eac_cli (~> 0.30, >= 0.30.1)
159
+ eac_fs (~> 0.16)
160
+ eac_ruby_utils (~> 0.112)
161
+ eac_templates (~> 0.4)
162
162
 
163
163
  PATH
164
164
  remote: sub/avm-git
@@ -191,7 +191,7 @@ PATH
191
191
  PATH
192
192
  remote: sub/avm
193
193
  specs:
194
- avm (0.67.0)
194
+ avm (0.67.1)
195
195
  aranha-parsers (~> 0.17, >= 0.17.1)
196
196
  eac_cli (~> 0.30, >= 0.30.1)
197
197
  eac_config (~> 0.12)
@@ -199,7 +199,7 @@ PATH
199
199
  eac_fs (~> 0.16)
200
200
  eac_git (~> 0.14, >= 0.14.1)
201
201
  eac_ruby_utils (~> 0.112)
202
- eac_templates (~> 0.3, >= 0.3.2)
202
+ eac_templates (~> 0.4)
203
203
  filesize (~> 0.2)
204
204
  htmlbeautifier (~> 1.4, >= 1.4.2)
205
205
  minitar (~> 0.9)
@@ -260,6 +260,13 @@ PATH
260
260
  filesize (~> 0.2)
261
261
  net-ssh (~> 4.2)
262
262
 
263
+ PATH
264
+ remote: sub/eac_templates
265
+ specs:
266
+ eac_templates (0.4.0)
267
+ eac_config (~> 0.12)
268
+ eac_ruby_utils (~> 0.112)
269
+
263
270
  GEM
264
271
  remote: https://rubygems.org/
265
272
  specs:
@@ -280,7 +287,7 @@ GEM
280
287
  parslet (~> 2.0)
281
288
  curb (0.9.11)
282
289
  diff-lcs (1.5.0)
283
- eac_envs-http (0.3.0)
290
+ eac_envs-http (0.3.1)
284
291
  eac_fs (~> 0.16)
285
292
  eac_ruby_utils (~> 0.112)
286
293
  faraday (~> 2.7, >= 2.7.4)
@@ -288,8 +295,8 @@ GEM
288
295
  faraday-gzip (~> 0.1)
289
296
  faraday-multipart (~> 1.0, >= 1.0.4)
290
297
  faraday-retry (~> 2.1)
291
- eac_rest (0.7.3)
292
- eac_envs-http (~> 0.2)
298
+ eac_rest (0.8.0)
299
+ eac_envs-http (~> 0.3, >= 0.3.1)
293
300
  eac_fs (~> 0.16)
294
301
  eac_ruby_utils (~> 0.112)
295
302
  eac_ruby_gem_support (0.5.1)
@@ -298,9 +305,6 @@ GEM
298
305
  rubocop (~> 0.80.1)
299
306
  rubocop-rails (~> 2.4.2)
300
307
  rubocop-rspec (~> 1.38.1)
301
- eac_templates (0.3.2)
302
- eac_config (~> 0.11, >= 0.11.1)
303
- eac_ruby_utils (~> 0.102, >= 0.102.1)
304
308
  faraday (2.7.4)
305
309
  faraday-net_http (>= 2.0, < 3.1)
306
310
  ruby2_keywords (>= 0.0.4)
@@ -320,7 +324,7 @@ GEM
320
324
  rchardet (~> 1.8)
321
325
  hpricot (0.8.6)
322
326
  htmlbeautifier (1.4.2)
323
- i18n (1.12.0)
327
+ i18n (1.13.0)
324
328
  concurrent-ruby (~> 1.0)
325
329
  jaro_winkler (1.5.4)
326
330
  minitar (0.9)
@@ -334,7 +338,7 @@ GEM
334
338
  os (1.1.4)
335
339
  parallel (1.23.0)
336
340
  parseconfig (1.1.2)
337
- parser (3.2.2.0)
341
+ parser (3.2.2.1)
338
342
  ast (~> 2.4.1)
339
343
  parslet (2.0.0)
340
344
  public_suffix (5.0.1)
@@ -348,9 +352,9 @@ GEM
348
352
  rspec-core (~> 3.12.0)
349
353
  rspec-expectations (~> 3.12.0)
350
354
  rspec-mocks (~> 3.12.0)
351
- rspec-core (3.12.1)
355
+ rspec-core (3.12.2)
352
356
  rspec-support (~> 3.12.0)
353
- rspec-expectations (3.12.2)
357
+ rspec-expectations (3.12.3)
354
358
  diff-lcs (>= 1.2.0, < 2.0)
355
359
  rspec-support (~> 3.12.0)
356
360
  rspec-mocks (3.12.5)
@@ -376,7 +380,7 @@ GEM
376
380
  tzinfo (2.0.6)
377
381
  concurrent-ruby (~> 1.0)
378
382
  unicode-display_width (1.6.1)
379
- zeitwerk (2.6.7)
383
+ zeitwerk (2.6.8)
380
384
  zlib (2.1.1)
381
385
 
382
386
  PLATFORMS
@@ -410,6 +414,7 @@ DEPENDENCIES
410
414
  eac_ruby_base0!
411
415
  eac_ruby_gem_support (~> 0.5.1)
412
416
  eac_ruby_utils!
417
+ eac_templates!
413
418
  eac_tools!
414
419
 
415
420
  BUNDLED WITH
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.60.2'
4
+ VERSION = '0.61.0'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency 'eac_fs', '~> 0.16'
20
20
  s.add_dependency 'eac_git', '~> 0.14', '>= 0.14.1'
21
21
  s.add_dependency 'eac_ruby_utils', '~> 0.112'
22
- s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
22
+ s.add_dependency 'eac_templates', '~> 0.4'
23
23
  s.add_dependency 'filesize', '~> 0.2'
24
24
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
25
25
  s.add_dependency 'minitar', '~> 0.9'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.67.0'
4
+ VERSION = '0.67.1'
5
5
  end
@@ -45,7 +45,7 @@ module Avm
45
45
 
46
46
  # @return [String]
47
47
  def breadcrumbs_lines
48
- ['[.normal]', document.breadcrumbs_macro_value]
48
+ ['[.normal]', document.macro_lines(:breadcrumbs)]
49
49
  end
50
50
 
51
51
  # @return [Array<String>]
@@ -11,8 +11,10 @@ module Avm
11
11
  enable_method_class
12
12
  enable_simple_cache
13
13
 
14
- MACRO_PARSER = %r{\A\s*//\#(\S+.*)}.to_parser do |m|
15
- m[1]
14
+ ARGUMENT_SEPARATOR = ','
15
+ MACRO_PARSER = %r{\A\s*//\#(\S+)(?:\s+(.+))?\s*?\z}.to_parser do |m|
16
+ ::Struct.new(:name, :arguments).new(m[1],
17
+ m[2].to_s.split(ARGUMENT_SEPARATOR).map(&:strip))
16
18
  end
17
19
 
18
20
  common_constructor :document, :line
@@ -30,18 +32,28 @@ module Avm
30
32
  macro_name.present?
31
33
  end
32
34
 
35
+ # @return [Array<String>, nil]
36
+ def macro_arguments
37
+ parsed_macro.if_present(&:arguments)
38
+ end
39
+
40
+ # @return [String, nil]
41
+ def macro_name
42
+ parsed_macro.if_present(&:name)
43
+ end
44
+
33
45
  def macro_parser
34
46
  MACRO_PARSER
35
47
  end
36
48
 
37
49
  # @return [Array<String>]
38
50
  def macro_value
39
- document.send("#{macro_name}_macro_value")
51
+ document.macro_lines(macro_name, macro_arguments)
40
52
  end
41
53
 
42
54
  private
43
55
 
44
- def macro_name_uncached
56
+ def parsed_macro_uncached
45
57
  macro_parser.parse(line)
46
58
  end
47
59
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'asciidoctor'
4
+ require 'avm/eac_asciidoctor_base0/instances/macros'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
6
7
  module Avm
@@ -22,6 +23,15 @@ module Avm
22
23
  other.body_target_path.relative_path_from(body_target_path.dirname)
23
24
  end
24
25
 
26
+ # @return [Enumerable<String>]
27
+ def body_source_lines
28
+ if source_document.body_path.file?
29
+ source_document.body_path.read.each_line
30
+ else
31
+ default_body_source_lines
32
+ end
33
+ end
34
+
25
35
  # Absolute path to the output of Asciidoctor's source file.
26
36
  #
27
37
  # @return [Pathname]
@@ -56,6 +66,18 @@ module Avm
56
66
  source_document.root_path
57
67
  end
58
68
 
69
+ # @return [Enumerable<String>]
70
+ def default_body_source_lines
71
+ macro_lines(:default_body)
72
+ end
73
+
74
+ # @param name [String]
75
+ # @return [Array<String>]
76
+ def macro_lines(name, arguments = [])
77
+ ::Avm::EacAsciidoctorBase0::Instances::Macros.const_get(name.to_s.camelize)
78
+ .new(self, arguments).result
79
+ end
80
+
59
81
  def perform
60
82
  perform_self
61
83
  perform_children
@@ -74,7 +96,7 @@ module Avm
74
96
  # @return [String]
75
97
  def pre_processed_body_source_content
76
98
  (
77
- header_lines + [''] + source_document.body_path.read.each_line
99
+ header_lines + [''] + body_source_lines
78
100
  .flat_map { |line| pre_process_line(line.rstrip) }
79
101
  ).map { |line| "#{line.rstrip}\n" }.join
80
102
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacAsciidoctorBase0
7
+ module Instances
8
+ module Macros
9
+ class Base
10
+ enable_abstract_methods
11
+ common_constructor :document, :arguments, default: [[]]
12
+
13
+ # @return [Array<String>]
14
+ def result
15
+ raise_abstract_method __method__
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/instances/macros/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Instances
9
+ module Macros
10
+ class Breadcrumbs < ::Avm::EacAsciidoctorBase0::Instances::Macros::Base
11
+ NODE_SEPARATOR = ' » '
12
+ ROOT_DOCUMENT_TITLE = 'Home'
13
+
14
+ # @return [Array<String>]
15
+ def result
16
+ trail_nodes.join(NODE_SEPARATOR)
17
+ end
18
+
19
+ def trail_nodes
20
+ r = []
21
+ current = document
22
+ while current.present?
23
+ r.unshift(Node.new(document, current))
24
+ current = current.parent_document
25
+ end
26
+ r
27
+ end
28
+
29
+ class Node
30
+ common_constructor :current, :document
31
+
32
+ # @return [String]
33
+ def address
34
+ current.href_to_other_body(document)
35
+ end
36
+
37
+ # @return [String]
38
+ def title
39
+ if document.parent_document.present?
40
+ document.source_document.title
41
+ else
42
+ ROOT_DOCUMENT_TITLE
43
+ end
44
+ end
45
+
46
+ # @return [String]
47
+ def to_s
48
+ "link:#{address}[#{title}]"
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/instances/macros/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Instances
9
+ module Macros
10
+ class ChildDocs < ::Avm::EacAsciidoctorBase0::Instances::Macros::Base
11
+ class DocumentBuilder
12
+ common_constructor :child_docs, :document, :depth, default: [0]
13
+ compare_by :title, :address
14
+
15
+ # @return [Pathname]
16
+ def address
17
+ root_document.href_to_other_body(document)
18
+ end
19
+
20
+ # @return [Array] Document's children mapped to document builders.
21
+ def children
22
+ document.children.map { |c| self.class.new(child_docs, c, depth + 1) }.sort
23
+ end
24
+
25
+ # @return [Boolean]
26
+ def lines_for_children?
27
+ child_docs.maximum_depth.negative? || child_docs.maximum_depth <= depth
28
+ end
29
+
30
+ # @return [String]
31
+ def link
32
+ "link:#{address}[#{title}]"
33
+ end
34
+
35
+ # @return [Array<String>]
36
+ def result
37
+ children.flat_map do |child|
38
+ r = [child.self_line]
39
+ r += child.result if lines_for_children?
40
+ r
41
+ end
42
+ end
43
+
44
+ # @return [Avm::EacAsciidoctorBase0::Instances::Build::Document]
45
+ def root_document
46
+ child_docs.document
47
+ end
48
+
49
+ # @return [String]
50
+ def self_line
51
+ "#{'*' * depth} #{link}"
52
+ end
53
+
54
+ # @return [String]
55
+ def title
56
+ document.source_document.title
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/instances/macros/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Instances
9
+ module Macros
10
+ class ChildDocs < ::Avm::EacAsciidoctorBase0::Instances::Macros::Base
11
+ DEFAULT_MAXIMUM_DEPTH = -1
12
+
13
+ # @return [Array<String>]
14
+ def result
15
+ document_builder_class.new(self, document).result
16
+ end
17
+
18
+ # @return [Integer]
19
+ def maximum_depth
20
+ arguments[0].if_present(DEFAULT_MAXIMUM_DEPTH, &:to_i)
21
+ end
22
+
23
+ private
24
+
25
+ # @return [Class]
26
+ def document_builder_class
27
+ ::Avm::EacAsciidoctorBase0::Instances::Macros::ChildDocs::DocumentBuilder
28
+ end
29
+
30
+ require_sub __FILE__
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/eac_asciidoctor_base0/instances/macros/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module EacAsciidoctorBase0
8
+ module Instances
9
+ module Macros
10
+ class DefaultBody < ::Avm::EacAsciidoctorBase0::Instances::Macros::Base
11
+ RESULT_LINES = ['== Índice', '', '//#child_docs'].freeze
12
+
13
+ # @return [Array<String>]
14
+ def result
15
+ RESULT_LINES
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacAsciidoctorBase0
7
+ module Instances
8
+ module Macros
9
+ require_sub __FILE__
10
+ end
11
+ end
12
+ end
13
+ end
@@ -8,9 +8,13 @@ module Avm
8
8
  module EacAsciidoctorBase0
9
9
  module Sources
10
10
  class Base < ::Avm::EacWebappBase0::Sources::Base
11
+ require_sub __FILE__
12
+
11
13
  CONTENT_DIRECTORY_SUBPATH = ::Pathname.new('content')
12
14
  CONTENT_DOCUMENT_BASENAME = ::Pathname.new('body.adoc')
13
- MAIN_FILE_SUBPATH = CONTENT_DIRECTORY_SUBPATH.join(CONTENT_DOCUMENT_BASENAME)
15
+ MAIN_FILE_SUBPATH = CONTENT_DIRECTORY_SUBPATH.join(
16
+ ::Avm::EacAsciidoctorBase0::Sources::Base::Document::TITLE_BASENAME
17
+ )
14
18
 
15
19
  require_sub __FILE__, include_modules: true
16
20
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacAsciidoctorBase0
5
- VERSION = '0.18.1'
5
+ VERSION = '0.19.0'
6
6
  end
7
7
  end
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,locale,template}/**/*']
14
14
 
15
- s.add_dependency 'aranha-parsers', '~> 0.17'
16
- s.add_dependency 'avm', '~> 0.66', '>= 0.66.1'
15
+ s.add_dependency 'aranha-parsers', '~> 0.17', '>= 0.17.1'
16
+ s.add_dependency 'avm', '~> 0.67', '>= 0.67.1'
17
17
  s.add_dependency 'avm-eac_generic_base0', '~> 0.12'
18
18
  s.add_dependency 'eac_ruby_utils', '~> 0.112'
19
19
 
@@ -65,11 +65,11 @@ module Avm
65
65
  protected
66
66
 
67
67
  def apply_to_root_directory(template, subpath)
68
- if template.is_a?(::EacTemplates::Directory)
68
+ if template.is_a?(::EacTemplates::Variables::Directory)
69
69
  template.children.each do |child|
70
70
  apply_to_root_directory(child, subpath.join(child.basename))
71
71
  end
72
- elsif template.is_a?(::EacTemplates::File)
72
+ elsif template.is_a?(::EacTemplates::Variables::File)
73
73
  template.apply_to_file(template_variables, root_directory.join(subpath))
74
74
  else
75
75
  raise "Unknown template object: #{template}"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.30.1'
5
+ VERSION = '0.30.2'
6
6
  end
7
7
  end
@@ -3,3 +3,6 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
+
7
+ local_gemfile = ::File.join(::File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if ::File.exist?(local_gemfile)
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib,template}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.64'
15
+ s.add_dependency 'avm', '~> 0.67', '>= 0.67.1'
16
16
  s.add_dependency 'eac_ruby_utils', '~> 0.112'
17
17
  s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
18
18
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/docker/image'
4
- require 'eac_templates/from_all_gems'
4
+ require 'eac_templates/sources/from_all_gems'
5
5
  require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avm
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacUbuntuBase0
5
- VERSION = '0.4.1'
5
+ VERSION = '0.4.2'
6
6
  end
7
7
  end
@@ -12,11 +12,11 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'avm', '~> 0.52'
16
- s.add_dependency 'eac_cli', '~> 0.28'
17
- s.add_dependency 'eac_fs', '~> 0.12', '>= 0.12.3'
18
- s.add_dependency 'eac_ruby_utils', '~> 0.106'
19
- s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
15
+ s.add_dependency 'avm', '~> 0.67', '>= 0.67.1'
16
+ s.add_dependency 'eac_cli', '~> 0.30', '>= 0.30.1'
17
+ s.add_dependency 'eac_fs', '~> 0.16'
18
+ s.add_dependency 'eac_ruby_utils', '~> 0.112'
19
+ s.add_dependency 'eac_templates', '~> 0.4'
20
20
 
21
21
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
22
22
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
4
  require 'avm/files/appendable/resource_base'
5
- require 'eac_templates/directory'
5
+ require 'eac_templates/variables/directory'
6
6
 
7
7
  module Avm
8
8
  module Files
@@ -18,7 +18,7 @@ module Avm
18
18
  def write_on(target_dir)
19
19
  raise 'Variables source not set' if appender.variables_source.blank?
20
20
 
21
- ::EacTemplates::Directory.new(source_path).apply(
21
+ ::EacTemplates::Variables::Directory.new(source_path).apply(
22
22
  appender.variables_source,
23
23
  target_dir
24
24
  )