lib/google/cloud/dialogflow/v2/contexts/paths.rb in google-cloud-dialogflow-v2-0.3.0 vs lib/google/cloud/dialogflow/v2/contexts/paths.rb in google-cloud-dialogflow-v2-0.4.0
- old
+ new
@@ -69,9 +69,52 @@
resource = resources[args.keys.sort.join(":")]
raise ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
resource.call(**args)
end
+ ##
+ # Create a fully-qualified Session resource string.
+ #
+ # @overload session_path(project:, session:)
+ # The resource will be in the following format:
+ #
+ # `projects/{project}/agent/sessions/{session}`
+ #
+ # @param project [String]
+ # @param session [String]
+ #
+ # @overload session_path(project:, environment:, user:, session:)
+ # The resource will be in the following format:
+ #
+ # `projects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}`
+ #
+ # @param project [String]
+ # @param environment [String]
+ # @param user [String]
+ # @param session [String]
+ #
+ # @return [String]
+ def session_path **args
+ resources = {
+ "project:session" => (proc do |project:, session:|
+ raise ArgumentError, "project cannot contain /" if project.to_s.include? "/"
+
+ "projects/#{project}/agent/sessions/#{session}"
+ end),
+ "environment:project:session:user" => (proc do |project:, environment:, user:, session:|
+ raise ArgumentError, "project cannot contain /" if project.to_s.include? "/"
+ raise ArgumentError, "environment cannot contain /" if environment.to_s.include? "/"
+ raise ArgumentError, "user cannot contain /" if user.to_s.include? "/"
+
+ "projects/#{project}/agent/environments/#{environment}/users/#{user}/sessions/#{session}"
+ end)
+ }
+
+ resource = resources[args.keys.sort.join(":")]
+ raise ArgumentError, "no resource found for values #{args.keys}" if resource.nil?
+ resource.call(**args)
+ end
+
extend self
end
end
end
end