Class: Expressir::Express::Builders::BuiltInBuilder
- Inherits:
-
Object
- Object
- Expressir::Express::Builders::BuiltInBuilder
show all
- Includes:
- Helpers
- Defined in:
- lib/expressir/express/builders/built_in_builder.rb
Overview
Builds built-in constant, function, and procedure reference nodes.
Instance Method Summary
collapse
Methods included from Helpers
#apply_qualifier, #extract_id_ref, #extract_interval_op, #extract_nested_text, #extract_operator, #extract_rel_op, #extract_text, #extract_unary_op, #first_value
Instance Method Details
#build_built_in_constant(ast_data) ⇒ Object
#build_built_in_function(ast_data) ⇒ Object
15
16
17
18
19
|
# File 'lib/expressir/express/builders/built_in_builder.rb', line 15
def build_built_in_function(ast_data)
id = (ast_data[:str]) ||
(ast_data)
Expressir::Model::References::SimpleReference.new(id: id)
end
|
#build_built_in_procedure(ast_data) ⇒ Object
21
22
23
24
25
|
# File 'lib/expressir/express/builders/built_in_builder.rb', line 21
def build_built_in_procedure(ast_data)
id = (ast_data[:str]) ||
(ast_data)
Expressir::Model::References::SimpleReference.new(id: id)
end
|
#build_general_ref(ast_data) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/expressir/express/builders/built_in_builder.rb', line 27
def build_general_ref(ast_data)
if ast_data[:constant_ref]
Builder.build({ constant_ref: ast_data[:constant_ref] })
elsif ast_data[:function_ref]
Builder.build({ function_ref: ast_data[:function_ref] })
elsif ast_data[:parameter_ref]
Builder.build({ parameter_ref: ast_data[:parameter_ref] })
elsif ast_data[:variable_ref]
Builder.build({ variable_ref: ast_data[:variable_ref] })
elsif ast_data[:entity_ref]
Builder.build({ entity_ref: ast_data[:entity_ref] })
elsif ast_data[:type_ref]
Builder.build({ type_ref: ast_data[:type_ref] })
elsif ast_data[:attribute_ref]
Builder.build({ attribute_ref: ast_data[:attribute_ref] })
elsif ast_data[:enumeration_ref]
Builder.build({ enumeration_ref: ast_data[:enumeration_ref] })
end
end
|
#build_item(ast_data) ⇒ Object
55
56
57
58
59
60
61
|
# File 'lib/expressir/express/builders/built_in_builder.rb', line 55
def build_item(ast_data)
if ast_data[:entity_ref]
Builder.build({ entity_ref: ast_data[:entity_ref] })
elsif ast_data[:type_ref]
Builder.build({ type_ref: ast_data[:type_ref] })
end
end
|
#build_named_types(ast_data) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/expressir/express/builders/built_in_builder.rb', line 47
def build_named_types(ast_data)
if ast_data[:entity_ref]
Builder.build({ entity_ref: ast_data[:entity_ref] })
elsif ast_data[:type_ref]
Builder.build({ type_ref: ast_data[:type_ref] })
end
end
|
#build_procedure_ref(ast_data) ⇒ Object
#build_schema_ref(ast_data) ⇒ Object