mxrb 0.1.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 (237) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.de-DE.md +108 -0
  4. data/README.md +172 -0
  5. data/README.pt-BR.md +109 -0
  6. data/bin/mxrb +1613 -0
  7. data/docs/README.md +10 -0
  8. data/docs/de-DE/README.md +24 -0
  9. data/docs/de-DE/architectural-patterns.md +26 -0
  10. data/docs/de-DE/architectural-standard.md +48 -0
  11. data/docs/de-DE/architecture.md +76 -0
  12. data/docs/de-DE/compiler.md +162 -0
  13. data/docs/de-DE/conventions.md +19 -0
  14. data/docs/de-DE/design-system.md +52 -0
  15. data/docs/de-DE/entity-dsl.md +53 -0
  16. data/docs/de-DE/native-runtime-quality-report.md +74 -0
  17. data/docs/de-DE/oql-sql.md +211 -0
  18. data/docs/de-DE/platform-api-integration.md +36 -0
  19. data/docs/de-DE/platform-operations.md +243 -0
  20. data/docs/de-DE/project-structure.md +32 -0
  21. data/docs/de-DE/ruby-first-roadmap.md +116 -0
  22. data/docs/de-DE/scaffolds.md +59 -0
  23. data/docs/de-DE/semantic-refactoring.md +56 -0
  24. data/docs/de-DE/team-server.md +33 -0
  25. data/docs/de-DE/validation-matrix.md +64 -0
  26. data/docs/de-DE/vetclinic-acceptance.md +24 -0
  27. data/docs/de-DE/writing.md +138 -0
  28. data/docs/en-US/README.md +24 -0
  29. data/docs/en-US/architectural-patterns.md +151 -0
  30. data/docs/en-US/architectural-standard.md +89 -0
  31. data/docs/en-US/architecture.md +170 -0
  32. data/docs/en-US/compiler.md +157 -0
  33. data/docs/en-US/conventions.md +82 -0
  34. data/docs/en-US/design-system.md +163 -0
  35. data/docs/en-US/entity-dsl.md +53 -0
  36. data/docs/en-US/native-runtime-quality-report.md +73 -0
  37. data/docs/en-US/oql-sql.md +201 -0
  38. data/docs/en-US/platform-api-integration.md +36 -0
  39. data/docs/en-US/platform-operations.md +244 -0
  40. data/docs/en-US/project-structure.md +49 -0
  41. data/docs/en-US/ruby-first-roadmap.md +186 -0
  42. data/docs/en-US/scaffolds.md +57 -0
  43. data/docs/en-US/semantic-refactoring.md +198 -0
  44. data/docs/en-US/team-server.md +32 -0
  45. data/docs/en-US/validation-matrix.md +257 -0
  46. data/docs/en-US/vetclinic-acceptance.md +23 -0
  47. data/docs/en-US/writing.md +655 -0
  48. data/docs/pt-BR/README.md +24 -0
  49. data/docs/pt-BR/architectural-patterns.md +25 -0
  50. data/docs/pt-BR/architectural-standard.md +533 -0
  51. data/docs/pt-BR/architecture.md +300 -0
  52. data/docs/pt-BR/compiler.md +162 -0
  53. data/docs/pt-BR/conventions.md +19 -0
  54. data/docs/pt-BR/design-system.md +65 -0
  55. data/docs/pt-BR/entity-dsl.md +116 -0
  56. data/docs/pt-BR/native-runtime-quality-report.md +73 -0
  57. data/docs/pt-BR/oql-sql.md +208 -0
  58. data/docs/pt-BR/platform-api-integration.md +36 -0
  59. data/docs/pt-BR/platform-operations.md +260 -0
  60. data/docs/pt-BR/project-structure.md +32 -0
  61. data/docs/pt-BR/ruby-first-roadmap.md +239 -0
  62. data/docs/pt-BR/scaffolds.md +104 -0
  63. data/docs/pt-BR/semantic-refactoring.md +55 -0
  64. data/docs/pt-BR/team-server.md +59 -0
  65. data/docs/pt-BR/validation-matrix.md +86 -0
  66. data/docs/pt-BR/vetclinic-acceptance.md +50 -0
  67. data/docs/pt-BR/writing.md +177 -0
  68. data/examples/sudoku_evaluation.rb +14 -0
  69. data/examples/sudoku_functional_test.rb +28 -0
  70. data/lib/mxrb/architecture/graph.rb +124 -0
  71. data/lib/mxrb/architecture/validator.rb +98 -0
  72. data/lib/mxrb/benchmark.rb +33 -0
  73. data/lib/mxrb/compare.rb +390 -0
  74. data/lib/mxrb/compiler/adapter.rb +96 -0
  75. data/lib/mxrb/compiler/artifact_document_compiler.rb +102 -0
  76. data/lib/mxrb/compiler/artifact_materializer.rb +53 -0
  77. data/lib/mxrb/compiler/client_model_materializer.rb +42 -0
  78. data/lib/mxrb/compiler/code_action_document_compiler.rb +64 -0
  79. data/lib/mxrb/compiler/code_action_materializer.rb +35 -0
  80. data/lib/mxrb/compiler/code_action_type_compiler.rb +32 -0
  81. data/lib/mxrb/compiler/combo_box_bundle_compiler.rb +314 -0
  82. data/lib/mxrb/compiler/compatibility_analyzer.rb +169 -0
  83. data/lib/mxrb/compiler/constants_materializer.rb +111 -0
  84. data/lib/mxrb/compiler/data_grid_bundle_compiler.rb +290 -0
  85. data/lib/mxrb/compiler/database_connector_action_compiler.rb +280 -0
  86. data/lib/mxrb/compiler/deployment_asset_copier.rb +60 -0
  87. data/lib/mxrb/compiler/deployment_bootstrapper.rb +208 -0
  88. data/lib/mxrb/compiler/deployment_materializer.rb +43 -0
  89. data/lib/mxrb/compiler/deployment_metadata.rb +64 -0
  90. data/lib/mxrb/compiler/domain_document_compiler.rb +153 -0
  91. data/lib/mxrb/compiler/domain_model_materializer.rb +35 -0
  92. data/lib/mxrb/compiler/domain_security_compiler.rb +82 -0
  93. data/lib/mxrb/compiler/gallery_bundle_compiler.rb +190 -0
  94. data/lib/mxrb/compiler/generic_widget_bundle_compiler.rb +281 -0
  95. data/lib/mxrb/compiler/image_bundle_compiler.rb +216 -0
  96. data/lib/mxrb/compiler/java_proxy_generator.rb +509 -0
  97. data/lib/mxrb/compiler/legacy_data_grid_compiler.rb +267 -0
  98. data/lib/mxrb/compiler/legacy_page_builder.rb +287 -0
  99. data/lib/mxrb/compiler/mda.rb +99 -0
  100. data/lib/mxrb/compiler/microflow_document_compiler.rb +85 -0
  101. data/lib/mxrb/compiler/microflow_materializer.rb +48 -0
  102. data/lib/mxrb/compiler/microflow_node_compiler.rb +250 -0
  103. data/lib/mxrb/compiler/model_package.rb +116 -0
  104. data/lib/mxrb/compiler/model_values.rb +67 -0
  105. data/lib/mxrb/compiler/nanoflow_program_compiler.rb +483 -0
  106. data/lib/mxrb/compiler/navigation_document_compiler.rb +93 -0
  107. data/lib/mxrb/compiler/packager.rb +100 -0
  108. data/lib/mxrb/compiler/page_bundle_builder.rb +56 -0
  109. data/lib/mxrb/compiler/page_bundle_compiler.rb +2004 -0
  110. data/lib/mxrb/compiler/page_document_compiler.rb +77 -0
  111. data/lib/mxrb/compiler/portable_packager.rb +356 -0
  112. data/lib/mxrb/compiler/project_jar_archive.rb +84 -0
  113. data/lib/mxrb/compiler/project_jar_builder.rb +121 -0
  114. data/lib/mxrb/compiler/project_materializer.rb +139 -0
  115. data/lib/mxrb/compiler/project_model_orderer.rb +52 -0
  116. data/lib/mxrb/compiler/runtime_data_types.rb +31 -0
  117. data/lib/mxrb/compiler/runtime_model_schema.rb +90 -0
  118. data/lib/mxrb/compiler/schemas/runtime-10.24.0.73019.json +1052 -0
  119. data/lib/mxrb/compiler/schemas/runtime-11.json +1215 -0
  120. data/lib/mxrb/compiler/schemas/runtime-6.10.8.json +1148 -0
  121. data/lib/mxrb/compiler/schemas/runtime-7.17.0.json +1144 -0
  122. data/lib/mxrb/compiler/schemas/runtime-7.5.0.json +1215 -0
  123. data/lib/mxrb/compiler/schemas/runtime-9.6.1.29396.json +868 -0
  124. data/lib/mxrb/compiler/schemas/system-model-10.24.0.73019.b64 +1135 -0
  125. data/lib/mxrb/compiler/schemas/system-model-11.12.1.b64 +815 -0
  126. data/lib/mxrb/compiler/schemas/system-model-6.10.8.b64 +497 -0
  127. data/lib/mxrb/compiler/schemas/system-model-7.17.0.b64 +519 -0
  128. data/lib/mxrb/compiler/schemas/system-model-7.5.0.b64 +504 -0
  129. data/lib/mxrb/compiler/schemas/system-model-9.6.1.29396.b64 +816 -0
  130. data/lib/mxrb/compiler/security_materializer.rb +104 -0
  131. data/lib/mxrb/compiler/settings_document_compiler.rb +45 -0
  132. data/lib/mxrb/compiler/settings_materializer.rb +25 -0
  133. data/lib/mxrb/compiler/source_model.rb +128 -0
  134. data/lib/mxrb/compiler/system_model_seed.rb +88 -0
  135. data/lib/mxrb/compiler/system_queue_materializer.rb +54 -0
  136. data/lib/mxrb/compiler/system_text_materializer.rb +49 -0
  137. data/lib/mxrb/compiler/translation_materializer.rb +95 -0
  138. data/lib/mxrb/compiler/web_bundle_builder.rb +155 -0
  139. data/lib/mxrb/compiler/web_list_data_source.rb +139 -0
  140. data/lib/mxrb/compiler/web_operation_compiler.rb +614 -0
  141. data/lib/mxrb/compiler/web_shell_materializer.rb +194 -0
  142. data/lib/mxrb/compiler/widget_package_extractor.rb +63 -0
  143. data/lib/mxrb/doctor.rb +116 -0
  144. data/lib/mxrb/dsl/builder.rb +1636 -0
  145. data/lib/mxrb/errors.rb +18 -0
  146. data/lib/mxrb/evaluation.rb +131 -0
  147. data/lib/mxrb/exporter.rb +1716 -0
  148. data/lib/mxrb/frontend/migrator.rb +775 -0
  149. data/lib/mxrb/functional.rb +307 -0
  150. data/lib/mxrb/github/annotator.rb +161 -0
  151. data/lib/mxrb/initializer.rb +257 -0
  152. data/lib/mxrb/integrity/validator.rb +136 -0
  153. data/lib/mxrb/io/bson_codec.rb +145 -0
  154. data/lib/mxrb/io/mpr_file.rb +558 -0
  155. data/lib/mxrb/io/mxunit_codec.rb +42 -0
  156. data/lib/mxrb/marketplace.rb +380 -0
  157. data/lib/mxrb/model/association.rb +98 -0
  158. data/lib/mxrb/model/attribute.rb +100 -0
  159. data/lib/mxrb/model/connector.rb +17 -0
  160. data/lib/mxrb/model/design_materializer.rb +133 -0
  161. data/lib/mxrb/model/design_migration.rb +126 -0
  162. data/lib/mxrb/model/design_system.rb +111 -0
  163. data/lib/mxrb/model/domain_model.rb +51 -0
  164. data/lib/mxrb/model/entity.rb +180 -0
  165. data/lib/mxrb/model/menu.rb +38 -0
  166. data/lib/mxrb/model/microflow.rb +100 -0
  167. data/lib/mxrb/model/module.rb +142 -0
  168. data/lib/mxrb/model/navigation.rb +127 -0
  169. data/lib/mxrb/model/page.rb +410 -0
  170. data/lib/mxrb/model/project.rb +187 -0
  171. data/lib/mxrb/model/unit.rb +48 -0
  172. data/lib/mxrb/module_initializer.rb +75 -0
  173. data/lib/mxrb/official_marketplace/content_api.rb +292 -0
  174. data/lib/mxrb/official_marketplace/dependency_resolver.rb +329 -0
  175. data/lib/mxrb/official_marketplace/lifecycle.rb +367 -0
  176. data/lib/mxrb/official_marketplace/module_package_importer.rb +318 -0
  177. data/lib/mxrb/official_marketplace/widget_package_installer.rb +414 -0
  178. data/lib/mxrb/official_marketplace.rb +720 -0
  179. data/lib/mxrb/oql/analyzer.rb +155 -0
  180. data/lib/mxrb/oql/index_advisor.rb +85 -0
  181. data/lib/mxrb/oql/plan_analyzer.rb +185 -0
  182. data/lib/mxrb/oql/server.rb +132 -0
  183. data/lib/mxrb/oql/sql_server_plan_analyzer.rb +190 -0
  184. data/lib/mxrb/oql/sql_server_workload_analyzer.rb +80 -0
  185. data/lib/mxrb/oql/workload_analyzer.rb +175 -0
  186. data/lib/mxrb/oql/workload_baseline.rb +60 -0
  187. data/lib/mxrb/oql.rb +424 -0
  188. data/lib/mxrb/project_lifecycle.rb +76 -0
  189. data/lib/mxrb/protocols/plan.rb +86 -0
  190. data/lib/mxrb/protocols.rb +123 -0
  191. data/lib/mxrb/runtime/database_workspace.rb +677 -0
  192. data/lib/mxrb/runtime/docker_executor.rb +41 -0
  193. data/lib/mxrb/runtime/docker_workspace.rb +29 -0
  194. data/lib/mxrb/runtime/executor.rb +169 -0
  195. data/lib/mxrb/runtime/java_locator.rb +26 -0
  196. data/lib/mxrb/runtime/native.rb +474 -0
  197. data/lib/mxrb/runtime/sql_server_database.rb +146 -0
  198. data/lib/mxrb/runtime/toolchain.rb +82 -0
  199. data/lib/mxrb/scaffold/cli.rb +113 -0
  200. data/lib/mxrb/scaffold/generator.rb +246 -0
  201. data/lib/mxrb/scaffold/help.rb +80 -0
  202. data/lib/mxrb/scaffold/page_templates.rb +54 -0
  203. data/lib/mxrb/scaffold/recipes.rb +198 -0
  204. data/lib/mxrb/scaffold/registry.rb +82 -0
  205. data/lib/mxrb/scaffold/templates.rb +723 -0
  206. data/lib/mxrb/scaffold/transaction.rb +84 -0
  207. data/lib/mxrb/schema/tables.rb +55 -0
  208. data/lib/mxrb/semantic/analyzer.rb +473 -0
  209. data/lib/mxrb/semantic/batch_plan.rb +68 -0
  210. data/lib/mxrb/semantic/domain_mutator.rb +419 -0
  211. data/lib/mxrb/semantic/embedder.rb +51 -0
  212. data/lib/mxrb/semantic/extractor.rb +290 -0
  213. data/lib/mxrb/semantic/index.rb +623 -0
  214. data/lib/mxrb/semantic/inliner.rb +216 -0
  215. data/lib/mxrb/semantic/mover.rb +153 -0
  216. data/lib/mxrb/semantic/onnx_embedder.rb +34 -0
  217. data/lib/mxrb/semantic/remover.rb +70 -0
  218. data/lib/mxrb/semantic/renamer.rb +211 -0
  219. data/lib/mxrb/semantic/tfidf_embedder.rb +46 -0
  220. data/lib/mxrb/semantic/vec_store.rb +75 -0
  221. data/lib/mxrb/team_server.rb +390 -0
  222. data/lib/mxrb/templates/project/10.24.0.73019.json +32 -0
  223. data/lib/mxrb/templates/project/11.12.1.json +32 -0
  224. data/lib/mxrb/templates/project/6.10.8.json +50 -0
  225. data/lib/mxrb/templates/project/7.17.0.json +50 -0
  226. data/lib/mxrb/templates/project/7.5.0.json +50 -0
  227. data/lib/mxrb/templates/project/9.6.1.29396.json +50 -0
  228. data/lib/mxrb/version.rb +5 -0
  229. data/lib/mxrb/widget_package.rb +338 -0
  230. data/lib/mxrb/widget_synchronizer.rb +31 -0
  231. data/lib/mxrb/writer.rb +3775 -0
  232. data/lib/mxrb.rb +188 -0
  233. data/marketplace/catalog.json +10 -0
  234. data/marketplace/modules/shared-kernel/domain/README.md +4 -0
  235. data/marketplace/modules/shared-kernel/module.rb +5 -0
  236. data/marketplace/modules/shared-kernel/mxrb-module.json +9 -0
  237. metadata +447 -0
