Class: Foobara::RemoteGenerator::Services::AtomEntityGenerator
- Inherits:
-
LoadedEntityGenerator
- Object
- FilesGenerator
- TypescriptFromManifestBaseGenerator
- TypeGenerator
- ModelGenerator
- EntityGenerator
- LoadedEntityGenerator
- Foobara::RemoteGenerator::Services::AtomEntityGenerator
- Defined in:
- foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb
Constant Summary
Constants included from TruncatedInspect
Instance Attribute Summary
Attributes inherited from FilesGenerator
#belongs_to_dependency_group, #relevant_manifest
Class Method Summary collapse
Instance Method Summary collapse
- #model_generators ⇒ Object
- #target_path ⇒ Object
- #template_path ⇒ Object
- #ts_instance_full_path ⇒ Object
- #ts_instance_path ⇒ Object
Methods inherited from LoadedEntityGenerator
Methods inherited from EntityGenerator
#association_property_paths_ts, #attribute_names, #entity_name, #entity_name_downcase, #entity_short_name, #primary_key_name, #primary_key_ts_type
Methods inherited from ModelGenerator
#model_name, #model_name_downcase, #model_prefix, #model_short_name
Methods inherited from TypeGenerator
#aggregate_attributes_ts_type, #atom_attributes_ts_type, #attribute_names, #attributes_type_ts_type, #custom_type_generators, #dependencies, #scoped_full_path, #type_guts, #type_name, #type_name_downcase, #type_prefix, #type_short_name
Methods inherited from TypescriptFromManifestBaseGenerator
#==, #attributes_to_ts_type, #custom_type_to_ts_type_name, #dependency_group, #dependency_roots, #foobara_type_to_ts_type, #hash, #import_destructure, #import_path, #import_path_array, #initialize, manifest_to_generator_classes, #model_to_ts_model_name, #parent, #templates_dir, #ts_instance_full_name, #ts_type_full_path, #value_to_ts_value
Methods inherited from FilesGenerator
#==, #absolute_template_path, #applicable?, #dependencies, #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
Methods included from TruncatedInspect
Constructor Details
This class inherits a constructor from Foobara::RemoteGenerator::Services::TypescriptFromManifestBaseGenerator
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Foobara::FilesGenerator
Class Method Details
.new(relevant_manifest) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 6 def new(relevant_manifest) return super unless self == AtomEntityGenerator if relevant_manifest.has_associations? super else LoadedEntityGenerator.new(relevant_manifest) end end |
Instance Method Details
#model_generators ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 25 def model_generators types_depended_on.select(&:model?).map do |model| if model.detached_entity? Services::UnloadedEntityGenerator.new(model) else Services::AtomModelGenerator.new(model) end end end |
#target_path ⇒ Object
17 18 19 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 17 def target_path [*super[..-2], "Atom.ts"] end |
#template_path ⇒ Object
21 22 23 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 21 def template_path ["Entity", "Atom.ts.erb"] end |
#ts_instance_full_path ⇒ Object
40 41 42 43 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 40 def ts_instance_full_path *prefix, name = scoped_full_path [*prefix, "#{name}Atom"] end |
#ts_instance_path ⇒ Object
35 36 37 38 |
# File 'foobara-typescript-remote-command-generator-0.0.18/src/remote_generator/services/atom_entity_generator.rb', line 35 def ts_instance_path *prefix, name = scoped_path [*prefix, "#{name}Atom"] end |