module Google::Cloud::PubSub::V1::Publisher::Paths

Path helper methods for the Publisher API.

Public Instance Methods

project_path(project: "projects/ click to toggle source

Create a fully-qualified Project resource string.

The resource will be in the following format:

`projects/{project}`

@param project [String]

@return [::String]

# File lib/google/cloud/pubsub/v1/publisher/paths.rb, line 37
def project_path project:
  "projects/#{project}"
end
schema_path(project:, schema: raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/") click to toggle source

Create a fully-qualified Schema resource string.

The resource will be in the following format:

`projects/{project}/schemas/{schema}`

@param project [String] @param schema [String]

@return [::String]

# File lib/google/cloud/pubsub/v1/publisher/paths.rb, line 52
def schema_path project:, schema:
  raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"

  "projects/#{project}/schemas/#{schema}"
end
subscription_path(project:, subscription: raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/") click to toggle source

Create a fully-qualified Subscription resource string.

The resource will be in the following format:

`projects/{project}/subscriptions/{subscription}`

@param project [String] @param subscription [String]

@return [::String]

# File lib/google/cloud/pubsub/v1/publisher/paths.rb, line 69
def subscription_path project:, subscription:
  raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"

  "projects/#{project}/subscriptions/#{subscription}"
end
topic_path(**args) click to toggle source

Create a fully-qualified Topic resource string.

@overload topic_path(project:, topic:)

The resource will be in the following format:

`projects/{project}/topics/{topic}`

@param project [String]
@param topic [String]

@overload topic_path()

The resource will be in the following format:

`_deleted-topic_`

@return [::String]

# File lib/google/cloud/pubsub/v1/publisher/paths.rb, line 92
def topic_path **args
  resources = {
    "project:topic" => (proc do |project:, topic:|
      raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"

      "projects/#{project}/topics/#{topic}"
    end),
    "" => (proc do
      "_deleted-topic_"
    end)
  }

  resource = resources[args.keys.sort.join(":")]
  raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
  resource.call(**args)
end