gapic-generator-cloud 0.5.0 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4f766977ecdc350e26164bb6bd394c47f3be8b0bc7dce34c8051c2fc1df63ee
4
- data.tar.gz: 5c8fcf1e0ca303a4680693bf474a45aa8a3183563249e74357d2d4975d1b5540
3
+ metadata.gz: ee1c961d3ff79710f768e7920d76bb914b3208c63b65d2aad6562d908e54f37e
4
+ data.tar.gz: a34cd45e118de2e91b9c5e6883c7ef5a0167ca5272e08f2ff3c74a62ff370cb9
5
5
  SHA512:
6
- metadata.gz: c5cebafecabfcbd86ed369076f9066d059abee8121ffe59b3f1ae6da4996790d2174a5397205cd743e3cfc23f4ef77aeff7848859054b425d785f2f9067e40f1
7
- data.tar.gz: dd7ffa499023b899215a825a0a30a6cb40bf22b6b8e7e65125c5de3a715044643b16bec8f6baa6f0d811a9b52874718117ea328a8084d58a5b4554e0231847a7
6
+ metadata.gz: 92ab73a7d712a6405ac2e680b6c75c13d675cab23ad2a2df1a0589bc3e0a254e1b877723b515266feeac5267bc2a76baac175b8273e99b6ae964e06d8beeb910
7
+ data.tar.gz: 6527f5369f55e0f258bf1bc674cdc2a06b61b181a1b7ad00f43f68a0bf98f70272b77f5bd1c7c899866f9b9455dc2d888f545ac7e1489e84ee84b4cdf9f3e15c
@@ -1,5 +1,31 @@
1
1
  # Release History for gapic-generator-cloud
2
2
 
3
+ ### 0.6.3 / 2020-06-27
4
+
5
+ * Includes changes from gapic-generator 0.6.3.
6
+
7
+ ### 0.6.2 / 2020-06-18
8
+
9
+ * Includes changes from gapic-generator 0.6.2.
10
+
11
+ ### 0.6.1 / 2020-06-16
12
+
13
+ * Includes changes from gapic-generator 0.6.1.
14
+ * Populate additional repo-metadata fields.
15
+ * Remove authentication file from the gemspec for generic wrappers.
16
+
17
+ ### 0.6.0 / 2020-06-02
18
+
19
+ * Includes changes from gapic-generator 0.6.0.
20
+ * Support for clients with generic endpoint and credentials.
21
+ * Support for adding extra dependencies.
22
+ * Fix the logic determining whether a wrapper needs a separate entrypoint file.
23
+ * Disable Metrics/BlockLength check for all sample tests.
24
+
25
+ ### 0.5.1 / 2020-05-21
26
+
27
+ * Includes changes from gapic-generator 0.5.1
28
+
3
29
  ### 0.5.0 / 2020-05-19
4
30
 
5
31
  * Includes changes from gapic-generator 0.5.0
@@ -21,7 +21,8 @@ require "fileutils"
21
21
  # Boolean options may have values "true" or "false" (as strings)
22
22
  bool_option_map = {
23
23
  ":gem.:free_tier" => "ruby-cloud-free-tier",
24
- ":gem.:yard_strict" => "ruby-cloud-yard-strict"
24
+ ":gem.:yard_strict" => "ruby-cloud-yard-strict",
25
+ ":gem.:generic_endpoint" => "ruby-cloud-generic-endpoint"
25
26
  }
26
27
 
27
28
  # Value options always take string values.
@@ -37,7 +38,9 @@ value_option_map = {
37
38
  ":gem.:version_dependencies" => "ruby-cloud-wrapper-of",
38
39
  ":gem.:migration_version" => "ruby-cloud-migration-version",
39
40
  ":gem.:product_documentation_url" => "ruby-cloud-product-url",
41
+ ":gem.:issue_tracker_url" => "ruby-cloud-issues-url",
40
42
  ":gem.:api_id" => "ruby-cloud-api-id",
43
+ ":gem.:api_shortname" => "ruby-cloud-api-shortname",
41
44
  ":gem.:factory_method_suffix" => "ruby-cloud-factory-method-suffix"
42
45
  }
43
46
 
