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
# File 'lib/gapic/gem_builder.rb', line 39

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