expressir 2.1.13 → 2.1.14

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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -82
  3. data/.rubocop_todo.yml +15 -74
  4. data/Gemfile +4 -5
  5. data/expressir.gemspec +3 -1
  6. data/lib/expressir/express/cache.rb +4 -6
  7. data/lib/expressir/express/formatter.rb +92 -63
  8. data/lib/expressir/express/model_visitor.rb +10 -9
  9. data/lib/expressir/express/parser.rb +10 -8
  10. data/lib/expressir/express/resolve_references_model_visitor.rb +0 -3
  11. data/lib/expressir/express/visitor.rb +2 -1
  12. data/lib/expressir/liquid.rb +0 -17
  13. data/lib/expressir/model/cache.rb +9 -8
  14. data/lib/expressir/model/data_types/aggregate.rb +6 -11
  15. data/lib/expressir/model/data_types/array.rb +14 -20
  16. data/lib/expressir/model/data_types/bag.rb +10 -14
  17. data/lib/expressir/model/data_types/binary.rb +8 -11
  18. data/lib/expressir/model/data_types/boolean.rb +6 -1
  19. data/lib/expressir/model/data_types/enumeration.rb +10 -14
  20. data/lib/expressir/model/data_types/enumeration_item.rb +3 -5
  21. data/lib/expressir/model/data_types/generic.rb +4 -6
  22. data/lib/expressir/model/data_types/generic_entity.rb +4 -6
  23. data/lib/expressir/model/data_types/integer.rb +6 -1
  24. data/lib/expressir/model/data_types/list.rb +12 -17
  25. data/lib/expressir/model/data_types/logical.rb +6 -1
  26. data/lib/expressir/model/data_types/number.rb +6 -1
  27. data/lib/expressir/model/data_types/real.rb +6 -8
  28. data/lib/expressir/model/data_types/select.rb +12 -17
  29. data/lib/expressir/model/data_types/set.rb +10 -14
  30. data/lib/expressir/model/data_types/string.rb +8 -11
  31. data/lib/expressir/model/declarations/attribute.rb +17 -26
  32. data/lib/expressir/model/declarations/constant.rb +8 -14
  33. data/lib/expressir/model/declarations/entity.rb +18 -29
  34. data/lib/expressir/model/declarations/function.rb +25 -39
  35. data/lib/expressir/model/declarations/interface.rb +12 -16
  36. data/lib/expressir/model/declarations/interface_item.rb +7 -11
  37. data/lib/expressir/model/declarations/interfaced_item.rb +11 -18
  38. data/lib/expressir/model/declarations/parameter.rb +8 -14
  39. data/lib/expressir/model/declarations/procedure.rb +23 -36
  40. data/lib/expressir/model/declarations/remark_item.rb +8 -11
  41. data/lib/expressir/model/declarations/rule.rb +27 -42
  42. data/lib/expressir/model/declarations/schema.rb +59 -58
  43. data/lib/expressir/model/declarations/schema_version.rb +7 -10
  44. data/lib/expressir/model/declarations/schema_version_item.rb +7 -10
  45. data/lib/expressir/model/declarations/subtype_constraint.rb +12 -20
  46. data/lib/expressir/model/declarations/type.rb +10 -17
  47. data/lib/expressir/model/declarations/unique_rule.rb +6 -11
  48. data/lib/expressir/model/declarations/variable.rb +8 -14
  49. data/lib/expressir/model/declarations/where_rule.rb +6 -11
  50. data/lib/expressir/model/expressions/aggregate_initializer.rb +6 -8
  51. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +8 -11
  52. data/lib/expressir/model/expressions/binary_expression.rb +40 -42
  53. data/lib/expressir/model/expressions/entity_constructor.rb +8 -11
  54. data/lib/expressir/model/expressions/function_call.rb +8 -11
  55. data/lib/expressir/model/expressions/interval.rb +16 -22
  56. data/lib/expressir/model/expressions/query_expression.rb +8 -14
  57. data/lib/expressir/model/expressions/unary_expression.rb +11 -14
  58. data/lib/expressir/model/identifier.rb +8 -25
  59. data/lib/expressir/model/literals/binary.rb +6 -8
  60. data/lib/expressir/model/literals/integer.rb +6 -8
  61. data/lib/expressir/model/literals/logical.rb +9 -11
  62. data/lib/expressir/model/literals/real.rb +6 -8
  63. data/lib/expressir/model/literals/string.rb +8 -11
  64. data/lib/expressir/model/model_element.rb +164 -131
  65. data/lib/expressir/model/references/attribute_reference.rb +8 -11
  66. data/lib/expressir/model/references/group_reference.rb +8 -11
  67. data/lib/expressir/model/references/index_reference.rb +10 -14
  68. data/lib/expressir/model/references/simple_reference.rb +10 -13
  69. data/lib/expressir/model/repository.rb +5 -7
  70. data/lib/expressir/model/statements/alias.rb +8 -14
  71. data/lib/expressir/model/statements/assignment.rb +8 -11
  72. data/lib/expressir/model/statements/case.rb +10 -14
  73. data/lib/expressir/model/statements/case_action.rb +7 -10
  74. data/lib/expressir/model/statements/compound.rb +6 -8
  75. data/lib/expressir/model/statements/escape.rb +6 -1
  76. data/lib/expressir/model/statements/if.rb +10 -14
  77. data/lib/expressir/model/statements/null.rb +6 -1
  78. data/lib/expressir/model/statements/procedure_call.rb +8 -11
  79. data/lib/expressir/model/statements/repeat.rb +16 -26
  80. data/lib/expressir/model/statements/return.rb +6 -8
  81. data/lib/expressir/model/statements/skip.rb +6 -1
  82. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +12 -16
  83. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +6 -8
  84. data/lib/expressir/model.rb +1 -8
  85. data/lib/expressir/version.rb +1 -1
  86. data/lib/expressir.rb +7 -3
  87. metadata +32 -89
  88. data/lib/expressir/liquid/cache_drop.rb +0 -20
  89. data/lib/expressir/liquid/data_type_drop.rb +0 -8
  90. data/lib/expressir/liquid/data_types/aggregate_drop.rb +0 -21
  91. data/lib/expressir/liquid/data_types/array_drop.rb +0 -34
  92. data/lib/expressir/liquid/data_types/bag_drop.rb +0 -26
  93. data/lib/expressir/liquid/data_types/binary_drop.rb +0 -22
  94. data/lib/expressir/liquid/data_types/boolean_drop.rb +0 -10
  95. data/lib/expressir/liquid/data_types/enumeration_drop.rb +0 -30
  96. data/lib/expressir/liquid/data_types/enumeration_item_drop.rb +0 -17
  97. data/lib/expressir/liquid/data_types/generic_drop.rb +0 -17
  98. data/lib/expressir/liquid/data_types/generic_entity_drop.rb +0 -17
  99. data/lib/expressir/liquid/data_types/integer_drop.rb +0 -10
  100. data/lib/expressir/liquid/data_types/list_drop.rb +0 -30
  101. data/lib/expressir/liquid/data_types/logical_drop.rb +0 -10
  102. data/lib/expressir/liquid/data_types/number_drop.rb +0 -10
  103. data/lib/expressir/liquid/data_types/real_drop.rb +0 -18
  104. data/lib/expressir/liquid/data_types/select_drop.rb +0 -34
  105. data/lib/expressir/liquid/data_types/set_drop.rb +0 -26
  106. data/lib/expressir/liquid/data_types/string_drop.rb +0 -22
  107. data/lib/expressir/liquid/declaration_drop.rb +0 -8
  108. data/lib/expressir/liquid/declarations/attribute_drop.rb +0 -37
  109. data/lib/expressir/liquid/declarations/constant_drop.rb +0 -25
  110. data/lib/expressir/liquid/declarations/entity_drop.rb +0 -65
  111. data/lib/expressir/liquid/declarations/function_drop.rb +0 -93
  112. data/lib/expressir/liquid/declarations/interface_drop.rb +0 -30
  113. data/lib/expressir/liquid/declarations/interface_item_drop.rb +0 -22
  114. data/lib/expressir/liquid/declarations/interfaced_item_drop.rb +0 -34
  115. data/lib/expressir/liquid/declarations/parameter_drop.rb +0 -25
  116. data/lib/expressir/liquid/declarations/procedure_drop.rb +0 -89
  117. data/lib/expressir/liquid/declarations/remark_item_drop.rb +0 -22
  118. data/lib/expressir/liquid/declarations/rule_drop.rb +0 -105
  119. data/lib/expressir/liquid/declarations/schema_drop.rb +0 -131
  120. data/lib/expressir/liquid/declarations/schema_version_drop.rb +0 -26
  121. data/lib/expressir/liquid/declarations/schema_version_item_drop.rb +0 -22
  122. data/lib/expressir/liquid/declarations/subtype_constraint_drop.rb +0 -37
  123. data/lib/expressir/liquid/declarations/type_drop.rb +0 -37
  124. data/lib/expressir/liquid/declarations/unique_rule_drop.rb +0 -21
  125. data/lib/expressir/liquid/declarations/variable_drop.rb +0 -25
  126. data/lib/expressir/liquid/declarations/where_rule_drop.rb +0 -21
  127. data/lib/expressir/liquid/expression_drop.rb +0 -8
  128. data/lib/expressir/liquid/expressions/aggregate_initializer_drop.rb +0 -24
  129. data/lib/expressir/liquid/expressions/aggregate_initializer_item_drop.rb +0 -22
  130. data/lib/expressir/liquid/expressions/binary_expression_drop.rb +0 -26
  131. data/lib/expressir/liquid/expressions/entity_constructor_drop.rb +0 -26
  132. data/lib/expressir/liquid/expressions/function_call_drop.rb +0 -26
  133. data/lib/expressir/liquid/expressions/interval_drop.rb +0 -34
  134. data/lib/expressir/liquid/expressions/query_expression_drop.rb +0 -25
  135. data/lib/expressir/liquid/expressions/unary_expression_drop.rb +0 -22
  136. data/lib/expressir/liquid/identifier_drop.rb +0 -33
  137. data/lib/expressir/liquid/literal_drop.rb +0 -8
  138. data/lib/expressir/liquid/literals/binary_drop.rb +0 -18
  139. data/lib/expressir/liquid/literals/integer_drop.rb +0 -18
  140. data/lib/expressir/liquid/literals/logical_drop.rb +0 -18
  141. data/lib/expressir/liquid/literals/real_drop.rb +0 -18
  142. data/lib/expressir/liquid/literals/string_drop.rb +0 -22
  143. data/lib/expressir/liquid/model_element_drop.rb +0 -33
  144. data/lib/expressir/liquid/reference_drop.rb +0 -8
  145. data/lib/expressir/liquid/references/attribute_reference_drop.rb +0 -22
  146. data/lib/expressir/liquid/references/group_reference_drop.rb +0 -22
  147. data/lib/expressir/liquid/references/index_reference_drop.rb +0 -26
  148. data/lib/expressir/liquid/references/simple_reference_drop.rb +0 -22
  149. data/lib/expressir/liquid/repository_drop.rb +0 -25
  150. data/lib/expressir/liquid/statement_drop.rb +0 -8
  151. data/lib/expressir/liquid/statements/alias_drop.rb +0 -29
  152. data/lib/expressir/liquid/statements/assignment_drop.rb +0 -22
  153. data/lib/expressir/liquid/statements/case_action_drop.rb +0 -26
  154. data/lib/expressir/liquid/statements/case_drop.rb +0 -30
  155. data/lib/expressir/liquid/statements/compound_drop.rb +0 -22
  156. data/lib/expressir/liquid/statements/escape_drop.rb +0 -10
  157. data/lib/expressir/liquid/statements/if_drop.rb +0 -34
  158. data/lib/expressir/liquid/statements/null_drop.rb +0 -10
  159. data/lib/expressir/liquid/statements/procedure_call_drop.rb +0 -26
  160. data/lib/expressir/liquid/statements/repeat_drop.rb +0 -45
  161. data/lib/expressir/liquid/statements/return_drop.rb +0 -18
  162. data/lib/expressir/liquid/statements/skip_drop.rb +0 -10
  163. data/lib/expressir/liquid/supertype_expression_drop.rb +0 -8
  164. data/lib/expressir/liquid/supertype_expressions/binary_supertype_expression_drop.rb +0 -26
  165. data/lib/expressir/liquid/supertype_expressions/oneof_supertype_expression_drop.rb +0 -22
  166. data/lib/expressir/model/data_type.rb +0 -9
  167. data/lib/expressir/model/declaration.rb +0 -9
  168. data/lib/expressir/model/expression.rb +0 -9
  169. data/lib/expressir/model/literal.rb +0 -9
  170. data/lib/expressir/model/reference.rb +0 -9
  171. data/lib/expressir/model/statement.rb +0 -9
  172. data/lib/expressir/model/supertype_expression.rb +0 -9