@@ -53,7 +56,9 @@ path_option_map = {
53
56
  map_option_map = {
54
57
  ":common_services" => "ruby-cloud-common-services",
55
58
  ":overrides.:file_path" => "ruby-cloud-path-override",
56
- ":overrides.:namespace" => "ruby-cloud-namespace-override"
59
+ ":overrides.:namespace" => "ruby-cloud-namespace-override",
60
+ ":overrides.:service" => "ruby-cloud-service-override",
61
+ ":gem.:extra_dependencies" => "ruby-cloud-extra-dependencies"
57
62
  }
58
63
 
59
64
  # A set of files that, if generated, should be removed.
@@ -18,7 +18,7 @@
18
18
  module Gapic
19
19
  module Generator
20
20
  module Cloud
21
- VERSION = "0.5.0"
21
+ VERSION = "0.6.3"
22
22
  end
23
23
  end
24
24
  end
@@ -16,6 +16,7 @@
16
16
 
17
17
  require "gapic/generators/default_generator"
18
18
  require "gapic/presenters"
19
+ require "gapic/presenters/cloud_gem_presenter"
19
20
  require "gapic/presenters/wrapper_gem_presenter"
20
21
 
21
22
  module Gapic
@@ -42,19 +43,19 @@ module Gapic
42
43
  # @return [Array<
43
44
  # Google::Protobuf::Compiler::CodeGeneratorResponse::File>]
44
45
  # The files that were generated for the API.
45
- def generate
46
+ def generate gem_presenter: nil
46
47
  gem_config = @api.configuration[:gem] ||= {}
47
48
  return generate_wrapper if gem_config[:version_dependencies]
48
49
 
49
- orig_files = super
50
-
51
- cloud_files = []
52
-
53
- gem = Gapic::Presenters.gem_presenter @api
50
+ gem = gem_presenter || Gapic::Presenters.cloud_gem_presenter(@api)
51
+ orig_files = super gem_presenter: gem
54
52
 
55
53
  # Additional Gem level files
56
- cloud_files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem)
57
- cloud_files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem) unless gem.services.empty?
54
+ cloud_files = []
55
+ cloud_files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem)
56
+ unless gem.services.empty? || gem.generic_endpoint?
57
+ cloud_files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem)
58
+ end
58
59
 
59
60
  format_files cloud_files
60
61
 
@@ -79,7 +80,7 @@ module Gapic
79
80
  files << g("gem/repo-metadata.erb", ".repo-metadata.json", gem: gem)
80
81
  files << g("wrapper_gem/rubocop.erb", ".rubocop.yml", gem: gem)
81
82
  files << g("wrapper_gem/yardopts.erb", ".yardopts", gem: gem)
82
- files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem)
83
+ files << g("gem/authentication.erb", "AUTHENTICATION.md", gem: gem) unless gem.generic_endpoint?
83
84
  files << g("gem/changelog.erb", "CHANGELOG.md", gem: gem)
84
85
  files << g("wrapper_gem/gemfile.erb", "Gemfile", gem: gem)
85
86
  files << g("gem/license.erb", "LICENSE.md", gem: gem)
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require "gapic/presenters"
18
+ require "gapic/presenters/wrapper_service_presenter"
19
+
20
+ module Gapic
21
+ module Presenters
22
+ ##
23
+ # A presenter subclass for cloud gems.
24
+ #
25
+ class CloudGemPresenter < GemPresenter
26
+ def license_name
27
+ "Apache-2.0"
28
+ end
29
+
30
+ def extra_files
31
+ return ["README.md", "LICENSE.md", ".yardopts"] if generic_endpoint?
32
+ ["README.md", "LICENSE.md", "AUTHENTICATION.md", ".yardopts"]
33
+ end
34
+
35
+ def dependencies
36
+ deps = super
37
+ deps["google-cloud-errors"] = "~> 1.0"
38
+ deps
39
+ end
40
+ end
41
+
42
+ def self.cloud_gem_presenter api
43
+ CloudGemPresenter.new api
44
+ end
45
+ end
46
+ end
@@ -22,7 +22,7 @@ module Gapic
22
22
  ##
23
23
  # A presenter for wrapper gems.
24
24
  #
25
- class WrapperGemPresenter < GemPresenter
25
+ class WrapperGemPresenter < CloudGemPresenter
26
26
  def entrypoint_require
27
27
  namespace_require
28
28
  end
@@ -30,7 +30,7 @@ module Gapic
30
30
  def services
31
31
  @services ||= begin
32
32
  files = @api.generate_files
33
- files.map(&:services).flatten.map { |s| WrapperServicePresenter.new @api, s }
33
+ files.map(&:services).flatten.map { |s| WrapperServicePresenter.new self, @api, s }
34
34
  end