data/lib/mxrb.rb ADDED
@@ -0,0 +1,188 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "mxrb/version"
4
+ require_relative "mxrb/errors"
5
+ require_relative "mxrb/doctor"
6
+ require_relative "mxrb/benchmark"
7
+ require_relative "mxrb/project_lifecycle"
8
+ require_relative "mxrb/scaffold/templates"
9
+ require_relative "mxrb/scaffold/page_templates"
10
+ require_relative "mxrb/initializer"
11
+ require_relative "mxrb/module_initializer"
12
+ require_relative "mxrb/scaffold/transaction"
13
+ require_relative "mxrb/scaffold/registry"
14
+ require_relative "mxrb/scaffold/recipes"
15
+ require_relative "mxrb/scaffold/generator"
16
+ require_relative "mxrb/scaffold/help"
17
+ require_relative "mxrb/scaffold/cli"
18
+ require_relative "mxrb/io/bson_codec"
19
+ require_relative "mxrb/widget_package"
20
+ require_relative "mxrb/frontend/migrator"
21
+ require_relative "mxrb/io/mxunit_codec"
22
+ require_relative "mxrb/io/mpr_file"
23
+ require_relative "mxrb/model/unit"
24
+ require_relative "mxrb/model/attribute"
25
+ require_relative "mxrb/model/association"
26
+ require_relative "mxrb/model/entity"
27
+ require_relative "mxrb/model/domain_model"
28
+ require_relative "mxrb/model/microflow"
29
+ require_relative "mxrb/model/page"
30
+ require_relative "mxrb/model/menu"
31
+ require_relative "mxrb/model/navigation"
32
+ require_relative "mxrb/model/design_system"
33
+ require_relative "mxrb/model/design_materializer"
34
+ require_relative "mxrb/model/design_migration"
35
+ require_relative "mxrb/model/module"
36
+ require_relative "mxrb/model/connector"
37
+ require_relative "mxrb/model/project"
38
+ require_relative "mxrb/protocols"
39
+ require_relative "mxrb/oql"
40
+ require_relative "mxrb/oql/plan_analyzer"
41
+ require_relative "mxrb/oql/workload_analyzer"
42
+ require_relative "mxrb/oql/workload_baseline"
43
+ require_relative "mxrb/oql/index_advisor"
44
+ require_relative "mxrb/oql/sql_server_workload_analyzer"
45
+ require_relative "mxrb/oql/sql_server_plan_analyzer"
46
+ require_relative "mxrb/dsl/builder"
47
+ require_relative "mxrb/architecture/graph"
48
+ require_relative "mxrb/architecture/validator"
49
+ require_relative "mxrb/integrity/validator"
50
+ require_relative "mxrb/semantic/index"
51
+ require_relative "mxrb/semantic/renamer"
52
+ require_relative "mxrb/semantic/remover"
53
+ require_relative "mxrb/semantic/mover"
54
+ require_relative "mxrb/semantic/analyzer"
55
+ require_relative "mxrb/semantic/extractor"
56
+ require_relative "mxrb/semantic/inliner"
57
+ require_relative "mxrb/semantic/domain_mutator"
58
+ require_relative "mxrb/semantic/batch_plan"
59
+ require_relative "mxrb/github/annotator"
60
+ require_relative "mxrb/evaluation"
61
+ require_relative "mxrb/marketplace"
62
+ require_relative "mxrb/official_marketplace"
63
+ require_relative "mxrb/team_server"
64
+ require_relative "mxrb/functional"
65
+ require_relative "mxrb/runtime/toolchain"
66
+ require_relative "mxrb/runtime/java_locator"
67
+ require_relative "mxrb/compiler/adapter"
68
+ require_relative "mxrb/compiler/mda"
69
+ require_relative "mxrb/compiler/model_package"
70
+ require_relative "mxrb/compiler/source_model"
71
+ require_relative "mxrb/compiler/model_values"
72
+ require_relative "mxrb/compiler/constants_materializer"
73
+ require_relative "mxrb/compiler/domain_security_compiler"
74
+ require_relative "mxrb/compiler/domain_document_compiler"
75
+ require_relative "mxrb/compiler/domain_model_materializer"
76
+ require_relative "mxrb/compiler/artifact_document_compiler"
77
+ require_relative "mxrb/compiler/artifact_materializer"
78
+ require_relative "mxrb/compiler/translation_materializer"
79
+ require_relative "mxrb/compiler/system_text_materializer"
80
+ require_relative "mxrb/compiler/system_queue_materializer"
81
+ require_relative "mxrb/compiler/runtime_model_schema"
82
+ require_relative "mxrb/compiler/runtime_data_types"
83
+ require_relative "mxrb/compiler/page_document_compiler"
84
+ require_relative "mxrb/compiler/navigation_document_compiler"
85
+ require_relative "mxrb/compiler/client_model_materializer"
86
+ require_relative "mxrb/compiler/code_action_type_compiler"
87
+ require_relative "mxrb/compiler/code_action_document_compiler"
88
+ require_relative "mxrb/compiler/code_action_materializer"
89
+ require_relative "mxrb/compiler/settings_document_compiler"
90
+ require_relative "mxrb/compiler/settings_materializer"
91
+ require_relative "mxrb/compiler/database_connector_action_compiler"
92
+ require_relative "mxrb/compiler/microflow_node_compiler"
93
+ require_relative "mxrb/compiler/microflow_document_compiler"
94
+ require_relative "mxrb/compiler/microflow_materializer"
95
+ require_relative "mxrb/compiler/project_model_orderer"
96
+ require_relative "mxrb/compiler/project_materializer"
97
+ require_relative "mxrb/compiler/security_materializer"
98
+ require_relative "mxrb/compiler/system_model_seed"
99
+ require_relative "mxrb/compiler/deployment_metadata"
100
+ require_relative "mxrb/compiler/deployment_asset_copier"
101
+ require_relative "mxrb/compiler/deployment_bootstrapper"
102
+ require_relative "mxrb/compiler/web_shell_materializer"
103
+ require_relative "mxrb/compiler/deployment_materializer"
104
+ require_relative "mxrb/compiler/packager"
105
+ require_relative "mxrb/compiler/project_jar_archive"
106
+ require_relative "mxrb/compiler/java_proxy_generator"
107
+ require_relative "mxrb/compiler/project_jar_builder"
108
+ require_relative "mxrb/compiler/widget_package_extractor"
109
+ require_relative "mxrb/compiler/nanoflow_program_compiler"
110
+ require_relative "mxrb/compiler/web_list_data_source"
111
+ require_relative "mxrb/compiler/web_operation_compiler"
112
+ require_relative "mxrb/compiler/data_grid_bundle_compiler"
113
+ require_relative "mxrb/compiler/gallery_bundle_compiler"
114
+ require_relative "mxrb/compiler/image_bundle_compiler"
115
+ require_relative "mxrb/compiler/generic_widget_bundle_compiler"
116
+ require_relative "mxrb/compiler/combo_box_bundle_compiler"
117
+ require_relative "mxrb/compiler/legacy_data_grid_compiler"
118
+ require_relative "mxrb/compiler/legacy_page_builder"
119
+ require_relative "mxrb/compiler/page_bundle_compiler"
120
+ require_relative "mxrb/compiler/compatibility_analyzer"
121
+ require_relative "mxrb/compiler/page_bundle_builder"
122
+ require_relative "mxrb/compiler/web_bundle_builder"
123
+ require_relative "mxrb/compiler/portable_packager"
124
+ require_relative "mxrb/widget_synchronizer"
125
+ require_relative "mxrb/runtime/docker_workspace"
126
+ require_relative "mxrb/runtime/executor"
127
+ require_relative "mxrb/runtime/native"
128
+ require_relative "mxrb/runtime/docker_executor"
129
+ require_relative "mxrb/runtime/database_workspace"
130
+ require_relative "mxrb/runtime/sql_server_database"
131
+ require_relative "mxrb/oql/server"
132
+ require_relative "mxrb/compare"
133
+ require_relative "mxrb/writer"
134
+ require_relative "mxrb/exporter"
135
+
136
+ module Mxrb
137
+ # Open an existing .mpr file.
138
+ #
139
+ # Mxrb.open("MyApp.mpr") { |p| puts p.modules.map(&:name) }
140
+ #
141
+ def self.open(path, readonly: true, &block)
142
+ project = Model::Project.open(path, readonly: readonly)
143
+ return project unless block
144
+
145
+ begin
146
+ block.call(project)
147
+ ensure
148
+ project.close
149
+ end
150
+ end
151
+
152
+ # Define a new project via the Ruby DSL.
153
+ #
154
+ # Mxrb.define("MyApp.mpr") do
155
+ # mendix_version "10.18.0"
156
+ # module :MyModule do
157
+ # entity :Customer do
158
+ # string :Name, required: true
159
+ # integer :Age
160
+ # end
161
+ # end
162
+ # end
163
+ #
164
+ def self.define(path, &block)
165
+ output = ENV.fetch("MXRB_OUTPUT_PATH", path)
166
+ Dsl::Builder.new(output).tap { _1.instance_eval(&block) }.build!
167
+ end
168
+
169
+ def self.validate(path)
170
+ Integrity::Validator.new(path).validate
171
+ end
172
+
173
+ def self.evaluate(path, &block)
174
+ open(path) { _1.evaluate(&block) }
175
+ end
176
+
177
+ def self.functional_definition(path)
178
+ Functional::Suite.new.evaluate(path).definition
179
+ end
180
+
181
+ def self.runtime_plan(path, **options)
182
+ Runtime::Toolchain.new(path, **options).plan
183
+ end
184
+
185
+ def self.compatibility(path)
186
+ Compiler::CompatibilityAnalyzer.new(path).analyze
187
+ end
188
+ end
@@ -0,0 +1,10 @@
1
+ {
2
+ "modules": [
3
+ {
4
+ "name": "shared-kernel",
5
+ "version": "1.0.0",
6
+ "description": "Minimal shared-kernel module for an MXRB project",
7
+ "source": "builtin:shared-kernel"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,4 @@
1
+ # SharedKernel domain
2
+
3
+ Place stable value concepts shared by multiple modules here. Keep application,
4
+ presentation and infrastructure behavior in their owning modules.
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ self.module :SharedKernel do
4
+ documentation "Shared cross-module concepts with no infrastructure dependencies."
5
+ end
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "shared-kernel",
3
+ "module_name": "SharedKernel",
4
+ "version": "1.0.0",
5
+ "files": [
6
+ "module.rb",
7
+ "domain"
8
+ ]
9
+ }
metadata ADDED
@@ -0,0 +1,447 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mxrb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Lucas Moura
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: sqlite3
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: bson
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.2'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '5.2'
40
+ - !ruby/object:Gem::Dependency
41
+ name: base64
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.2'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.2'
54
+ - !ruby/object:Gem::Dependency
55
+ name: bigdecimal
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.1'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.1'
68
+ - !ruby/object:Gem::Dependency
69
+ name: csv
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.3'
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.3'
82
+ - !ruby/object:Gem::Dependency
83
+ name: dotenv
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '3.0'
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rexml
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.3'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '3.3'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubyzip
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '3.0'
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: webrick
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.9'
131
+ type: :runtime
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.9'
138
+ - !ruby/object:Gem::Dependency
139
+ name: benchmark
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.5'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.5'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rspec
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '3.13'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '3.13'
166
+ - !ruby/object:Gem::Dependency
167
+ name: rubocop
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '1.65'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.65'
180
+ description: mxrb reads and writes Mendix .mpr files (SQLite3) directly, providing
181
+ a Ruby DSL to define entities, pages, microflows and modules without any dependency
182
+ on the official mxcli tooling.
183
+ executables:
184
+ - mxrb
185
+ extensions: []
186
+ extra_rdoc_files: []
187
+ files:
188
+ - LICENSE
189
+ - README.de-DE.md
190
+ - README.md
191
+ - README.pt-BR.md
192
+ - bin/mxrb
193
+ - docs/README.md
194
+ - docs/de-DE/README.md
195
+ - docs/de-DE/architectural-patterns.md
196
+ - docs/de-DE/architectural-standard.md
197
+ - docs/de-DE/architecture.md
198
+ - docs/de-DE/compiler.md
199
+ - docs/de-DE/conventions.md
200
+ - docs/de-DE/design-system.md
201
+ - docs/de-DE/entity-dsl.md
202
+ - docs/de-DE/native-runtime-quality-report.md
203
+ - docs/de-DE/oql-sql.md
204
+ - docs/de-DE/platform-api-integration.md
205
+ - docs/de-DE/platform-operations.md
206
+ - docs/de-DE/project-structure.md
207
+ - docs/de-DE/ruby-first-roadmap.md
208
+ - docs/de-DE/scaffolds.md
209
+ - docs/de-DE/semantic-refactoring.md
210
+ - docs/de-DE/team-server.md
211
+ - docs/de-DE/validation-matrix.md
212
+ - docs/de-DE/vetclinic-acceptance.md
213
+ - docs/de-DE/writing.md
214
+ - docs/en-US/README.md
215
+ - docs/en-US/architectural-patterns.md
216
+ - docs/en-US/architectural-standard.md
217
+ - docs/en-US/architecture.md
218
+ - docs/en-US/compiler.md
219
+ - docs/en-US/conventions.md
220
+ - docs/en-US/design-system.md
221
+ - docs/en-US/entity-dsl.md
222
+ - docs/en-US/native-runtime-quality-report.md
223
+ - docs/en-US/oql-sql.md
224
+ - docs/en-US/platform-api-integration.md
225
+ - docs/en-US/platform-operations.md
226
+ - docs/en-US/project-structure.md
227
+ - docs/en-US/ruby-first-roadmap.md
228
+ - docs/en-US/scaffolds.md
229
+ - docs/en-US/semantic-refactoring.md
230
+ - docs/en-US/team-server.md
231
+ - docs/en-US/validation-matrix.md
232
+ - docs/en-US/vetclinic-acceptance.md
233
+ - docs/en-US/writing.md
234
+ - docs/pt-BR/README.md
235
+ - docs/pt-BR/architectural-patterns.md
236
+ - docs/pt-BR/architectural-standard.md
237
+ - docs/pt-BR/architecture.md
238
+ - docs/pt-BR/compiler.md
239
+ - docs/pt-BR/conventions.md
240
+ - docs/pt-BR/design-system.md
241
+ - docs/pt-BR/entity-dsl.md
242
+ - docs/pt-BR/native-runtime-quality-report.md
243
+ - docs/pt-BR/oql-sql.md
244
+ - docs/pt-BR/platform-api-integration.md
245
+ - docs/pt-BR/platform-operations.md
246
+ - docs/pt-BR/project-structure.md
247
+ - docs/pt-BR/ruby-first-roadmap.md
248
+ - docs/pt-BR/scaffolds.md
249
+ - docs/pt-BR/semantic-refactoring.md
250
+ - docs/pt-BR/team-server.md
251
+ - docs/pt-BR/validation-matrix.md
252
+ - docs/pt-BR/vetclinic-acceptance.md
253
+ - docs/pt-BR/writing.md
254
+ - examples/sudoku_evaluation.rb
255
+ - examples/sudoku_functional_test.rb
256
+ - lib/mxrb.rb
257
+ - lib/mxrb/architecture/graph.rb
258
+ - lib/mxrb/architecture/validator.rb
259
+ - lib/mxrb/benchmark.rb
260
+ - lib/mxrb/compare.rb
261
+ - lib/mxrb/compiler/adapter.rb
262
+ - lib/mxrb/compiler/artifact_document_compiler.rb
263
+ - lib/mxrb/compiler/artifact_materializer.rb
264
+ - lib/mxrb/compiler/client_model_materializer.rb
265
+ - lib/mxrb/compiler/code_action_document_compiler.rb
266
+ - lib/mxrb/compiler/code_action_materializer.rb
267
+ - lib/mxrb/compiler/code_action_type_compiler.rb
268
+ - lib/mxrb/compiler/combo_box_bundle_compiler.rb
269
+ - lib/mxrb/compiler/compatibility_analyzer.rb
270
+ - lib/mxrb/compiler/constants_materializer.rb
271
+ - lib/mxrb/compiler/data_grid_bundle_compiler.rb
272
+ - lib/mxrb/compiler/database_connector_action_compiler.rb
273
+ - lib/mxrb/compiler/deployment_asset_copier.rb
274
+ - lib/mxrb/compiler/deployment_bootstrapper.rb
275
+ - lib/mxrb/compiler/deployment_materializer.rb
276
+ - lib/mxrb/compiler/deployment_metadata.rb
277
+ - lib/mxrb/compiler/domain_document_compiler.rb
278
+ - lib/mxrb/compiler/domain_model_materializer.rb
279
+ - lib/mxrb/compiler/domain_security_compiler.rb
280
+ - lib/mxrb/compiler/gallery_bundle_compiler.rb
281
+ - lib/mxrb/compiler/generic_widget_bundle_compiler.rb
282
+ - lib/mxrb/compiler/image_bundle_compiler.rb
283
+ - lib/mxrb/compiler/java_proxy_generator.rb
284
+ - lib/mxrb/compiler/legacy_data_grid_compiler.rb
285
+ - lib/mxrb/compiler/legacy_page_builder.rb
286
+ - lib/mxrb/compiler/mda.rb
287
+ - lib/mxrb/compiler/microflow_document_compiler.rb
288
+ - lib/mxrb/compiler/microflow_materializer.rb
289
+ - lib/mxrb/compiler/microflow_node_compiler.rb
290
+ - lib/mxrb/compiler/model_package.rb
291
+ - lib/mxrb/compiler/model_values.rb
292
+ - lib/mxrb/compiler/nanoflow_program_compiler.rb
293
+ - lib/mxrb/compiler/navigation_document_compiler.rb
294
+ - lib/mxrb/compiler/packager.rb
295
+ - lib/mxrb/compiler/page_bundle_builder.rb
296
+ - lib/mxrb/compiler/page_bundle_compiler.rb
297
+ - lib/mxrb/compiler/page_document_compiler.rb
298
+ - lib/mxrb/compiler/portable_packager.rb
299
+ - lib/mxrb/compiler/project_jar_archive.rb
300
+ - lib/mxrb/compiler/project_jar_builder.rb
301
+ - lib/mxrb/compiler/project_materializer.rb
302
+ - lib/mxrb/compiler/project_model_orderer.rb
303
+ - lib/mxrb/compiler/runtime_data_types.rb
304
+ - lib/mxrb/compiler/runtime_model_schema.rb
305
+ - lib/mxrb/compiler/schemas/runtime-10.24.0.73019.json
306
+ - lib/mxrb/compiler/schemas/runtime-11.json
307
+ - lib/mxrb/compiler/schemas/runtime-6.10.8.json
308
+ - lib/mxrb/compiler/schemas/runtime-7.17.0.json
309
+ - lib/mxrb/compiler/schemas/runtime-7.5.0.json
310
+ - lib/mxrb/compiler/schemas/runtime-9.6.1.29396.json
311
+ - lib/mxrb/compiler/schemas/system-model-10.24.0.73019.b64
312
+ - lib/mxrb/compiler/schemas/system-model-11.12.1.b64
313
+ - lib/mxrb/compiler/schemas/system-model-6.10.8.b64
314
+ - lib/mxrb/compiler/schemas/system-model-7.17.0.b64
315
+ - lib/mxrb/compiler/schemas/system-model-7.5.0.b64
316
+ - lib/mxrb/compiler/schemas/system-model-9.6.1.29396.b64
317
+ - lib/mxrb/compiler/security_materializer.rb
318
+ - lib/mxrb/compiler/settings_document_compiler.rb
319
+ - lib/mxrb/compiler/settings_materializer.rb
320
+ - lib/mxrb/compiler/source_model.rb
321
+ - lib/mxrb/compiler/system_model_seed.rb
322
+ - lib/mxrb/compiler/system_queue_materializer.rb
323
+ - lib/mxrb/compiler/system_text_materializer.rb
324
+ - lib/mxrb/compiler/translation_materializer.rb
325
+ - lib/mxrb/compiler/web_bundle_builder.rb
326
+ - lib/mxrb/compiler/web_list_data_source.rb
327
+ - lib/mxrb/compiler/web_operation_compiler.rb
328
+ - lib/mxrb/compiler/web_shell_materializer.rb
329
+ - lib/mxrb/compiler/widget_package_extractor.rb
330
+ - lib/mxrb/doctor.rb
331
+ - lib/mxrb/dsl/builder.rb
332
+ - lib/mxrb/errors.rb
333
+ - lib/mxrb/evaluation.rb
334
+ - lib/mxrb/exporter.rb
335
+ - lib/mxrb/frontend/migrator.rb
336
+ - lib/mxrb/functional.rb
337
+ - lib/mxrb/github/annotator.rb
338
+ - lib/mxrb/initializer.rb
339
+ - lib/mxrb/integrity/validator.rb
340
+ - lib/mxrb/io/bson_codec.rb
341
+ - lib/mxrb/io/mpr_file.rb
342
+ - lib/mxrb/io/mxunit_codec.rb
343
+ - lib/mxrb/marketplace.rb
344
+ - lib/mxrb/model/association.rb
345
+ - lib/mxrb/model/attribute.rb
346
+ - lib/mxrb/model/connector.rb
347
+ - lib/mxrb/model/design_materializer.rb
348
+ - lib/mxrb/model/design_migration.rb
349
+ - lib/mxrb/model/design_system.rb
350
+ - lib/mxrb/model/domain_model.rb
351
+ - lib/mxrb/model/entity.rb
352
+ - lib/mxrb/model/menu.rb
353
+ - lib/mxrb/model/microflow.rb
354
+ - lib/mxrb/model/module.rb
355
+ - lib/mxrb/model/navigation.rb
356
+ - lib/mxrb/model/page.rb
357
+ - lib/mxrb/model/project.rb
358
+ - lib/mxrb/model/unit.rb
359
+ - lib/mxrb/module_initializer.rb
360
+ - lib/mxrb/official_marketplace.rb
361
+ - lib/mxrb/official_marketplace/content_api.rb
362
+ - lib/mxrb/official_marketplace/dependency_resolver.rb
363
+ - lib/mxrb/official_marketplace/lifecycle.rb
364
+ - lib/mxrb/official_marketplace/module_package_importer.rb
365
+ - lib/mxrb/official_marketplace/widget_package_installer.rb
366
+ - lib/mxrb/oql.rb
367
+ - lib/mxrb/oql/analyzer.rb
368
+ - lib/mxrb/oql/index_advisor.rb
369
+ - lib/mxrb/oql/plan_analyzer.rb
370
+ - lib/mxrb/oql/server.rb
371
+ - lib/mxrb/oql/sql_server_plan_analyzer.rb
372
+ - lib/mxrb/oql/sql_server_workload_analyzer.rb
373
+ - lib/mxrb/oql/workload_analyzer.rb
374
+ - lib/mxrb/oql/workload_baseline.rb
375
+ - lib/mxrb/project_lifecycle.rb
376
+ - lib/mxrb/protocols.rb
377
+ - lib/mxrb/protocols/plan.rb
378
+ - lib/mxrb/runtime/database_workspace.rb
379
+ - lib/mxrb/runtime/docker_executor.rb
380
+ - lib/mxrb/runtime/docker_workspace.rb
381
+ - lib/mxrb/runtime/executor.rb
382
+ - lib/mxrb/runtime/java_locator.rb
383
+ - lib/mxrb/runtime/native.rb
384
+ - lib/mxrb/runtime/sql_server_database.rb
385
+ - lib/mxrb/runtime/toolchain.rb
386
+ - lib/mxrb/scaffold/cli.rb
387
+ - lib/mxrb/scaffold/generator.rb
388
+ - lib/mxrb/scaffold/help.rb
389
+ - lib/mxrb/scaffold/page_templates.rb
390
+ - lib/mxrb/scaffold/recipes.rb
391
+ - lib/mxrb/scaffold/registry.rb
392
+ - lib/mxrb/scaffold/templates.rb
393
+ - lib/mxrb/scaffold/transaction.rb
394
+ - lib/mxrb/schema/tables.rb
395
+ - lib/mxrb/semantic/analyzer.rb
396
+ - lib/mxrb/semantic/batch_plan.rb
397
+ - lib/mxrb/semantic/domain_mutator.rb
398
+ - lib/mxrb/semantic/embedder.rb
399
+ - lib/mxrb/semantic/extractor.rb
400
+ - lib/mxrb/semantic/index.rb
401
+ - lib/mxrb/semantic/inliner.rb
402
+ - lib/mxrb/semantic/mover.rb
403
+ - lib/mxrb/semantic/onnx_embedder.rb
404
+ - lib/mxrb/semantic/remover.rb
405
+ - lib/mxrb/semantic/renamer.rb
406
+ - lib/mxrb/semantic/tfidf_embedder.rb
407
+ - lib/mxrb/semantic/vec_store.rb
408
+ - lib/mxrb/team_server.rb
409
+ - lib/mxrb/templates/project/10.24.0.73019.json
410
+ - lib/mxrb/templates/project/11.12.1.json
411
+ - lib/mxrb/templates/project/6.10.8.json
412
+ - lib/mxrb/templates/project/7.17.0.json
413
+ - lib/mxrb/templates/project/7.5.0.json
414
+ - lib/mxrb/templates/project/9.6.1.29396.json
415
+ - lib/mxrb/version.rb
416
+ - lib/mxrb/widget_package.rb
417
+ - lib/mxrb/widget_synchronizer.rb
418
+ - lib/mxrb/writer.rb
419
+ - marketplace/catalog.json
420
+ - marketplace/modules/shared-kernel/domain/README.md
421
+ - marketplace/modules/shared-kernel/module.rb
422
+ - marketplace/modules/shared-kernel/mxrb-module.json
423
+ homepage: https://github.com/lucamykael/mxrb
424
+ licenses:
425
+ - MIT
426
+ metadata:
427
+ source_code_uri: https://github.com/lucamykael/mxrb
428
+ documentation_uri: https://github.com/lucamykael/mxrb/tree/main/docs
429
+ rubygems_mfa_required: 'true'
430
+ rdoc_options: []
431
+ require_paths:
432
+ - lib
433
+ required_ruby_version: !ruby/object:Gem::Requirement
434
+ requirements:
435
+ - - ">="
436
+ - !ruby/object:Gem::Version
437
+ version: '4.0'
438
+ required_rubygems_version: !ruby/object:Gem::Requirement
439
+ requirements:
440
+ - - ">="
441
+ - !ruby/object:Gem::Version
442
+ version: '0'
443
+ requirements: []
444
+ rubygems_version: 4.0.17
445
+ specification_version: 4
446
+ summary: Pure-Ruby read/write engine for Mendix .mpr projects — no mxcli required
447
+ test_files: []