Class: Stupidedi::Schema::Generation::DefinitionGenerator
- Inherits:
-
Object
- Object
- Stupidedi::Schema::Generation::DefinitionGenerator
show all
- Includes:
- Support
- Defined in:
- lib/stupidedi/schema/generation/definition_generator.rb
Overview
Generates one transaction-set standard file (e.g. SM204.rb). Walks the
transaction set's table definitions and recursively emits loops and
segment uses. This is the heart of the grammar.
Constant Summary
collapse
- AREA_METHODS =
{
"heading" => "header",
"detail" => "detail",
"summary" => "summary"
}.freeze
Instance Method Summary
collapse
Methods included from Support
#namespace, #namespace_path
Constructor Details
#initialize(transaction_set, namespace: "Edi") ⇒ DefinitionGenerator
Returns a new instance of DefinitionGenerator.
18
19
20
21
|
# File 'lib/stupidedi/schema/generation/definition_generator.rb', line 18
def initialize(transaction_set, namespace: "Edi")
@transaction_set = transaction_set
@namespace = namespace
end
|
Instance Method Details
#constant_name ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/stupidedi/schema/generation/definition_generator.rb', line 28
def constant_name
func_group = transaction_set.func_group
code = transaction_set.code
func_group = "TS" if func_group.nil? || func_group.empty?
"#{func_group}#{code}"
end
|
#generate ⇒ Object
23
24
25
26
|
# File 'lib/stupidedi/schema/generation/definition_generator.rb', line 23
def generate
validate_release!
build_ruby_content
end
|
#output_path ⇒ Object
36
37
38
|
# File 'lib/stupidedi/schema/generation/definition_generator.rb', line 36
def output_path
"#{namespace_path}/#{underscore(version_module)}/standards/#{constant_name}.rb"
end
|