module Gapic::Helpers::NamespaceHelper

Helpers related to generating ruby namespaces

Public Instance Methods

ensure_absolute_namespace(namespace) click to toggle source

Returns the given namespace, ensuring double colons are prepended

# File lib/gapic/helpers/namespace_helper.rb, line 47
def ensure_absolute_namespace namespace
  namespace.start_with?("::") ? namespace : "::#{namespace}"
end
fix_namespace(api, namespace) click to toggle source

Corrects a namespace by replacing known bad values with good values.

# File lib/gapic/helpers/namespace_helper.rb, line 53
def fix_namespace api, namespace
  namespace.split("::").map { |node| api.fix_namespace node }.join("::")
end
ruby_namespace(api, address) click to toggle source

Looks up the ruby_package for a dot-separated address string to a new string and creates the corrected Ruby namespace

# File lib/gapic/helpers/namespace_helper.rb, line 28
def ruby_namespace api, address
  file = api.file_for address
  address = address.dup
  address[file.package] = file.ruby_package if file.ruby_package.present?
  namespace = ruby_namespace_for_address address
  fix_namespace api, namespace
end
ruby_namespace_for_address(address) click to toggle source

Converts an array or dot-separated address string to a new string with Ruby double-semicolon separators.

# File lib/gapic/helpers/namespace_helper.rb, line 39
def ruby_namespace_for_address address
  address = address.split "." if address.is_a? String
  ensure_absolute_namespace address.reject(&:empty?).map(&:camelize).join("::")
end