@@ -3,21 +3,17 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.7 If ... Then ... Else statement
6
- class If < Statement
7
- model_attr_accessor :expression, "Expression"
8
- model_attr_accessor :statements, "Array<Statement>"
9
- model_attr_accessor :else_statements, "Array<Statement>"
6
+ class If < ModelElement
7
+ attribute :expression, ModelElement
8
+ attribute :statements, ModelElement, collection: true
9
+ attribute :else_statements, ModelElement, collection: true
10
+ attribute :_class, :string, default: -> { send(:name) }
10
11
 
11
- # @param [Hash] options
12
- # @option options [Expression] :expression
13
- # @option options [Array<Statement>] :statements
14
- # @option options [Array<Statement>] :else_statements
15
- def initialize(options = {})
16
- @expression = options[:expression]
17
- @statements = options[:statements] || []
18
- @else_statements = options[:else_statements] || []
19
-
20
- super
12
+ key_value do
13
+ map "_class", to: :_class, render_default: true
14
+ map "expression", to: :expression
15
+ map "statements", to: :statements
16
+ map "else_statements", to: :else_statements
21
17
  end
22
18
  end
23
19
  end
@@ -3,7 +3,12 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.1 Null (statement)
6
- class Null < Statement
6
+ class Null < ModelElement
7
+ attribute :_class, :string, default: -> { send(:name) }
8
+
9
+ key_value do
10
+ map "_class", to: :_class, render_default: true
11
+ end
7
12
  end
