expressir 2.1.29 → 2.1.31

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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/docs.yml +98 -0
  3. data/.github/workflows/links.yml +100 -0
  4. data/.github/workflows/rake.yml +4 -0
  5. data/.github/workflows/release.yml +5 -0
  6. data/.github/workflows/validate_schemas.yml +1 -1
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +1 -1
  9. data/.rubocop_todo.yml +209 -55
  10. data/Gemfile +2 -1
  11. data/README.adoc +650 -83
  12. data/docs/Gemfile +12 -0
  13. data/docs/_config.yml +141 -0
  14. data/docs/_guides/changes/changes-format.adoc +778 -0
  15. data/docs/_guides/changes/importing-eengine.adoc +898 -0
  16. data/docs/_guides/changes/index.adoc +396 -0
  17. data/docs/_guides/changes/programmatic-usage.adoc +1038 -0
  18. data/docs/_guides/changes/validating-changes.adoc +681 -0
  19. data/docs/_guides/cli/benchmark-performance.adoc +834 -0
  20. data/docs/_guides/cli/coverage-analysis.adoc +921 -0
  21. data/docs/_guides/cli/format-schemas.adoc +547 -0
  22. data/docs/_guides/cli/index.adoc +8 -0
  23. data/docs/_guides/cli/managing-changes.adoc +927 -0
  24. data/docs/_guides/cli/validate-ascii.adoc +645 -0
  25. data/docs/_guides/cli/validate-schemas.adoc +534 -0
  26. data/docs/_guides/index.adoc +165 -0
  27. data/docs/_guides/ler/creating-packages.adoc +664 -0
  28. data/docs/_guides/ler/index.adoc +305 -0
  29. data/docs/_guides/ler/loading-packages.adoc +707 -0
  30. data/docs/_guides/ler/package-formats.adoc +748 -0
  31. data/docs/_guides/ler/querying-packages.adoc +826 -0
  32. data/docs/_guides/ler/validating-packages.adoc +750 -0
  33. data/docs/_guides/liquid/basic-templates.adoc +813 -0
  34. data/docs/_guides/liquid/documentation-generation.adoc +1042 -0
  35. data/docs/_guides/liquid/drops-reference.adoc +829 -0
  36. data/docs/_guides/liquid/filters-and-tags.adoc +912 -0
  37. data/docs/_guides/liquid/index.adoc +468 -0
  38. data/docs/_guides/manifests/creating-manifests.adoc +483 -0
  39. data/docs/_guides/manifests/index.adoc +307 -0
  40. data/docs/_guides/manifests/resolving-manifests.adoc +557 -0
  41. data/docs/_guides/manifests/validating-manifests.adoc +713 -0
  42. data/docs/_guides/ruby-api/formatting-schemas.adoc +605 -0
  43. data/docs/_guides/ruby-api/index.adoc +257 -0
  44. data/docs/_guides/ruby-api/parsing-files.adoc +421 -0
  45. data/docs/_guides/ruby-api/search-engine.adoc +609 -0
  46. data/docs/_guides/ruby-api/working-with-repository.adoc +577 -0
  47. data/docs/_pages/data-model.adoc +665 -0
  48. data/docs/_pages/express-language.adoc +506 -0
  49. data/docs/_pages/getting-started.adoc +414 -0
  50. data/docs/_pages/index.adoc +116 -0
  51. data/docs/_pages/introduction.adoc +256 -0
  52. data/docs/_pages/ler-packages.adoc +837 -0
  53. data/docs/_pages/parsers.adoc +683 -0
  54. data/docs/_pages/schema-manifests.adoc +431 -0
  55. data/docs/_references/index.adoc +228 -0
  56. data/docs/_tutorials/creating-ler-package.adoc +735 -0
  57. data/docs/_tutorials/documentation-coverage.adoc +795 -0
  58. data/docs/_tutorials/index.adoc +221 -0
  59. data/docs/_tutorials/liquid-templates.adoc +806 -0
  60. data/docs/_tutorials/parsing-your-first-schema.adoc +522 -0
  61. data/docs/_tutorials/querying-schemas.adoc +751 -0
  62. data/docs/_tutorials/working-with-multiple-schemas.adoc +676 -0
  63. data/docs/index.adoc +242 -0
  64. data/docs/lychee.toml +84 -0
  65. data/examples/demo_ler_usage.sh +86 -0
  66. data/examples/ler/README.md +111 -0
  67. data/examples/ler/simple_example.ler +0 -0
  68. data/examples/ler/simple_schema.exp +33 -0
  69. data/examples/ler_build.rb +75 -0
  70. data/examples/ler_cli.rb +79 -0
  71. data/examples/ler_demo_complete.rb +276 -0
  72. data/examples/ler_query.rb +91 -0
  73. data/examples/ler_query_examples.rb +305 -0
  74. data/examples/ler_stats.rb +81 -0
  75. data/examples/phase3_demo.rb +159 -0
  76. data/examples/query_demo_simple.rb +131 -0
  77. data/expressir.gemspec +2 -0
  78. data/lib/expressir/changes/schema_change.rb +32 -22
  79. data/lib/expressir/changes/{edition_change.rb → version_change.rb} +3 -3
  80. data/lib/expressir/cli.rb +12 -4
  81. data/lib/expressir/commands/changes_import_eengine.rb +2 -2
  82. data/lib/expressir/commands/changes_validate.rb +1 -1
  83. data/lib/expressir/commands/manifest.rb +427 -0
  84. data/lib/expressir/commands/package.rb +1274 -0
  85. data/lib/expressir/commands/validate.rb +70 -37
  86. data/lib/expressir/commands/validate_ascii.rb +607 -0
  87. data/lib/expressir/commands/validate_load.rb +88 -0
  88. data/lib/expressir/express/formatter.rb +5 -1
  89. data/lib/expressir/express/formatters/remark_item_formatter.rb +25 -0
  90. data/lib/expressir/express/parser.rb +33 -0
  91. data/lib/expressir/manifest/resolver.rb +213 -0
  92. data/lib/expressir/manifest/validator.rb +195 -0
  93. data/lib/expressir/model/declarations/entity.rb +6 -0
  94. data/lib/expressir/model/dependency_resolver.rb +270 -0
  95. data/lib/expressir/model/indexes/entity_index.rb +103 -0
  96. data/lib/expressir/model/indexes/reference_index.rb +148 -0
  97. data/lib/expressir/model/indexes/type_index.rb +149 -0
  98. data/lib/expressir/model/interface_validator.rb +384 -0
  99. data/lib/expressir/model/repository.rb +400 -5
  100. data/lib/expressir/model/repository_validator.rb +295 -0
  101. data/lib/expressir/model/search_engine.rb +525 -0
  102. data/lib/expressir/model.rb +4 -94
  103. data/lib/expressir/package/builder.rb +200 -0
  104. data/lib/expressir/package/metadata.rb +81 -0
  105. data/lib/expressir/package/reader.rb +165 -0
  106. data/lib/expressir/schema_manifest.rb +11 -1
  107. data/lib/expressir/version.rb +1 -1
  108. data/lib/expressir.rb +16 -3
  109. metadata +115 -5
  110. data/docs/benchmarking.adoc +0 -107
  111. data/docs/liquid_drops.adoc +0 -1547
