Class: Gapic::GemBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/gapic/gem_builder.rb

Overview

The builder created files for new extension gems.

Instance Method Summary collapse

Constructor Details

#initialize(name, path) ⇒ GemBuilder

Initializes the builder.

Parameters:

  • name (String)

    The name of the new extension gem.

  • path (String)

    The directory to write the gem files.



31
32
33
34
# File 'lib/gapic/gem_builder.rb', line 31

def initialize name, path
  @name = name
  @path = path
end

Instance Method Details

#bootstrapObject

Writes all the files for the gem.



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/gapic/gem_builder.rb', line 39

def bootstrap
  gen "readme.erb",     "README.md"
  gen "gemspec.erb",    "gapic-generator-#{gem_name}.gemspec"
  gen "rakefile.erb",   "Rakefile"
  gen "gemfile.erb",    "Gemfile"
  gen "gitignore.erb",  ".gitignore"
  gen "rubocop.erb",    ".rubocop.yml"
  gen "dockerfile.erb", "Dockerfile"
  gen "entrypoint.erb", "docker-entrypoint.sh"
  gen "gapic_sh.erb",   "gapic.sh"
  gen "binary.erb",     "bin/protoc-gen-ruby_#{gem_name}"
  gen "generator.erb",
      "lib/gapic/generators/#{gem_name}_generator.rb"
  gen "version.erb",
      "lib/gapic/generator/#{gem_name}/version.rb"
  gen "test_helper.erb",    "test/test_helper.rb"
  gen "test_generator.erb", "test/generators/#{gem_name}_test.rb"
  cp  "speech_desc.bin",    "proto_input/speech_desc.bin"
end