8
13
  end
9
14
  end
@@ -3,18 +3,15 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.8 Procedure call statement
6
- class ProcedureCall < Statement
7
- model_attr_accessor :procedure, "Reference"
8
- model_attr_accessor :parameters, "Array<Expression>"
6
+ class ProcedureCall < ModelElement
7
+ attribute :procedure, ModelElement
8
+ attribute :parameters, ModelElement, collection: true
9
+ attribute :_class, :string, default: -> { send(:name) }
9
10
 
10
- # @param [Hash] options
11
- # @option options [Reference] :procedure
12
- # @option options [Array<Expression>] :parameters
13
- def initialize(options = {})
14
- @procedure = options[:procedure]
15
- @parameters = options[:parameters] || []
16
-
17
- super
11
+ key_value do
12
+ map "_class", to: :_class, render_default: true
13
+ map "procedure", to: :procedure
14
+ map "parameters", to: :parameters
18
15
  end
19
16
  end
20
17
  end
@@ -3,35 +3,25 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.9 Repeat statement
6
- class Repeat < Statement
6
+ class Repeat < ModelElement
7
7
  include Identifier
8
8
 
9
- model_attr_accessor :bound1, "Expression"
10
- model_attr_accessor :bound2, "Expression"
11
- model_attr_accessor :increment, "Expression"
12
- model_attr_accessor :while_expression, "Expression"
13
- model_attr_accessor :until_expression, "Expression"
14
- model_attr_accessor :statements, "Array<Statement>"
9
+ attribute :bound1, ModelElement
10
+ attribute :bound2, ModelElement
11
+ attribute :increment, ModelElement
12
+ attribute :while_expression, ModelElement
13
+ attribute :until_expression, ModelElement
14
+ attribute :statements, ModelElement, collection: true
15
+ attribute :_class, :string, default: -> { send(:name) }
15
16
 
