gapic-generator-cloud 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +81 -0
  3. data/CONTRIBUTING.md +28 -0
  4. data/LICENSE +202 -0
  5. data/README.md +84 -0
  6. data/bin/protoc-gen-ruby_cloud +33 -0
  7. data/bin/ruby-cloud-docker-entrypoint +103 -0
  8. data/cloud-rubocop.yml +14 -0
  9. data/lib/gapic/generator/cloud/version.rb +23 -0
  10. data/lib/gapic/generators/cloud_generator.rb +119 -0
  11. data/lib/gapic/presenters/wrapper_gem_presenter.rb +123 -0
  12. data/lib/gapic/presenters/wrapper_service_presenter.rb +49 -0
  13. data/templates/cloud/gem/authentication.erb +172 -0
  14. data/templates/cloud/gem/gemspec.erb +38 -0
  15. data/templates/cloud/gem/gitignore.erb +23 -0
  16. data/templates/cloud/gem/license.erb +204 -0
  17. data/templates/cloud/gem/rakefile.erb +156 -0
  18. data/templates/cloud/gem/readme.erb +93 -0
  19. data/templates/cloud/gem/repo-metadata.erb +6 -0
  20. data/templates/cloud/gem/rubocop.erb +36 -0
  21. data/templates/cloud/gem/yardopts.erb +13 -0
  22. data/templates/cloud/service/client/_credentials.erb +30 -0
  23. data/templates/cloud/service/client/_requires.erb +2 -0
  24. data/templates/cloud/service/client/_self_configure.erb +15 -0
  25. data/templates/cloud/service/client/method/def/_rescue.erb +3 -0
  26. data/templates/cloud/service/client/method/docs/_error.erb +2 -0
  27. data/templates/cloud/shared/_license.erb +13 -0
  28. data/templates/cloud/wrapper_gem/_main.erb +90 -0
  29. data/templates/cloud/wrapper_gem/client_test.erb +22 -0
  30. data/templates/cloud/wrapper_gem/entrypoint.erb +4 -0
  31. data/templates/cloud/wrapper_gem/gemfile.erb +17 -0
  32. data/templates/cloud/wrapper_gem/gemspec.erb +40 -0
  33. data/templates/cloud/wrapper_gem/main.erb +5 -0
  34. data/templates/cloud/wrapper_gem/rakefile.erb +190 -0
  35. data/templates/cloud/wrapper_gem/readme.erb +95 -0
  36. data/templates/cloud/wrapper_gem/rubocop.erb +23 -0
  37. data/templates/cloud/wrapper_gem/test_helper.erb +9 -0
  38. data/templates/cloud/wrapper_gem/version_test.erb +11 -0
  39. data/templates/cloud/wrapper_gem/yardopts.erb +15 -0
  40. metadata +227 -0
