Class: Foobara::RemoteGenerator::Generators::AtomEntityGenerator
- Inherits:
-
LoadedEntityGenerator
- Object
- FilesGenerator
- TypescriptFromManifestBaseGenerator
- TypeGenerator
- ModelGenerator
- EntityGenerator
- LoadedEntityGenerator
- Foobara::RemoteGenerator::Generators::AtomEntityGenerator
- Defined in:
- foobara-typescript-remote-command-generator-1.3.1/src/generators/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
- #generated_type ⇒ Object
- #model_generators ⇒ Object
- #target_path ⇒ Object
- #template_path ⇒ Object
- #ts_instance_path ⇒ Object
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, #will_define
Methods inherited from ModelGenerator
#import_destructure, #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, lru_cache, #scoped_full_path, #type_guts, #type_name, #type_name_downcase, #type_prefix, #type_short_name
Methods inherited from TypescriptFromManifestBaseGenerator
#==, #attributes_to_ts_type, #auto_dirty_queries?, #collision_winners, #custom_type_to_ts_type_name, #dependency_group, #dependency_roots, #domain_name, #foobara_type_to_ts_type, #hash, #import_destructure, #import_path, #import_path_array, #initialize, manifest_to_generator_classes, #model_to_ts_model_name, #organization_name, #parent, #path_to_root, #templates_dir, #ts_instance_full_name, #ts_instance_full_path, #value_to_ts_value, #will_define
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::Generators::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 'src/generators/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
#generated_type ⇒ Object
39 40 41 |
# File 'src/generators/atom_entity_generator.rb', line 39 def generated_type "#{scoped_short_name}Atom" end |
#model_generators ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'src/generators/atom_entity_generator.rb', line 25 def model_generators @model_generators ||= types_depended_on.select(&:model?).map do |model| if model.detached_entity? UnloadedEntityGenerator.new(model) else AtomModelGenerator.new(model) end end end |
#target_path ⇒ Object
17 18 19 |
# File 'src/generators/atom_entity_generator.rb', line 17 def target_path [*super[..-2], "Atom.ts"] end |
#template_path ⇒ Object
21 22 23 |
# File 'src/generators/atom_entity_generator.rb', line 21 def template_path ["Entity", "Atom.ts.erb"] end |
#ts_instance_path ⇒ Object
35 36 37 |
# File 'src/generators/atom_entity_generator.rb', line 35 def ts_instance_path [*model_prefix, generated_type] end |