16
- # @param [Hash] options
17
- # @option (see Identifier#initialize_identifier)
18
- # @option options [Expression] :bound1
19
- # @option options [Expression] :bound2
20
- # @option options [Expression] :increment
21
- # @option options [Expression] :while_expression
22
- # @option options [Expression] :until_expression
23
- # @option options [Array<Statement>] :statements
24
- def initialize(options = {})
25
- initialize_identifier(options)
26
-
27
- @bound1 = options[:bound1]
28
- @bound2 = options[:bound2]
29
- @increment = options[:increment]
30
- @while_expression = options[:while_expression]
31
- @until_expression = options[:until_expression]
32
- @statements = options[:statements] || []
33
-
34
- super
17
+ key_value do
18
+ map "_class", to: :_class, render_default: true
19
+ map "bound1", to: :bound1
20
+ map "bound2", to: :bound2
21
+ map "increment", to: :increment
22
+ map "while_expression", to: :while_expression
23
+ map "until_expression", to: :until_expression
24
+ map "statements", to: :statements
35
25
  end
36
26
 
37
27
  # @return [Array<Declaration>]
@@ -3,15 +3,13 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.10 Return statement
6
- class Return < Statement
7
- model_attr_accessor :expression, "Expression"
6
+ class Return < ModelElement
7
+ attribute :expression, ModelElement
8
+ attribute :_class, :string, default: -> { send(:name) }
8
9
 
