Class: Foobara::RemoteGenerator::Services::DomainGenerator
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary
#belongs_to_dependency_group, #relevant_manifest
Instance Method Summary
collapse
#==, #attributes_to_ts_type, #custom_type_to_ts_type_name, #dependency_group, #dependency_roots, #foobara_type_to_ts_type, #hash, #import_path, #import_path_array, #initialize, manifest_to_generator_classes, #model_to_ts_model_name, #parent, #templates_dir, #ts_instance_full_name, #ts_instance_full_path, #ts_instance_path, #ts_type_full_path, #value_to_ts_value
#==, #absolute_template_path, #applicable?, #dependencies_to_generate, #eql?, #erb_template, #generate, generator_for, #generator_for, generators_for, #generators_for, #hash, #initialize, manifest_to_generator_classes, #method_missing, #path_to_root, #respond_to_missing?, #target_dir, #template_string, #templates_dir
#inspect, truncating
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Foobara::FilesGenerator
Instance Method Details
#command_generators ⇒ Object
25
26
27
28
29
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 25
def command_generators
@command_generators ||= domain_manifest.commands.map do |command_manifest|
generator_for(command_manifest)
end
end
|
#dependencies ⇒ Object
60
61
62
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 60
def dependencies
[*command_generators, *model_generators, *entity_generators, *type_generators, *organization]
end
|
#domain_name ⇒ Object
64
65
66
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 64
def domain_name
scoped_name || "GlobalDomain"
end
|
#entity_generators ⇒ Object
31
32
33
34
35
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 31
def entity_generators
@entity_generators ||= domain_manifest.entities.map do |entity_manifest|
EntityGenerator.new(entity_manifest)
end
end
|
#import_destructure ⇒ Object
9
10
11
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 9
def import_destructure
"* as #{domain_name}"
end
|
#model_generators ⇒ Object
49
50
51
52
53
54
55
56
57
58
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 49
def model_generators
@model_generators ||= begin
only_models = domain_manifest.models.reject(&:detached_entity?)
only_models.map do |model_manifest|
ModelGenerator.new(model_manifest)
end
end
end
|
#organization_generator ⇒ Object
68
69
70
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 68
def organization_generator
@organization_generator ||= OrganizationGenerator.new(domain_manifest.organization)
end
|
#target_path ⇒ Object
13
14
15
16
17
18
19
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 13
def target_path
if global?
["GlobalDomain", "index.ts"]
else
[*scoped_full_path, "index.ts"]
end
end
|
#template_path ⇒ Object
21
22
23
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 21
def template_path
"Domain.ts.erb"
end
|
#type_generators ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
|
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/domain_generator.rb', line 37
def type_generators
@type_generators ||= begin
only_custom_types = domain_manifest.types.reject(&:model?)
only_custom_types.reject!(&:builtin?)
only_custom_types.map do |type|
TypeGenerator.new(type)
end
end
end
|