Class: Gapic::Generators::CloudGenerator
- Inherits:
-
DefaultGenerator
- Object
- DefaultGenerator
- Gapic::Generators::CloudGenerator
- Defined in:
- lib/gapic/generators/cloud_generator.rb
Overview
The generator orchestrates the rendering of templates for Google Cloud projects.
Instance Method Summary collapse
-
#generate ⇒ Array< Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates all the files for the API.
-
#generate_wrapper ⇒ Array<Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates the files for a wrapper.
-
#initialize(api) ⇒ CloudGenerator
constructor
Initializes the generator.
Constructor Details
#initialize(api) ⇒ CloudGenerator
Initializes the generator.
30 31 32 33 34 35 36 37 38 |
# File 'lib/gapic/generators/cloud_generator.rb', line 30 def initialize api gem_config = api.configuration[:gem] ||= {} gem_config[:homepage] ||= "https://github.com/googleapis/google-cloud-ruby" super # Configure to use prefer Google Cloud templates use_templates! File.join __dir__, "../../../templates/cloud" end |
Instance Method Details
#generate ⇒ 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 |
# File 'lib/gapic/generators/cloud_generator.rb', line 45 def generate gem_config = @api.configuration[:gem] ||= {} return generate_wrapper if gem_config[:version_dependencies] orig_files = super cloud_files = [] gem = Gapic::Presenters.gem_presenter @api # Additional Gem level files cloud_files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem) cloud_files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem) unless gem.services.empty? format_files cloud_files orig_files + cloud_files end |
#generate_wrapper ⇒ Array<Google::Protobuf::Compiler::CodeGeneratorResponse::File>
Generates the files for a wrapper.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/gapic/generators/cloud_generator.rb', line 73 def generate_wrapper files = [] gem = Gapic::Presenters.wrapper_gem_presenter @api files << g("gem/gitignore.erb", ".gitignore", gem: gem) files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem) files << g("wrapper_gem/rubocop.erb", ".rubocop.yml", gem: gem) files << g("wrapper_gem/yardopts.erb", ".yardopts", gem: gem) files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem) files << g("gem/changelog.erb", "CHANGELOG.md", gem: gem) files << g("wrapper_gem/gemfile.erb", "Gemfile", gem: gem) files << g("gem/license.erb", "LICENSE.md", gem: gem) files << g("wrapper_gem/rakefile.erb", "Rakefile", gem: gem) files << g("wrapper_gem/readme.erb", "README.md", gem: gem) files << g("wrapper_gem/gemspec.erb", "#{gem.name}.gemspec", gem: gem) files << g("wrapper_gem/entrypoint.erb", "lib/#{gem.name}.rb", gem: gem) if gem.needs_entrypoint? files << g("wrapper_gem/main.erb", "lib/#{gem.namespace_file_path}", gem: gem) files << g("gem/version.erb", "lib/#{gem.version_file_path}", gem: gem) files << g("wrapper_gem/test_helper.erb", "test/helper.rb", gem: gem) files << g("wrapper_gem/client_test.erb", "test/#{gem.namespace_require}/client_test.rb", gem: gem) files << g("wrapper_gem/version_test.erb", "test/#{gem.namespace_require}/version_test.rb", gem: gem) format_files files files end |