@@ -0,0 +1,95 @@
1
+ # Ruby Client for the <%= gem.title %> API
2
+
3
+ <%= gem.summary %>
4
+
5
+ <%= gem.description %>
6
+
7
+ Actual client classes for the various versions of this API are defined in
8
+ _versioned_ client gems, with names of the form `<%= gem.name %>-v*`.
9
+ The gem `<%= gem.name %>` is a convenience wrapper library that brings the
10
+ verisoned gems in as dependencies, and provides high-level methods for
11
+ constructing clients.
12
+
13
+ View the [Client Library Documentation](<%= gem.library_documentation_url %>)
14
+ for this library, <%= gem.name %>, to see the convenience methods for
15
+ constructing client objects. Reference documentation for the client objects
16
+ themselves can be found in the client library documentation for the versioned
17
+ client gems:
18
+ <%- last_index = gem.versioned_gems.size - 1 -%>
19
+ <%- gem.versioned_gems.each_with_index do |name, i| -%>
20
+ <%- sep = i == last_index ? "." : "," -%>
21
+ [<%= name %>](https://googleapis.dev/ruby/<%= name %>/latest)<%= sep %>
22
+ <%- end -%>
23
+
24
+ <%- if gem.product_documentation_url -%>
25
+ See also the [Product Documentation](<%= gem.product_documentation_url %>)
26
+ for more usage information.
27
+
28
+ <%- end -%>
29
+ ## Quick Start
30
+
31
+ ```
32
+ $ gem install <%= gem.name %>
33
+ ```
34
+
35
+ In order to use this library, you first need to go through the following steps:
36
+
37
+ 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
38
+ <%- if gem.free_tier? -%>
39
+ 1. This API has a free tier. You may not need to
40
+ [enable billing](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
41
+ to get started.
42
+ <%- else -%>
43
+ 1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
44
+ <%- end -%>
45
+ <%- if gem.api_id -%>
46
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>.googleapis.com)
47
+ <%- end -%>
48
+ 1. {file:AUTHENTICATION.md Set up authentication.}
49
+
50
+ <%- if gem.migration? %>
51
+ ## Migrating from <%= gem.pre_migration_version %> versions
52
+
53
+ The <%= gem.migration_version %> release of the <%= gem.name %> client is a significant upgrade
54
+ based on a [next-gen code generator](https://github.com/googleapis/gapic-generator-ruby),
55
+ and includes substantial interface changes. Existing code written for earlier
56
+ versions of this library will likely require updates to use this version.
57
+ See the {file:MIGRATING.md MIGRATING.md} document for more information.
58
+
59
+ <%- end -%>
60
+ ## Enabling Logging
61
+
62
+ To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
63
+ The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib/libdoc/logger/rdoc/Logger.html) as shown below,
64
+ or a [`Google::Cloud::Logging::Logger`](https://googleapis.dev/ruby/google-cloud-logging/latest)
65
+ that will write logs to [Cloud Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
66
+ and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
67
+
68
+ Configuring a Ruby stdlib logger:
69
+
70
+ ```ruby
71
+ require "logger"
72
+
73
+ module MyLogger
74
+ LOGGER = Logger.new $stderr, level: Logger::WARN
75
+ def logger
76
+ LOGGER
77
+ end
78
+ end
79
+
80
+ # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
81
+ module GRPC
82
+ extend MyLogger
83
+ end
84
+ ```
85
+
86
+ ## Supported Ruby Versions
87
+
88
+ This library is supported on Ruby 2.4+.
89
+
90
+ Google provides official support for Ruby versions that are actively supported
91
+ by Ruby Core—that is, Ruby versions that are either in normal maintenance or
92
+ in security maintenance, and not end of life. Currently, this means Ruby 2.4
93
+ and later. Older versions of Ruby _may_ still work, but are unsupported and not
94
+ recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
95
+ about the Ruby support schedule.
@@ -0,0 +1,23 @@
1
+ <%- assert_locals gem -%>
2
+ inherit_gem:
3
+ google-style: google-style.yml
4
+
5
+ AllCops:
6
+ Exclude:
7
+ - "<%= gem.name %>.gemspec"
8
+ - "Rakefile"
9
+ - "acceptance/**/*"
10
+ - "test/**/*"
11
+
12
+ Bundler/OrderedGems:
13
+ Enabled: false
14
+ Documentation:
15
+ Enabled: false
16
+
17
+ Metrics/BlockLength:
18
+ Exclude:
19
+ - "samples/acceptance/*.rb"
20
+
21
+ Naming/FileName:
22
+ Exclude:
23
+ - "lib/<%= gem.name %>.rb"
@@ -0,0 +1,9 @@
1
+ <%- assert_locals gem -%>
2
+ <%= render partial: "shared/header" -%>
3
+
4
+ require "simplecov"
5
+
6
+ gem "minitest"
7
+ require "minitest/autorun"
8
+ require "minitest/focus"
9
+ require "minitest/rg"
@@ -0,0 +1,11 @@
1
+ <%- assert_locals gem -%>
2
+ <%= render partial: "shared/header" -%>
3
+
4
+ require "helper"
5
+ require "<%= gem.version_require %>"
6
+
7
+ class <%= gem.namespace %>::VersionMinitest < Minitest::Test
8
+ def test_has_a_version
9
+ refute_nil <%= gem.version_name_full %>
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ <%- assert_locals gem -%>
2
+ --no-private
3
+ --title=<%= gem.title %> API
4
+ --exclude _pb\.rb$
5
+ --markup markdown
6
+ --markup-provider redcarpet
7
+
8
+ ./lib/**/*.rb
9
+ -
10
+ README.md
11
+ AUTHENTICATION.md
12
+ <%- if gem.migration? -%>
13
+ MIGRATING.md
14
+ <%- end -%>
15
+ LICENSE.md
metadata ADDED
@@ -0,0 +1,227 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gapic-generator-cloud
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
5
+ platform: ruby
6
+ authors:
7
+ - Ernest Landrito
8
+ - Chris Smith
9
+ - Mike Moore
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2020-04-11 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: actionpack
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - "~>"
20
+ - !ruby/object:Gem::Version
21
+ version: '5.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - "~>"
27
+ - !ruby/object:Gem::Version
28
+ version: '5.2'
29
+ - !ruby/object:Gem::Dependency
30
+ name: gapic-generator
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '='
34
+ - !ruby/object:Gem::Version
35
+ version: 0.3.1
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '='
41
+ - !ruby/object:Gem::Version
42
+ version: 0.3.1
43
+ - !ruby/object:Gem::Dependency
44
+ name: google-style
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 1.24.0
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: 1.24.0
57
+ - !ruby/object:Gem::Dependency
58
+ name: protobuf
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '3.8'
64
+ type: :runtime
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '3.8'
71
+ - !ruby/object:Gem::Dependency
72
+ name: bundler
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: '2.1'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: '2.1'
85
+ - !ruby/object:Gem::Dependency
86
+ name: grpc-tools
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - "~>"
90
+ - !ruby/object:Gem::Version
91
+ version: '1.19'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '1.19'
99
+ - !ruby/object:Gem::Dependency
100
+ name: minitest
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - "~>"
104
+ - !ruby/object:Gem::Version
105
+ version: '5.0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - "~>"
111
+ - !ruby/object:Gem::Version
112
+ version: '5.0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: minitest-autotest
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '1.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: minitest-focus
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '1.0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '1.0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: rake
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '12.0'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '12.0'
155
+ description:
156
+ email:
157
+ - landrito@google.com
158
+ - quartzmo@gmail.com
159
+ - mike@blowmage.com
160
+ executables:
161
+ - protoc-gen-ruby_cloud
162
+ - ruby-cloud-docker-entrypoint
163
+ extensions: []
164
+ extra_rdoc_files: []
165
+ files:
166
+ - CHANGELOG.md
167
+ - CONTRIBUTING.md
168
+ - LICENSE
169
+ - README.md
170
+ - bin/protoc-gen-ruby_cloud
171
+ - bin/ruby-cloud-docker-entrypoint
172
+ - cloud-rubocop.yml
173
+ - lib/gapic/generator/cloud/version.rb
174
+ - lib/gapic/generators/cloud_generator.rb
175
+ - lib/gapic/presenters/wrapper_gem_presenter.rb
176
+ - lib/gapic/presenters/wrapper_service_presenter.rb
177
+ - templates/cloud/gem/authentication.erb
178
+ - templates/cloud/gem/gemspec.erb
179
+ - templates/cloud/gem/gitignore.erb
180
+ - templates/cloud/gem/license.erb
181
+ - templates/cloud/gem/rakefile.erb
182
+ - templates/cloud/gem/readme.erb
183
+ - templates/cloud/gem/repo-metadata.erb
184
+ - templates/cloud/gem/rubocop.erb
185
+ - templates/cloud/gem/yardopts.erb
186
+ - templates/cloud/service/client/_credentials.erb
187
+ - templates/cloud/service/client/_requires.erb
188
+ - templates/cloud/service/client/_self_configure.erb
189
+ - templates/cloud/service/client/method/def/_rescue.erb
190
+ - templates/cloud/service/client/method/docs/_error.erb
191
+ - templates/cloud/shared/_license.erb
192
+ - templates/cloud/wrapper_gem/_main.erb
193
+ - templates/cloud/wrapper_gem/client_test.erb
194
+ - templates/cloud/wrapper_gem/entrypoint.erb
195
+ - templates/cloud/wrapper_gem/gemfile.erb
196
+ - templates/cloud/wrapper_gem/gemspec.erb
197
+ - templates/cloud/wrapper_gem/main.erb
198
+ - templates/cloud/wrapper_gem/rakefile.erb
199
+ - templates/cloud/wrapper_gem/readme.erb
200
+ - templates/cloud/wrapper_gem/rubocop.erb
201
+ - templates/cloud/wrapper_gem/test_helper.erb
202
+ - templates/cloud/wrapper_gem/version_test.erb
203
+ - templates/cloud/wrapper_gem/yardopts.erb
204
+ homepage: https://github.com/googleapis/gapic-generator-ruby
205
+ licenses:
206
+ - Apache-2.0
207
+ metadata: {}
208
+ post_install_message:
209
+ rdoc_options: []
210
+ require_paths:
211
+ - lib
212
+ required_ruby_version: !ruby/object:Gem::Requirement
213
+ requirements:
214
+ - - ">="
215
+ - !ruby/object:Gem::Version
216
+ version: '0'
217
+ required_rubygems_version: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ requirements: []
223
+ rubygems_version: 3.1.2
224
+ signing_key:
225
+ specification_version: 4
226
+ summary: An API Client Generator for Ruby in Ruby!
227
+ test_files: []