35
35
  end
36
36
 
@@ -51,7 +51,7 @@ module Gapic
51
51
  end
52
52
 
53
53
  def needs_entrypoint?
54
- name != namespace_file_path
54
+ name != namespace_require
55
55
  end
56
56
 
57
57
  def needs_default_config_block?
@@ -79,8 +79,9 @@ module Gapic
79
79
  end
80
80
 
81
81
  def extra_files
82
- files = ["README.md", "AUTHENTICATION.md", "LICENSE.md", ".yardopts"]
83
- files << "MIGRATING.md" if migration?
82
+ files = ["README.md", "LICENSE.md", ".yardopts"]
83
+ files.insert 1, "AUTHENTICATION.md" unless generic_endpoint?
84
+ files.append "MIGRATING.md" if migration?
84
85
  files
85
86
  end
86
87
 
@@ -92,19 +93,24 @@ module Gapic
92
93
  gem_config(:version_dependencies).to_s.split(";").map { |str| str.split ":" }
93
94
  end
94
95
 
95
- def gem_version_dependencies
96
- version_dependencies.sort_by { |version, _requirement| version }
97
- .map { |version, requirement| ["#{name}-#{version}", requirement] }
98
- end
99
-
100
96
  def versioned_gems
101
- gem_version_dependencies.map { |name, _requirement| name }
97
+ version_dependencies.map { |version, _requirement| "#{name}-#{version}" }.sort
102
98
  end
103
99
 
104
100
  def default_version
105
101
  version_dependencies.first&.first
106
102
  end
107
103
 
104
+ def dependencies
105
+ deps = { "google-cloud-core" => "~> 1.5" }
106
+ version_dependencies.each do |version, requirement|
107
+ deps["#{name}-#{version}"] = "~> #{requirement}"
108
+ end
109
+ extra_deps = gem_config :extra_dependencies
110
+ deps.merge! extra_deps if extra_deps
111
+ deps
112
+ end
113
+
108
114
  def google_cloud_short_name
109
115
  m = /^google-cloud-(.*)$/.match name
110
116
  return nil unless m
@@ -23,10 +23,6 @@ module Gapic
23
23
  # A presenter for wrapper services.
24
24
  #
25
25
  class WrapperServicePresenter < ServicePresenter
26
- def gem
27
- WrapperGemPresenter.new @api
28
- end
29
-
30
26
  def factory_method_name
31
27
  @factory_method_name ||= begin
32
28
  method_name = ActiveSupport::Inflector.underscore name
@@ -53,7 +53,7 @@ end
53
53
  # Acceptance tests
54
54
  desc "Run the <%= gem.name %> acceptance tests."
55
55
  task :acceptance, :project, :keyfile do |t, args|
56
- <%- if service -%>
56
+ <%- if service && !gem.generic_endpoint? -%>
57
57
  project = args[:project]
58
58
  project ||=
59
59
  ENV["<%= gem.env_prefix %>_TEST_PROJECT"] ||
@@ -79,8 +79,8 @@ task :acceptance, :project, :keyfile do |t, args|
79
79
  ENV["<%= gem.env_prefix %>_PROJECT"] = project
80
80
  ENV["<%= gem.env_prefix %>_TEST_PROJECT"] = project
81
81
  ENV["<%= gem.env_prefix %>_KEYFILE_JSON"] = keyfile
82
- <%- end -%>
83
82
 
83
+ <%- end -%>
84
84
  Rake::Task["acceptance:run"].invoke
85
85
  end
86
86
 
@@ -12,6 +12,7 @@
12
12
  $ gem install <%= gem.name %>