9
- # @param [Hash] options
10
- # @option options [Expression] :expression
11
- def initialize(options = {})
12
- @expression = options[:expression]
13
-
14
- super
10
+ key_value do
11
+ map "_class", to: :_class, render_default: true
12
+ map "expression", to: :expression
15
13
  end
16
14
  end
17
15
  end
@@ -3,7 +3,12 @@ module Expressir
3
3
  module Statements
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 13.11 Skip statement
6
- class Skip < Statement
6
+ class Skip < ModelElement
7
+ attribute :_class, :string, default: -> { send(:name) }
8
+
9
+ key_value do
10
+ map "_class", to: :_class, render_default: true
11
+ end
7
12
  end
8
13
  end
9
14
  end
@@ -4,24 +4,20 @@ module Expressir
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 9.2.5.3 ANDOR
6
6
  # - section 9.2.5.4 AND
7
- class BinarySupertypeExpression < SupertypeExpression
8
- AND = :AND
9
- ANDOR = :ANDOR
7
+ class BinarySupertypeExpression < ModelElement
8
+ AND = "AND".freeze
9
+ ANDOR = "ANDOR".freeze
10
10
 
11
- model_attr_accessor :operator, ":AND, :ANDOR"
12
- model_attr_accessor :operand1, "SupertypeExpression"
13
- model_attr_accessor :operand2, "SupertypeExpression"
11
+ attribute :operator, :string, values: %w[AND ANDOR]
12
+ attribute :operand1, ModelElement
13
+ attribute :operand2, ModelElement
14
+ attribute :_class, :string, default: -> { send(:name) }
14
15
 
15
- # @param [Hash] options
16
- # @option options [:AND, :ANDOR] :operator
17
- # @option options [SupertypeExpression] :operand1
18
- # @option options [SupertypeExpression] :operand2
19
- def initialize(options = {})
20
- @operator = options[:operator]
21
- @operand1 = options[:operand1]
22
- @operand2 = options[:operand2]
23
-
24
- super
16
+ key_value do
17
+ map "_class", to: :_class, render_default: true
18
+ map "operator", to: :operator
19
+ map "operand1", to: :operand1
20
+ map "operand2", to: :operand2
25
21
  end
26
22
  end
27
23
  end
@@ -3,15 +3,13 @@ module Expressir
3
3
  module SupertypeExpressions
4
4
  # Specified in ISO 10303-11:2004
5
5
  # - section 9.2.5.2 ONEOF
6
- class OneofSupertypeExpression < SupertypeExpression
7
- model_attr_accessor :operands, "Array<SupertypeExpression>"
6
+ class OneofSupertypeExpression < ModelElement
7
+ attribute :operands, ModelElement, collection: true
8
+ attribute :_class, :string, default: -> { send(:name) }
8
9
 
9
- # @param [Hash] options
10
- # @option options [Array<SupertypeExpression>] :operands
11
- def initialize(options = {})
12
- @operands = options[:operands]
13
-
14
- super
10
+ key_value do
11
+ map "_class", to: :_class, render_default: true
12
+ map "operands", to: :operands
15
13
  end
16
14
  end
17
15
  end
@@ -1,15 +1,8 @@
1
1
  require_relative "model/model_element"
2
-
3
2
  require_relative "model/cache"
4
- require_relative "model/data_type"
5
- require_relative "model/declaration"
6
- require_relative "model/expression"
7
3
  require_relative "model/identifier"
8
- require_relative "model/literal"
9
- require_relative "model/reference"
10
4
  require_relative "model/repository"
11
- require_relative "model/statement"
12
- require_relative "model/supertype_expression"
5
+
13
6
  require_relative "model/data_types/aggregate"
14
7
  require_relative "model/data_types/array"
15
8
  require_relative "model/data_types/bag"
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "2.1.13".freeze
2
+ VERSION = "2.1.14".freeze
3
3
  end
data/lib/expressir.rb CHANGED
@@ -1,14 +1,15 @@
1
+ require "zeitwerk"
1
2
  require_relative "expressir/version"
2
-
3
3
  require_relative "expressir/cli"
4
4
  require_relative "expressir/config"