data/docs/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "jekyll"
4
+ gem "jekyll-asciidoc"
5
+ gem "jekyll-seo-tag"
6
+ gem "jekyll-sitemap"
7
+
8
+ # Theme
9
+ gem "just-the-docs", "~> 0.10.1"
10
+
11
+ # AsciiDoc processing
12
+ gem "asciidoctor"
data/docs/_config.yml ADDED
@@ -0,0 +1,141 @@
1
+ # Site settings
2
+ title: Expressir
3
+ description: >-
4
+ EXPRESS parser and toolkit for Ruby. Parse, analyze, and transform EXPRESS
5
+ data models with a comprehensive Ruby API.
6
+ baseurl: "/expressir"
7
+ url: "https://www.lutaml.org"
8
+
9
+ # Theme
10
+ theme: just-the-docs
11
+ remote_theme: just-the-docs/just-the-docs@v0.10.1
12
+
13
+ # # Logo
14
+ # logo: "/assets/images/expressir-logo.svg"
15
+ # favicon_ico: "/assets/images/favicon.svg"
16
+
17
+ # Color scheme
18
+ color_scheme: light
19
+
20
+ # Search
21
+ search_enabled: true
22
+ search:
23
+ heading_level: 2
24
+ previews: 3
25
+ preview_words_before: 5
26
+ preview_words_after: 10
27
+ tokenizer_separator: /[\s/]+/
28
+ rel_url: true
29
+ button: false
30
+
31
+ # Heading anchors
32
+ heading_anchors: true
33
+
34
+ # Aux links for the upper right navigation
35
+ aux_links:
36
+ "GitHub":
37
+ - "https://github.com/lutaml/expressir"
38
+ "RubyGems":
39
+ - "https://rubygems.org/gems/expressir"
40
+
41
+ # Makes Aux links open in a new tab
42
+ aux_links_new_tab: true
43
+
44
+ # Back to top link
45
+ back_to_top: true
46
+ back_to_top_text: "Back to top"
47
+
48
+ # Footer content
49
+ footer_content: >
50
+ Copyright © 2025 Ribose. Distributed under a
51
+ <a href="https://github.com/lutaml/expressir/blob/main/LICENSE">BSD-2-Clause license</a>.
52
+
53
+ # Footer last edit timestamp
54
+ last_edit_timestamp: true
55
+ last_edit_time_format: "%b %e %Y at %I:%M %p"
56
+
57
+ # Navigation structure
58
+ nav_sort: order
59
+
60
+ # Collections for organizing content
61
+ collections:
62
+ pages:
63
+ permalink: "/:path/"
64
+ output: true
65
+ tutorials:
66
+ permalink: "/:collection/:path/"
67
+ output: true
68
+ guides:
69
+ permalink: "/:collection/:path/"
70
+ output: true
71
+ references:
72
+ permalink: "/:collection/:path/"
73
+ output: true
74
+
75
+ # Just the Docs collection configuration
76
+ just_the_docs:
77
+ collections:
78
+ pages:
79
+ name: Core Topics
80
+ nav_fold: false
81
+ tutorials:
82
+ name: Tutorials
83
+ nav_fold: true
84
+ guides:
85
+ name: Guides
86
+ nav_fold: true
87
+ references:
88
+ name: References
89
+ nav_fold: true
90
+
91
+ # Plugins
92
+ plugins:
93
+ - jekyll-asciidoc
94
+ - jekyll-seo-tag
95
+ - jekyll-sitemap
96
+
97
+ # AsciiDoc configuration
98
+ asciidoc: {}
99
+ asciidoctor:
100
+ attributes:
101
+ - source-highlighter=rouge
102
+ - rouge-style=github
103
+ - icons=font
104
+ - sectanchors=true
105
+ - idprefix=
106
+ - idseparator=-
107
+ - experimental=true
108
+
109
+ include:
110
+ - '**/*.adoc'
111
+
112
+ # Exclude from processing
113
+ exclude:
114
+ - Gemfile
115
+ - Gemfile.lock
116
+ - _site
117
+ - node_modules
118
+ - vendor/*
119
+ - Rakefile
120
+ - '*.md'
121
+
122
+ # Enable code copy button
123
+ enable_copy_code_button: true
124
+
125
+ # Callouts
126
+ callouts_level: quiet
127
+ callouts:
128
+ highlight:
129
+ color: yellow
130
+ important:
131
+ title: Important
132
+ color: blue
133
+ new:
134
+ title: New
135
+ color: green
136
+ note:
137
+ title: Note
138
+ color: purple
139
+ warning:
140
+ title: Warning
141
+ color: red