13
13
  ```
14
14
 
15
+ <%- unless gem.generic_endpoint? -%>
15
16
  ## Before You Begin
16
17
 
17
18
  In order to use this library, you first need to go through the following steps:
@@ -25,10 +26,11 @@ In order to use this library, you first need to go through the following steps:
25
26
  1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
26
27
  <%- end -%>
27
28
  <%- if gem.api_id -%>
28
- 1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>.googleapis.com)
29
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>)
29
30
  <%- end -%>
30
31
  1. {file:AUTHENTICATION.md Set up authentication.}
31
32
 
33
+ <%- end -%>
32
34
  ## Quick Start
33
35
 
34
36
  <%- if gem.packages? -%>
@@ -1,6 +1,21 @@
1
1
  <%- assert_locals gem -%>
2
2
  {
3
- "language": "ruby",
3
+ <%- if gem.api_id -%>
4
+ "api_id": "<%= gem.api_id %>",
5
+ <%- end -%>
6
+ "client_documentation": "<%= gem.library_documentation_url %>",
4
7
  "distribution_name": "<%= gem.name %>",
5
- "client_documentation": "https://googleapis.dev/ruby/<%= gem.name %>/latest"
8
+ <%- if gem.issue_tracker_url -%>
9
+ "issue_tracker": "<%= gem.issue_tracker_url %>",
10
+ <%- end -%>
11
+ "language": "ruby",
12
+ <%- if gem.api_shortname -%>
13
+ "name": "<%= gem.api_shortname %>",
14
+ <%- end -%>
15
+ "name_pretty": "<%= gem.title %> API",
16
+ <%- if gem.product_documentation_url -%>
17
+ "product_documentation": "<%= gem.product_documentation_url %>",
18
+ <%- end -%>
19
+ "repo": "googleapis/google-cloud-ruby",
20
+ "requires_billing": <%= !gem.free_tier? %>
6
21
  }
@@ -10,4 +10,6 @@
10
10
  -
11
11
  README.md
12
12
  LICENSE.md
13
+ <%- unless gem.generic_endpoint? -%>
13
14
  AUTHENTICATION.md
15
+ <%- end -%>
@@ -3,12 +3,6 @@ source "https://rubygems.org"
3
3
 
4
4
  gemspec
5
5
 
6
- gem "google-cloud-core", path: "../google-cloud-core"
7
- gem "google-cloud-env", path: "../google-cloud-env"
8
- gem "google-cloud-errors", path: "../google-cloud-errors"
9
- <%- gem.gem_version_dependencies.each do |name, _requirement| -%>
6
+ <%- gem.versioned_gems.each do |name| -%>
10
7
  gem "<%= name %>", path: "../<%= name %>"
11
8
  <%- end -%>
12
-
13
- # google-protobuf 3.12.0 requires Ruby 2.5 or later, so pin to 3.11 on older Rubies
14
- gem "google-protobuf", (RUBY_VERSION < "2.5" ? "~> 3.11.4" : "~> 3.12")
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.description = <%= gem.description.inspect %>
14
14
  gem.summary = <%= gem.summary.inspect %>
15
15
  gem.homepage = <%= gem.homepage.inspect %>
16
- gem.license = "Apache-2.0"
16
+ gem.license = <%= gem.license_name.inspect %>
17
17
 
18
18
  gem.platform = Gem::Platform::RUBY
19
19
 
@@ -23,9 +23,8 @@ Gem::Specification.new do |gem|
23
23
 
24
24
  gem.required_ruby_version = ">= 2.4"
25
25
 
26
- gem.add_dependency "google-cloud-core", "~> 1.5"
27
- <%- gem.gem_version_dependencies.each do |name, requirement| -%>
28
- gem.add_dependency "<%= name %>", "~> <%= requirement %>"
26
+ <%- gem.dependency_list.each do |name, requirements| -%>
27
+ gem.add_dependency <%= name.inspect %>, <%= requirements.map { |v| v.inspect }.join ", " %>
29
28
  <%- end -%>
30
29
 
31
30
  gem.add_development_dependency "google-style", "~> 1.24.0"
@@ -32,6 +32,7 @@ for more usage information.
32
32
  $ gem install <%= gem.name %>
33
33
  ```
34
34
 
35
+ <%- unless gem.generic_endpoint? -%>
35
36
  In order to use this library, you first need to go through the following steps:
36
37
 
37
38
  1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
@@ -43,10 +44,11 @@ In order to use this library, you first need to go through the following steps:
43
44
  1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
44
45
  <%- end -%>
45
46
  <%- if gem.api_id -%>
46
- 1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>.googleapis.com)
47
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/<%= gem.api_id %>)
47
48
  <%- end -%>
48
49
  1. {file:AUTHENTICATION.md Set up authentication.}
49
50
 
51
+ <%- end -%>
50
52
  <%- if gem.migration? %>
51
53
  ## Migrating from <%= gem.pre_migration_version %> versions
52
54
 
@@ -16,7 +16,7 @@ Documentation:
16
16
 
17
17
  Metrics/BlockLength:
18
18
  Exclude:
