run_filter_search_sample arguments

in jobs/V3/filter_search_sample.rb [259:314]


def run_filter_search_sample arguments
  require_relative "basic_company_sample"
  require_relative "basic_job_sample"

  command = arguments.shift
  default_project_id = "projects/#{ENV['GOOGLE_CLOUD_PROJECT']}"
  company_name = "#{default_project_id}/companies/#{arguments.shift}" if command != "company_display_name_search"
  user_input_array = arguments.shift.split "," if ["category_filter_search", "employment_types_filter_search", "language_code_filter_search", "company_display_name_search"].include? command

  case command
  when "basic_keyword_search"
    job_discovery_basic_keyword_search company_name: company_name,
                                       query:        arguments.shift,
                                       project_id:   default_project_id
  when "category_filter_search"
    job_discovery_category_filter_search company_name: company_name,
                                         categories:   user_input_array,
                                         project_id:   default_project_id
  when "employment_types_filter_search"
    job_discovery_employment_types_filter_search company_name:     company_name,
                                                 employment_types: user_input_array,
                                                 project_id:       default_project_id
  when "date_range_filter_search"
    job_discovery_date_range_filter_search company_name: company_name,
                                           start_time:   arguments.shift,
                                           end_time:     arguments.shift,
                                           project_id:   default_project_id
  when "language_code_filter_search"
    job_discovery_language_code_filter_search company_name:   company_name,
                                              language_codes: user_input_array,
                                              project_id:     default_project_id
  when "company_display_name_search"
    job_discovery_company_display_name_search company_display_names: user_input_array,
                                              project_id:            default_project_id
  when "compensation_search"
    job_discovery_compensation_search company_name: company_name,
                                      min_unit:     arguments.shift,
                                      max_unit:     arguments.shift,
                                      project_id:   default_project_id
  else
    puts <<~USAGE
      Usage: bundle exec ruby filter_search_sample.rb [command] [arguments]
      Commands:
        basic_keyword_search           <company_id> <query>                  Search a job via keyword under a provided company.
        category_filter_search         <company_id> <categories_array>       Search a job in given categories under a provided company.
        employment_types_filter_search <company_id> <employment_types_array> Search a job with given employment types under a provided company.
        date_range_filter_search       <company_id> <start_time> <end_time>   Search a job in a certain job period under a provided company.
        language_code_filter_search    <company_id> <language_codes_array>   Search a job with given language codes under a provided company.
        company_display_name_search    <company_display_names_array>         Search a job by company display names.
        compensation_search            <company_id> <min_unit> <max_unit>     Search a job in a certain compensation range (min_unit to max_unit USD/hour).
      Environment variables:
        GOOGLE_CLOUD_PROJECT must be set to your Google Cloud project ID
    USAGE
  end
end