Class: Foobara::RemoteGenerator::GenerateTypescript
Defined Under Namespace
Classes: MissingManifestError
Constant Summary
TruncatedInspect::MAX_LENGTH
Instance Attribute Summary collapse
#element_to_generate
Instance Method Summary
collapse
#each_element_to_generate, #elements_to_generate, #generate_element, #generated, #generated_elements, #include_non_templated_files, #paths_to_source_code
Methods inherited from Command
install!
install_state_machine_callback_methods
#inspect, truncating
Methods included from Concern
foobara_class_methods_module_for, foobara_concern?, included
Instance Attribute Details
#command_manifest ⇒ Object
Returns the value of attribute command_manifest.
60
61
62
|
# File 'src/generate_typescript.rb', line 60
def command_manifest
@command_manifest
end
|
#manifest_data ⇒ Object
Returns the value of attribute manifest_data.
60
61
62
|
# File 'src/generate_typescript.rb', line 60
def manifest_data
@manifest_data
end
|
Instance Method Details
#add_all_commands_to_set_of_elements_to_generate ⇒ Object
91
92
93
94
95
96
97
|
# File 'src/generate_typescript.rb', line 91
def add_all_commands_to_set_of_elements_to_generate
manifest.commands.each do |command|
elements_to_generate << command
elements_to_generate << command.domain
elements_to_generate << command.organization
end
end
|
#add_root_manifest_to_set_of_elements_to_generate ⇒ Object
99
100
101
|
# File 'src/generate_typescript.rb', line 99
def add_root_manifest_to_set_of_elements_to_generate
elements_to_generate << manifest
end
|
#apply_remote_generator_config ⇒ Object
#execute ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'src/generate_typescript.rb', line 24
def execute
apply_remote_generator_config do
load_manifest_if_needed
include_non_templated_files
add_root_manifest_to_set_of_elements_to_generate
add_all_commands_to_set_of_elements_to_generate
each_element_to_generate do
generate_element
end
end
paths_to_source_code
end
|
#load_manifest_if_needed ⇒ Object
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'src/generate_typescript.rb', line 70
def load_manifest_if_needed
self.manifest_data = if raw_manifest
raw_manifest
elsif manifest_url
url = URI.parse(manifest_url)
response = Net::HTTP.get_response(url)
manifest_json = if response.is_a?(Net::HTTPSuccess)
response.body
else
raise "Could not get manifest from #{url}: " \
"#{response.code} #{response.message}"
end
JSON.parse(manifest_json)
end
end
|
#manifest ⇒ Object
103
104
105
|
# File 'src/generate_typescript.rb', line 103
def manifest
@manifest ||= Manifest::RootManifest.new(manifest_data)
end
|
#templates_dir ⇒ Object
66
67
68
|
# File 'src/generate_typescript.rb', line 66
def templates_dir
"#{__dir__}/../templates"
end
|
#validate ⇒ Object
52
53
54
55
56
57
58
|
# File 'src/generate_typescript.rb', line 52
def validate
if raw_manifest.nil? && manifest_url.nil?
add_runtime_error(MissingManifestError.new(message: "Either raw_manifest or manifest_url must be given"))
end
end
|