19
- - "samples/acceptance/*.rb"
19
+ - "samples/**/acceptance/*.rb"
20
20
 
21
21
  Naming/FileName:
22
22
  Exclude:
@@ -8,7 +8,9 @@
8
8
  ./lib/**/*.rb
9
9
  -
10
10
  README.md
11
+ <%- unless gem.generic_endpoint? -%>
11
12
  AUTHENTICATION.md
13
+ <%- end -%>
12
14
  <%- if gem.migration? -%>
13
15
  MIGRATING.md
14
16
  <%- end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gapic-generator-cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernest Landrito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-05-19 00:00:00.000000000 Z
13
+ date: 2020-06-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: actionpack
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.5.0
35
+ version: 0.6.3
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.5.0
42
+ version: 0.6.3
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: google-style
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -68,34 +68,20 @@ dependencies:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
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
71
  - !ruby/object:Gem::Dependency
86
72
  name: grpc-tools
87
73
  requirement: !ruby/object:Gem::Requirement
88
74
  requirements:
89
75
  - - "~>"
90
76
  - !ruby/object:Gem::Version
91
- version: '1.19'
77
+ version: 1.30.0.pre1
92
78
  type: :development
93
79
  prerelease: false
94
80
  version_requirements: !ruby/object:Gem::Requirement
95
81
  requirements:
96
82
  - - "~>"
97
83
  - !ruby/object:Gem::Version
98
- version: '1.19'
84
+ version: 1.30.0.pre1
99
85
  - !ruby/object:Gem::Dependency
100
86
  name: minitest
101
87
  requirement: !ruby/object:Gem::Requirement
@@ -172,10 +158,10 @@ files:
172
158
  - cloud-rubocop.yml
173
159
  - lib/gapic/generator/cloud/version.rb
174
160
  - lib/gapic/generators/cloud_generator.rb
161
+ - lib/gapic/presenters/cloud_gem_presenter.rb
175
162
  - lib/gapic/presenters/wrapper_gem_presenter.rb
176
163
  - lib/gapic/presenters/wrapper_service_presenter.rb
177
164
  - templates/cloud/gem/authentication.erb
178
- - templates/cloud/gem/gemspec.erb
179
165
  - templates/cloud/gem/gitignore.erb
180
166
  - templates/cloud/gem/license.erb
181
167
  - templates/cloud/gem/rakefile.erb
@@ -1,40 +0,0 @@
1
- <%- assert_locals gem -%>
2
- # -*- ruby -*-
3
- # encoding: utf-8
4
- require File.expand_path("lib/<%= gem.version_require %>", __dir__)
5
-
6
- Gem::Specification.new do |gem|
7
- gem.name = "<%= gem.name %>"
8
- gem.version = <%= gem.version_name_full %>
9
-
10
- gem.authors = <%= gem.authors.inspect %>
11
- gem.email = <%= gem.email.inspect %>
12
- gem.description = <%= gem.description.inspect %>
13
- gem.summary = <%= gem.summary.inspect %>
14
- gem.homepage = <%= gem.homepage.inspect %>
15
- gem.license = "Apache-2.0"
16
-
17
- gem.platform = Gem::Platform::RUBY
18
-
19
- gem.files = `git ls-files -- lib/*`.split("\n") +
20
- `git ls-files -- proto_docs/*`.split("\n") +
21
- ["README.md", "LICENSE.md", "AUTHENTICATION.md", ".yardopts"]
22
- gem.require_paths = ["lib"]
23
-
24
- gem.required_ruby_version = ">= 2.4"
25
-
26
- gem.add_dependency "gapic-common", "~> 0.2"
27
- gem.add_dependency "google-cloud-errors", "~> 1.0"
28
- <%- if gem.iam_dependency? -%>
29
- gem.add_dependency "grpc-google-iam-v1", ">= 0.6.10", "< 2.0"
30
- <%- end -%>
31
-
32
- gem.add_development_dependency "google-style", "~> 1.24.0"
33
- gem.add_development_dependency "minitest", "~> 5.14"
34
- gem.add_development_dependency "minitest-focus", "~> 1.1"
35
- gem.add_development_dependency "minitest-rg", "~> 5.2"
36
- gem.add_development_dependency "rake", ">= 12.0"
37
- gem.add_development_dependency "redcarpet", "~> 3.0"
38
- gem.add_development_dependency "simplecov", "~> 0.18"
39
- gem.add_development_dependency "yard", "~> 0.9"
40
- end