Class: Gapic::Generators::DefaultGenerator
- Inherits:
-
BaseGenerator
- Object
- BaseGenerator
- Gapic::Generators::DefaultGenerator
- Defined in:
- lib/gapic/generators/default_generator.rb
Overview
The generator orchestrates the rendering of templates.
Instance Method Summary collapse
-
#generate ⇒ Array< Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates all the files for the API.
-
#initialize(api) ⇒ DefaultGenerator
constructor
Initializes the generator.
Constructor Details
#initialize(api) ⇒ DefaultGenerator
Initializes the generator.
27 28 29 30 31 32 33 34 35 |
# File 'lib/gapic/generators/default_generator.rb', line 27 def initialize api super # Configure to use a custom templates directory use_templates! File.join __dir__, "../../../templates/default" # Configure these helper method to be used by the generator use_helpers! :gem_presenter end |
Instance Method Details
#generate ⇒ Array< Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates all the files for the API.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/gapic/generators/default_generator.rb', line 46 def generate files = [] gem = gem_presenter @api gem.packages.each do |package| # Package level files files << g("package.erb", "lib/#{package.package_file_path}", package: package) package.services.each do |service| # Service level files files << g("service.erb", "lib/#{service.service_file_path}", service: service) files << g("service/client.erb", "lib/#{service.client_file_path}", service: service) files << g("service/credentials.erb", "lib/#{service.credentials_file_path}", service: service) files << g("service/paths.erb", "lib/#{service.paths_file_path}", service: service) if service.paths? files << g("service/operations.erb", "lib/#{service.operations_file_path}", service: service) if service.lro? files << g("service/test/client.erb", "test/#{service.test_client_file_path}", service: service) files << g("service/test/client_operations.erb", "test/#{service.test_client_operations_file_path}", service: service) if service.lro? end end # Gem level files files << g("gem/gitignore.erb", ".gitignore", gem: gem) files << g("gem/version.erb", "lib/#{gem.version_file_path}", gem: gem) files << g("gem/gemspec.erb", "#{gem.name}.gemspec", gem: gem) files << g("gem/gemfile.erb", "Gemfile", gem: gem) files << g("gem/rakefile.erb", "Rakefile", gem: gem) files << g("gem/readme.erb", "README.md", gem: gem) files << g("gem/changelog.erb", "CHANGELOG.md", gem: gem) files << g("gem/rubocop.erb", ".rubocop.yml", gem: gem) files << g("gem/yardopts.erb", ".yardopts", gem: gem) files << g("gem/license.erb", "LICENSE.md", gem: gem) gem.proto_files.each do |proto_file| files << g("proto_docs/proto_file.erb", "proto_docs/#{proto_file.docs_file_path}", file: proto_file) end files << g("proto_docs/readme.erb", "proto_docs/README.md", gem: gem) format_files files files end |