Class: Generator::Entrypoint
- Inherits:
-
Object
- Object
- Generator::Entrypoint
show all
- Includes:
- FileWriter
- Defined in:
- lib/generator/entrypoint.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from FileWriter
#format_files, #write_file
Constructor Details
Returns a new instance of Entrypoint.
25
26
27
|
# File 'lib/generator/entrypoint.rb', line 25
def initialize(apis)
@apis = apis
end
|
Instance Attribute Details
#apis ⇒ Object
Returns the value of attribute apis.
16
17
18
|
# File 'lib/generator/entrypoint.rb', line 16
def apis
@apis
end
|
Class Method Details
.generate ⇒ Object
19
20
21
22
|
# File 'lib/generator/entrypoint.rb', line 19
def generate
new(API.apis).generate
Generator.logger.info("Generated entry point")
end
|
Instance Method Details
#apis_with_latest_version ⇒ Object
45
46
47
48
49
50
|
# File 'lib/generator/entrypoint.rb', line 45
def apis_with_latest_version
apis.group_by(&:name).transform_values do |api_list|
latest_version = VersionSelector.find_latest_version(api_list.map(&:version))
api_list.find { |api| api.version == latest_version }
end.sort.to_h
end
|
#generate ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/generator/entrypoint.rb', line 29
def generate
written_files = []
written_files << write_file(file_path, render_template)
written_files << RBS::Entrypoint.new(apis).generate
format_files(written_files)
end
|
#required_libraries ⇒ Object
41
42
43
|
# File 'lib/generator/entrypoint.rb', line 41
def required_libraries
apis.map(&:library_name).append("peddler/lwa").sort
end
|