5
+ require "lutaml/model"
6
+ require "liquid" # To enable Lutaml::Model::Liquefiable
5
7
 
6
8
  # ..........................................................
7
9
  # https://bugs.ruby-lang.org/issues/19319
8
10
  # The issue is that this bug is fixed for 3.1 and above,
9
11
  # but not for 3.0 or 2.7, so we need a "safe" function
10
12
  # ..........................................................
11
-
12
13
  if RUBY_VERSION < "3.1"
13
14
  class String
14
15
  def safe_downcase
@@ -35,8 +36,11 @@ module Expressir
35
36
  end
36
37
  end
37
38
 
39
+ loader = Zeitwerk::Loader.for_gem
40
+ loader.setup
41
+
38
42
  Dir[File.join(__dir__, "expressir", "express", "*.rb")].sort.each do |fea|
39
43
  require fea
40
44
  end
41
45
 
42
- require_relative "expressir/liquid"
46
+ require_relative "expressir/model"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.13
4
+ version: 2.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-18 00:00:00.000000000 Z
11
+ date: 2025-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: lutaml-model
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.7'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: parslet
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +66,20 @@ dependencies:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: zeitwerk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.6'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.6'
55
83
  description: Expressir (“EXPRESS in Ruby”) is a Ruby parser for EXPRESS and a set
56
84
  of tools for accessing EXPRESS data models.
57
85
  email:
@@ -96,87 +124,8 @@ files:
96
124
  - lib/expressir/express/schema_head_formatter.rb
97
125
  - lib/expressir/express/visitor.rb
98
126
  - lib/expressir/liquid.rb
