jobs/V3/auto_complete_sample.rb (68 lines of code) (raw):

# Copyright 2018 Google, Inc # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. def job_discovery_job_title_auto_complete project_id:, company_name:, query: # [START job_discovery_job_title_auto_complete] # project_id = "Project id required" # company_name = "The resource name of the company listing the job. The format is "projects/{project_id}/companies/{company_id}"" # query = "Job title prefix as auto complete query" require "google/apis/jobs_v3" jobs = Google::Apis::JobsV3 talent_solution_client = jobs::CloudTalentSolutionService.new talent_solution_client.authorization = Google::Auth.get_application_default( "https://www.googleapis.com/auth/jobs" ) page_size = 10 type = "JOB_TITLE" language_code = "en-US" talent_solution_client.complete_project( project_id, company_name: company_name, page_size: page_size, query: query, language_code: language_code, type: type ) do |result, err| if err.nil? puts "Job title auto complete result: #{result.to_json}" else puts "Error when auto completing job title. Error message: #{err.to_json}" end end # [END job_discovery_job_title_auto_complete] end def job_discovery_default_auto_complete project_id:, company_name:, query: # [START job_discovery_default_auto_complete] # project_id = "Project id required" # company_name = "The company's name which the job belongs to. The format is "projects/{project_id}/companies/{company_id}"" # query = "Keyword prefix as auto complete query" require "google/apis/jobs_v3" jobs = Google::Apis::JobsV3 talent_solution_client = jobs::CloudTalentSolutionService.new talent_solution_client.authorization = Google::Auth.get_application_default( "https://www.googleapis.com/auth/jobs" ) page_size = 10 language_code = "en-US" result = talent_solution_client.complete_project( project_id, company_name: company_name, page_size: page_size, query: query, language_code: language_code ) do |result, err| if err.nil? puts "Default auto complete result: #{result.to_json}" else puts "Error when auto completing. Error message: #{err.to_json}" end end # [END job_discovery_default_auto_complete] end def run_auto_complete_sample arguments command = arguments.shift default_project_id = "projects/#{ENV['GOOGLE_CLOUD_PROJECT']}" company_name = "#{default_project_id}/companies/#{arguments.shift}" case command when "job_title_auto_complete" job_discovery_job_title_auto_complete company_name: company_name, query: arguments.shift, project_id: default_project_id when "default_auto_complete" job_discovery_default_auto_complete company_name: company_name, query: arguments.shift, project_id: default_project_id else puts <<~USAGE Usage: bundle exec ruby auto_complete_sample.rb [command] [arguments] Commands: job_title_auto_complete <company_id> <title_prefix> Auto completes job titles within given company_name and title prefix default_auto_complete <company_id> <keyword_prefix> Default auto completes within given company_name and keyword prefix Environment variables: GOOGLE_CLOUD_PROJECT must be set to your Google Cloud project ID USAGE end end if $PROGRAM_NAME == __FILE__ run_auto_complete_sample ARGV end