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.
Class Method Summary collapse
-
.parameter_schema ⇒ Gapic::Schema::ParameterSchema
Schema of the parameters that the generator accepts.
Instance Method Summary collapse
-
#generate(gem_presenter: nil) ⇒ 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.
29 30 31 32 33 34 |
# File 'lib/gapic/generators/default_generator.rb', line 29 def initialize api super # Configure to use a custom templates directory use_templates! File.join __dir__, "../../../templates/default" end |
Class Method Details
.parameter_schema ⇒ Gapic::Schema::ParameterSchema
Schema of the parameters that the generator accepts
96 97 98 |
# File 'lib/gapic/generators/default_generator.rb', line 96 def self.parameter_schema DefaultGeneratorParameters.default_schema end |
Instance Method Details
#generate(gem_presenter: nil) ⇒ Array< Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates all the files for the API.
45 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 88 89 90 |
# File 'lib/gapic/generators/default_generator.rb', line 45 def generate gem_presenter: nil files = [] gem = gem_presenter || Gapic::Presenters.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) unless gem.generic_endpoint? 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_paths.erb", "test/#{service.test_paths_file_path}", service: service) if service.paths? 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/test_helper.erb", "test/helper.rb", 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) files << g("gem/entrypoint.erb", "lib/#{gem.name}.rb", gem: gem) files << g("gem/gapic_metadata_json.erb", "gapic_metadata.json", 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 |