99
- - lib/expressir/liquid/cache_drop.rb
100
- - lib/expressir/liquid/data_type_drop.rb
101
- - lib/expressir/liquid/data_types/aggregate_drop.rb
102
- - lib/expressir/liquid/data_types/array_drop.rb
103
- - lib/expressir/liquid/data_types/bag_drop.rb
104
- - lib/expressir/liquid/data_types/binary_drop.rb
105
- - lib/expressir/liquid/data_types/boolean_drop.rb
106
- - lib/expressir/liquid/data_types/enumeration_drop.rb
107
- - lib/expressir/liquid/data_types/enumeration_item_drop.rb
108
- - lib/expressir/liquid/data_types/generic_drop.rb
109
- - lib/expressir/liquid/data_types/generic_entity_drop.rb
110
- - lib/expressir/liquid/data_types/integer_drop.rb
111
- - lib/expressir/liquid/data_types/list_drop.rb
112
- - lib/expressir/liquid/data_types/logical_drop.rb
113
- - lib/expressir/liquid/data_types/number_drop.rb
114
- - lib/expressir/liquid/data_types/real_drop.rb
115
- - lib/expressir/liquid/data_types/select_drop.rb
116
- - lib/expressir/liquid/data_types/set_drop.rb
117
- - lib/expressir/liquid/data_types/string_drop.rb
118
- - lib/expressir/liquid/declaration_drop.rb
119
- - lib/expressir/liquid/declarations/attribute_drop.rb
120
- - lib/expressir/liquid/declarations/constant_drop.rb
121
- - lib/expressir/liquid/declarations/entity_drop.rb
122
- - lib/expressir/liquid/declarations/function_drop.rb
123
- - lib/expressir/liquid/declarations/interface_drop.rb
124
- - lib/expressir/liquid/declarations/interface_item_drop.rb
125
- - lib/expressir/liquid/declarations/interfaced_item_drop.rb
126
- - lib/expressir/liquid/declarations/parameter_drop.rb
127
- - lib/expressir/liquid/declarations/procedure_drop.rb
128
- - lib/expressir/liquid/declarations/remark_item_drop.rb
129
- - lib/expressir/liquid/declarations/rule_drop.rb
130
- - lib/expressir/liquid/declarations/schema_drop.rb
131
- - lib/expressir/liquid/declarations/schema_version_drop.rb
132
- - lib/expressir/liquid/declarations/schema_version_item_drop.rb
133
- - lib/expressir/liquid/declarations/subtype_constraint_drop.rb
134
- - lib/expressir/liquid/declarations/type_drop.rb
135
- - lib/expressir/liquid/declarations/unique_rule_drop.rb
136
- - lib/expressir/liquid/declarations/variable_drop.rb
137
- - lib/expressir/liquid/declarations/where_rule_drop.rb
138
- - lib/expressir/liquid/expression_drop.rb
139
- - lib/expressir/liquid/expressions/aggregate_initializer_drop.rb
140
- - lib/expressir/liquid/expressions/aggregate_initializer_item_drop.rb
141
- - lib/expressir/liquid/expressions/binary_expression_drop.rb
142
- - lib/expressir/liquid/expressions/entity_constructor_drop.rb
143
- - lib/expressir/liquid/expressions/function_call_drop.rb
144
- - lib/expressir/liquid/expressions/interval_drop.rb
145
- - lib/expressir/liquid/expressions/query_expression_drop.rb
146
- - lib/expressir/liquid/expressions/unary_expression_drop.rb
147
- - lib/expressir/liquid/identifier_drop.rb
148
- - lib/expressir/liquid/literal_drop.rb
149
- - lib/expressir/liquid/literals/binary_drop.rb
150
- - lib/expressir/liquid/literals/integer_drop.rb
151
- - lib/expressir/liquid/literals/logical_drop.rb
152
- - lib/expressir/liquid/literals/real_drop.rb
153
- - lib/expressir/liquid/literals/string_drop.rb
154
- - lib/expressir/liquid/model_element_drop.rb
155
- - lib/expressir/liquid/reference_drop.rb
156
- - lib/expressir/liquid/references/attribute_reference_drop.rb
157
- - lib/expressir/liquid/references/group_reference_drop.rb
158
- - lib/expressir/liquid/references/index_reference_drop.rb
159
- - lib/expressir/liquid/references/simple_reference_drop.rb
160
- - lib/expressir/liquid/repository_drop.rb
161
- - lib/expressir/liquid/statement_drop.rb
162
- - lib/expressir/liquid/statements/alias_drop.rb
163
- - lib/expressir/liquid/statements/assignment_drop.rb
164
- - lib/expressir/liquid/statements/case_action_drop.rb
165
- - lib/expressir/liquid/statements/case_drop.rb
166
- - lib/expressir/liquid/statements/compound_drop.rb
167
- - lib/expressir/liquid/statements/escape_drop.rb
168
- - lib/expressir/liquid/statements/if_drop.rb
169
- - lib/expressir/liquid/statements/null_drop.rb
170
- - lib/expressir/liquid/statements/procedure_call_drop.rb
171
- - lib/expressir/liquid/statements/repeat_drop.rb
172
- - lib/expressir/liquid/statements/return_drop.rb
173
- - lib/expressir/liquid/statements/skip_drop.rb
174
- - lib/expressir/liquid/supertype_expression_drop.rb
175
- - lib/expressir/liquid/supertype_expressions/binary_supertype_expression_drop.rb
176
- - lib/expressir/liquid/supertype_expressions/oneof_supertype_expression_drop.rb
177
127
  - lib/expressir/model.rb
178
128
  - lib/expressir/model/cache.rb
179
- - lib/expressir/model/data_type.rb
180
129
  - lib/expressir/model/data_types/aggregate.rb
181
130
  - lib/expressir/model/data_types/array.rb
182
131
  - lib/expressir/model/data_types/bag.rb
@@ -194,7 +143,6 @@ files:
194
143
  - lib/expressir/model/data_types/select.rb
195
144
  - lib/expressir/model/data_types/set.rb
196
145
  - lib/expressir/model/data_types/string.rb
197
- - lib/expressir/model/declaration.rb
198
146
  - lib/expressir/model/declarations/attribute.rb
199
147
  - lib/expressir/model/declarations/constant.rb
200
148
  - lib/expressir/model/declarations/entity.rb
@@ -214,7 +162,6 @@ files:
214
162
  - lib/expressir/model/declarations/unique_rule.rb
215
163
  - lib/expressir/model/declarations/variable.rb
216
164
  - lib/expressir/model/declarations/where_rule.rb
217
- - lib/expressir/model/expression.rb
218
165
  - lib/expressir/model/expressions/aggregate_initializer.rb
219
166
  - lib/expressir/model/expressions/aggregate_initializer_item.rb
220
167
  - lib/expressir/model/expressions/binary_expression.rb
@@ -224,20 +171,17 @@ files:
224
171
  - lib/expressir/model/expressions/query_expression.rb
225
172
  - lib/expressir/model/expressions/unary_expression.rb
226
173
  - lib/expressir/model/identifier.rb
227
- - lib/expressir/model/literal.rb
228
174
  - lib/expressir/model/literals/binary.rb
