class Gapic::Presenters::WrapperGemPresenter

A presenter for wrapper gems.

Public Instance Methods

default_version() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 100
def default_version
  version_dependencies.first&.first
end
default_versioned_gem() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 104
def default_versioned_gem
  versioned_gems.first
end
dependencies() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 108
def dependencies
  @dependencies ||= begin
    deps = { "google-cloud-core" => "~> 1.6" }
    version_dependencies.each do |version, requirement|
      # For pre-release dependencies on versioned clients, support both
      # 0.x and 1.x versions to ease the transition to 1.0 (GA) releases
      # for those dependencies. (Note the 0.x->1.0 transition is
      # generally not breaking.)
      deps["#{name}-#{version}"] =
        if requirement.start_with? "0."
          [">= #{requirement}", "< 2.a"]
        else
          "~> #{requirement}"
        end
    end
    extra_deps = gem_config_dependencies
    deps.merge! extra_deps if extra_deps
    deps
  end
end
entrypoint_require() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 26
def entrypoint_require
  namespace_require
end
extra_files() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 81
def extra_files
  files = ["README.md", "LICENSE.md", ".yardopts"]
  files.insert 1, "AUTHENTICATION.md" unless generic_endpoint?
  files.append "MIGRATING.md" if migration?
  files
end
factory_method_suffix() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 88
def factory_method_suffix
  gem_config(:factory_method_suffix).to_s
end
google_cloud_short_name() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 129
def google_cloud_short_name
  m = /^google-cloud-(.*)$/.match name
  return nil unless m
  m[1].tr "-", "_"
end
helpers_require() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 45
def helpers_require
  "#{namespace_require}/helpers"
end
main_directory_name() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 41
def main_directory_name
  namespace_require.split("/").last
end
migration?() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 77
def migration?
  migration_version ? true : false
end
migration_version() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 61
def migration_version
  gem_config :migration_version
end
namespace_file_path() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 49
def namespace_file_path
  "#{namespace_require}.rb"
end
namespace_require() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 37
def namespace_require
  ruby_file_path @api, namespace
end
namespaced_class(name, version: nil) click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 148
def namespaced_class name, version: nil
  base = version ? "#{namespace}::#{version.capitalize}" : namespace
  "#{base}::#{name}"
end
needs_default_config_block?() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 57
def needs_default_config_block?
  needs_entrypoint? && !google_cloud_short_name.nil?
end
needs_entrypoint?() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 53
def needs_entrypoint?
  name != namespace_require
end
pre_migration_version() click to toggle source

A description of the versions prior to the migration version. Could be “a.x” if the migration version is 1.0 or later, otherwise falls back to “pre-a.b”.

# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 68
def pre_migration_version
  match = /^(\d)+\.0/.match migration_version.to_s
  if match
    major = match[1].to_i
    return "#{major - 1}.x" if major.positive?
  end
  "pre-#{migration_version}"
end
services() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 30
def services
  @services ||= begin
    files = @api.generate_files
    files.map(&:services).flatten.map { |s| WrapperServicePresenter.new self, @api, s }
  end
end
version_dependencies() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 92
def version_dependencies
  gem_config(:version_dependencies).to_s.split(";").map { |str| str.split ":" }
end
versioned_gems() click to toggle source
# File lib/gapic/presenters/wrapper_gem_presenter.rb, line 96
def versioned_gems
  version_dependencies.map { |version, _requirement| "#{name}-#{version}" }.sort
end