expressir 2.0.0 → 2.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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +15 -1
- data/Gemfile +0 -1
- data/exe/{format-test → expressir-format-test} +1 -1
- data/expressir.gemspec +2 -2
- data/lib/expressir/liquid/cache_drop.rb +20 -0
- data/lib/expressir/liquid/data_type_drop.rb +8 -0
- data/lib/expressir/liquid/data_types/aggregate_drop.rb +21 -0
- data/lib/expressir/liquid/data_types/array_drop.rb +34 -0
- data/lib/expressir/liquid/data_types/bag_drop.rb +26 -0
- data/lib/expressir/liquid/data_types/binary_drop.rb +22 -0
- data/lib/expressir/liquid/data_types/boolean_drop.rb +10 -0
- data/lib/expressir/liquid/data_types/enumeration_drop.rb +30 -0
- data/lib/expressir/liquid/data_types/enumeration_item_drop.rb +17 -0
- data/lib/expressir/liquid/data_types/generic_drop.rb +17 -0
- data/lib/expressir/liquid/data_types/generic_entity_drop.rb +17 -0
- data/lib/expressir/liquid/data_types/integer_drop.rb +10 -0
- data/lib/expressir/liquid/data_types/list_drop.rb +30 -0
- data/lib/expressir/liquid/data_types/logical_drop.rb +10 -0
- data/lib/expressir/liquid/data_types/number_drop.rb +10 -0
- data/lib/expressir/liquid/data_types/real_drop.rb +18 -0
- data/lib/expressir/liquid/data_types/select_drop.rb +34 -0
- data/lib/expressir/liquid/data_types/set_drop.rb +26 -0
- data/lib/expressir/liquid/data_types/string_drop.rb +22 -0
- data/lib/expressir/liquid/declaration_drop.rb +8 -0
- data/lib/expressir/liquid/declarations/attribute_drop.rb +37 -0
- data/lib/expressir/liquid/declarations/constant_drop.rb +25 -0
- data/lib/expressir/liquid/declarations/entity_drop.rb +65 -0
- data/lib/expressir/liquid/declarations/function_drop.rb +93 -0
- data/lib/expressir/liquid/declarations/interface_drop.rb +30 -0
- data/lib/expressir/liquid/declarations/interface_item_drop.rb +22 -0
- data/lib/expressir/liquid/declarations/interfaced_item_drop.rb +34 -0
- data/lib/expressir/liquid/declarations/parameter_drop.rb +25 -0
- data/lib/expressir/liquid/declarations/procedure_drop.rb +89 -0
- data/lib/expressir/liquid/declarations/remark_item_drop.rb +22 -0
- data/lib/expressir/liquid/declarations/rule_drop.rb +105 -0
- data/lib/expressir/liquid/declarations/schema_drop.rb +91 -0
- data/lib/expressir/liquid/declarations/schema_version_drop.rb +26 -0
- data/lib/expressir/liquid/declarations/schema_version_item_drop.rb +22 -0
- data/lib/expressir/liquid/declarations/subtype_constraint_drop.rb +37 -0
- data/lib/expressir/liquid/declarations/type_drop.rb +37 -0
- data/lib/expressir/liquid/declarations/unique_rule_drop.rb +21 -0
- data/lib/expressir/liquid/declarations/variable_drop.rb +25 -0
- data/lib/expressir/liquid/declarations/where_rule_drop.rb +21 -0
- data/lib/expressir/liquid/expression_drop.rb +8 -0
- data/lib/expressir/liquid/expressions/aggregate_initializer_drop.rb +24 -0
- data/lib/expressir/liquid/expressions/aggregate_initializer_item_drop.rb +22 -0
- data/lib/expressir/liquid/expressions/binary_expression_drop.rb +26 -0
- data/lib/expressir/liquid/expressions/entity_constructor_drop.rb +26 -0
- data/lib/expressir/liquid/expressions/function_call_drop.rb +26 -0
- data/lib/expressir/liquid/expressions/interval_drop.rb +34 -0
- data/lib/expressir/liquid/expressions/query_expression_drop.rb +25 -0
- data/lib/expressir/liquid/expressions/unary_expression_drop.rb +22 -0
- data/lib/expressir/liquid/identifier_drop.rb +33 -0
- data/lib/expressir/liquid/literal_drop.rb +8 -0
- data/lib/expressir/liquid/literals/binary_drop.rb +18 -0
- data/lib/expressir/liquid/literals/integer_drop.rb +18 -0
- data/lib/expressir/liquid/literals/logical_drop.rb +18 -0
- data/lib/expressir/liquid/literals/real_drop.rb +18 -0
- data/lib/expressir/liquid/literals/string_drop.rb +22 -0
- data/lib/expressir/liquid/model_element_drop.rb +33 -0
- data/lib/expressir/liquid/reference_drop.rb +8 -0
- data/lib/expressir/liquid/references/attribute_reference_drop.rb +22 -0
- data/lib/expressir/liquid/references/group_reference_drop.rb +22 -0
- data/lib/expressir/liquid/references/index_reference_drop.rb +26 -0
- data/lib/expressir/liquid/references/simple_reference_drop.rb +22 -0
- data/lib/expressir/liquid/repository_drop.rb +22 -0
- data/lib/expressir/liquid/statement_drop.rb +8 -0
- data/lib/expressir/liquid/statements/alias_drop.rb +29 -0
- data/lib/expressir/liquid/statements/assignment_drop.rb +22 -0
- data/lib/expressir/liquid/statements/case_action_drop.rb +26 -0
- data/lib/expressir/liquid/statements/case_drop.rb +30 -0
- data/lib/expressir/liquid/statements/compound_drop.rb +22 -0
- data/lib/expressir/liquid/statements/escape_drop.rb +10 -0
- data/lib/expressir/liquid/statements/if_drop.rb +34 -0
- data/lib/expressir/liquid/statements/null_drop.rb +10 -0
- data/lib/expressir/liquid/statements/procedure_call_drop.rb +26 -0
- data/lib/expressir/liquid/statements/repeat_drop.rb +45 -0
- data/lib/expressir/liquid/statements/return_drop.rb +18 -0
- data/lib/expressir/liquid/statements/skip_drop.rb +10 -0
- data/lib/expressir/liquid/supertype_expression_drop.rb +8 -0
- data/lib/expressir/liquid/supertype_expressions/binary_supertype_expression_drop.rb +26 -0
- data/lib/expressir/liquid/supertype_expressions/oneof_supertype_expression_drop.rb +22 -0
- data/lib/expressir/liquid.rb +18 -0
- data/lib/expressir/model/model_element.rb +7 -0
- data/lib/expressir/version.rb +1 -1
- data/lib/expressir.rb +2 -0
- metadata +98 -8
- /data/exe/{format → expressir-format} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Declarations
|
|
6
|
+
class WhereRuleDrop < ::Expressir::Liquid::DeclarationDrop
|
|
7
|
+
include ::Expressir::Liquid::IdentifierDrop
|
|
8
|
+
|
|
9
|
+
def initialize(model)
|
|
10
|
+
@model = model
|
|
11
|
+
initialize_identifier(@model)
|
|
12
|
+
super
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def expression
|
|
16
|
+
drop_klass_by_model(@model.expression)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class AggregateInitializerDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def items
|
|
13
|
+
return [] unless @model.items
|
|
14
|
+
|
|
15
|
+
@model.items.map do |item|
|
|
16
|
+
::Expressir::Liquid::Expressions::AggregateInitializerItemDrop.new(
|
|
17
|
+
item,
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class AggregateInitializerItemDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def expression
|
|
13
|
+
drop_klass_by_model(@model.expression)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def repetition
|
|
17
|
+
drop_klass_by_model(@model.repetition)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class BinaryExpressionDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def operator
|
|
13
|
+
@model.operator
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def operand1
|
|
17
|
+
drop_klass_by_model(@model.operand1)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def operand2
|
|
21
|
+
drop_klass_by_model(@model.operand2)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class EntityConstructorDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def entity
|
|
13
|
+
drop_klass_by_model(@model.entity)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def parameters
|
|
17
|
+
return [] unless @model.parameters
|
|
18
|
+
|
|
19
|
+
@model.parameters.map do |item|
|
|
20
|
+
drop_klass_by_model(item)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class FunctionCallDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def function
|
|
13
|
+
drop_klass_by_model(@model.function)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def parameters
|
|
17
|
+
return [] unless @model.parameters
|
|
18
|
+
|
|
19
|
+
@model.parameters.map do |item|
|
|
20
|
+
drop_klass_by_model(item)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class IntervalDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def low
|
|
13
|
+
drop_klass_by_model(@model.low)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def operator1
|
|
17
|
+
@model.operator1
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def item
|
|
21
|
+
drop_klass_by_model(@model.item)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def operator2
|
|
25
|
+
@model.operator2
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def high
|
|
29
|
+
drop_klass_by_model(@model.high)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class QueryExpressionDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
include ::Expressir::Liquid::IdentifierDrop
|
|
8
|
+
|
|
9
|
+
def initialize(model)
|
|
10
|
+
@model = model
|
|
11
|
+
initialize_identifier(@model)
|
|
12
|
+
super
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def aggregate_source
|
|
16
|
+
drop_klass_by_model(@model.aggregate_source)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def expression
|
|
20
|
+
drop_klass_by_model(@model.expression)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Expressions
|
|
6
|
+
class UnaryExpressionDrop < ::Expressir::Liquid::ExpressionDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def operator
|
|
13
|
+
@model.operator
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def operand
|
|
17
|
+
drop_klass_by_model(@model.operand)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "declarations/remark_item_drop"
|
|
4
|
+
|
|
5
|
+
module Expressir
|
|
6
|
+
module Liquid
|
|
7
|
+
module IdentifierDrop
|
|
8
|
+
def initialize_identifier(model)
|
|
9
|
+
@model = model
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id
|
|
13
|
+
@model.id
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def remarks
|
|
17
|
+
@model.remarks || []
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def remark_items
|
|
21
|
+
return [] unless @model.remark_items
|
|
22
|
+
|
|
23
|
+
@model.remark_items.map do |item|
|
|
24
|
+
::Expressir::Liquid::RemarkItemDrop.new(item)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def source
|
|
29
|
+
@model.source
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Literals
|
|
6
|
+
class BinaryDrop < ::Expressir::Liquid::LiteralDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value
|
|
13
|
+
@model.value
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Literals
|
|
6
|
+
class IntegerDrop < ::Expressir::Liquid::LiteralDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value
|
|
13
|
+
@model.value
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Literals
|
|
6
|
+
class LogicalDrop < ::Expressir::Liquid::LiteralDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value
|
|
13
|
+
@model.value
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Literals
|
|
6
|
+
class RealDrop < ::Expressir::Liquid::LiteralDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value
|
|
13
|
+
@model.value
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Literals
|
|
6
|
+
class StringDrop < ::Expressir::Liquid::LiteralDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def value
|
|
13
|
+
@model.value
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def encoded
|
|
17
|
+
@model.encoded
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
class ModelElementDrop < ::Liquid::Drop
|
|
6
|
+
def initialize(model) # rubocop:disable Lint/MissingSuper
|
|
7
|
+
@model = model
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def _class
|
|
11
|
+
@model.class.name
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def file
|
|
15
|
+
@model.file if @model.respond_to?(:file)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def source
|
|
19
|
+
@model.source if @model.respond_to?(:source)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def drop_klass_by_model(model)
|
|
25
|
+
return nil if model.nil?
|
|
26
|
+
|
|
27
|
+
klass_name = "#{model.class.name.gsub('::Model::', '::Liquid::')}Drop"
|
|
28
|
+
klass = Object.const_get(klass_name)
|
|
29
|
+
klass.new(model)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module References
|
|
6
|
+
class AttributeReferenceDrop < ::Expressir::Liquid::ReferenceDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def ref
|
|
13
|
+
drop_klass_by_model(@model.ref)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def attribute
|
|
17
|
+
drop_klass_by_model(@model.attribute)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module References
|
|
6
|
+
class GroupReferenceDrop < ::Expressir::Liquid::ReferenceDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def ref
|
|
13
|
+
drop_klass_by_model(@model.ref)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def entity
|
|
17
|
+
drop_klass_by_model(@model.entity)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module References
|
|
6
|
+
class IndexReferenceDrop < ::Expressir::Liquid::ReferenceDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def ref
|
|
13
|
+
drop_klass_by_model(@model.ref)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def index1
|
|
17
|
+
drop_klass_by_model(@model.index1)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def index2
|
|
21
|
+
drop_klass_by_model(@model.index2)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module References
|
|
6
|
+
class SimpleReferenceDrop < ::Expressir::Liquid::ReferenceDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def id
|
|
13
|
+
@model.id
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def base_path
|
|
17
|
+
@model.base_path
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "declarations/schema_drop"
|
|
4
|
+
|
|
5
|
+
module Expressir
|
|
6
|
+
module Liquid
|
|
7
|
+
class RepositoryDrop < ::Expressir::Liquid::ModelElementDrop
|
|
8
|
+
def initialize(model)
|
|
9
|
+
@model = model
|
|
10
|
+
super
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def schemas
|
|
14
|
+
return [] unless @model.schemas
|
|
15
|
+
|
|
16
|
+
@model.schemas.map do |item|
|
|
17
|
+
::Expressir::Liquid::Declarations::SchemaDrop.new(item)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Statements
|
|
6
|
+
class AliasDrop < ::Expressir::Liquid::StatementDrop
|
|
7
|
+
include ::Expressir::Liquid::IdentifierDrop
|
|
8
|
+
|
|
9
|
+
def initialize(model)
|
|
10
|
+
@model = model
|
|
11
|
+
initialize_identifier(@model)
|
|
12
|
+
super
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def expression
|
|
16
|
+
drop_klass_by_model(@model.expression)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def statements
|
|
20
|
+
return [] unless @model.statements
|
|
21
|
+
|
|
22
|
+
@model.statements.map do |item|
|
|
23
|
+
::Expressir::Liquid::StatementDrop.new(item)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Statements
|
|
6
|
+
class AssignmentDrop < ::Expressir::Liquid::StatementDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def ref
|
|
13
|
+
drop_klass_by_model(@model.ref)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def expression
|
|
17
|
+
drop_klass_by_model(@model.expression)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Statements
|
|
6
|
+
class CaseActionDrop < ::Expressir::Liquid::StatementDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def labels
|
|
13
|
+
return [] unless @model.labels
|
|
14
|
+
|
|
15
|
+
@model.labels.map do |item|
|
|
16
|
+
drop_klass_by_model(item)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def statement
|
|
21
|
+
::Expressir::Liquid::StatementDrop.new(@model.statement)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Expressir
|
|
4
|
+
module Liquid
|
|
5
|
+
module Statements
|
|
6
|
+
class CaseDrop < ::Expressir::Liquid::StatementDrop
|
|
7
|
+
def initialize(model)
|
|
8
|
+
@model = model
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def expression
|
|
13
|
+
drop_klass_by_model(@model.expression)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def actions
|
|
17
|
+
return [] unless @model.actions
|
|
18
|
+
|
|
19
|
+
@model.actions.map do |item|
|
|
20
|
+
::Expressir::Liquid::CaseActionDrop.new(item)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def otherwise_statement
|
|
25
|
+
::Expressir::Liquid::StatementDrop.new(@model.otherwise_statement)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|