229
175
  - lib/expressir/model/literals/integer.rb
230
176
  - lib/expressir/model/literals/logical.rb
231
177
  - lib/expressir/model/literals/real.rb
232
178
  - lib/expressir/model/literals/string.rb
233
179
  - lib/expressir/model/model_element.rb
234
- - lib/expressir/model/reference.rb
235
180
  - lib/expressir/model/references/attribute_reference.rb
236
181
  - lib/expressir/model/references/group_reference.rb
237
182
  - lib/expressir/model/references/index_reference.rb
238
183
  - lib/expressir/model/references/simple_reference.rb
239
184
  - lib/expressir/model/repository.rb
240
- - lib/expressir/model/statement.rb
241
185
  - lib/expressir/model/statements/alias.rb
242
186
  - lib/expressir/model/statements/assignment.rb
243
187
  - lib/expressir/model/statements/case.rb
@@ -250,7 +194,6 @@ files:
250
194
  - lib/expressir/model/statements/repeat.rb
251
195
  - lib/expressir/model/statements/return.rb
252
196
  - lib/expressir/model/statements/skip.rb
253
- - lib/expressir/model/supertype_expression.rb
254
197
  - lib/expressir/model/supertype_expressions/binary_supertype_expression.rb
255
198
  - lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb
256
199
  - lib/expressir/version.rb
@@ -270,14 +213,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
270
213
  requirements:
271
214
  - - ">="
272
215
  - !ruby/object:Gem::Version
273
- version: 2.7.0
216
+ version: 3.0.0
274
217
  required_rubygems_version: !ruby/object:Gem::Requirement
275
218
  requirements:
276
219
  - - ">="
277
220
  - !ruby/object:Gem::Version
278
221
  version: '0'
279
222
  requirements: []
280
- rubygems_version: 3.3.27
223
+ rubygems_version: 3.5.22
281
224
  signing_key:
282
225
  specification_version: 4
283
226
  summary: EXPRESS parser and toolkit for Ruby
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- class CacheDrop < ::Expressir::Liquid::ModelElementDrop
6
- def initialize(model)
7
- @model = model
8
- super
9
- end
10
-
11
- def version
12
- @model.version
13
- end
14
-
15
- def content
16
- ::Expressir::Liquid::ModelElementDrop.new(@model.content)
17
- end
18
- end
19
- end
20
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- class DataTypeDrop < ::Expressir::Liquid::ModelElementDrop
6
- end
7
- end
8
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- module DataTypes
6
- class AggregateDrop < ::Expressir::Liquid::DataTypeDrop
7
- include ::Expressir::Liquid::IdentifierDrop
8
-
9
- def initialize(model)
10
- @model = model
11
- initialize_identifier(@model)
12
- super
13
- end
14
-
15
- def base_type
16
- drop_klass_by_model(@model.base_type)
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- module DataTypes
6
- class ArrayDrop < ::Expressir::Liquid::DataTypeDrop
7
- def initialize(model)
8
- @model = model
9
- super
10
- end
11
-
12
- def bound1
13
- drop_klass_by_model(@model.bound1)
14
- end
15
-
16
- def bound2
17
- drop_klass_by_model(@model.bound2)
18
- end
19
-
20
- def optional
21
- @model.optional
22
- end
23
-
24
- def unique
25
- @model.unique
26
- end
27
-
28
- def base_type
29
- drop_klass_by_model(@model.base_type)
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- module DataTypes
6
- class BagDrop < ::Expressir::Liquid::DataTypeDrop
7
- def initialize(model)
8
- @model = model
9
- super
10
- end
11
-
12
- def bound1
13
- drop_klass_by_model(@model.bound1)
14
- end
15
-
16
- def bound2
17
- drop_klass_by_model(@model.bound2)
18
- end
19
-
20
- def base_type
21
- drop_klass_by_model(@model.base_type)
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- module DataTypes
6
- class BinaryDrop < ::Expressir::Liquid::DataTypeDrop
7
- def initialize(model)
8
- @model = model
9
- super
10
- end
11
-
12
- def width
13
- drop_klass_by_model(@model.width)
14
- end
15
-
16
- def fixed
17
- @model.fixed
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Expressir
4
- module Liquid
5
- module DataTypes
6
- class BooleanDrop < ::Expressir::Liquid::DataTypeDrop
7
- end
8
- end
9
- end
10
- end