Class: RubyDesk::Job

Inherits:
OdeskEntity show all
Defined in:
lib/ruby_desk/job.rb

Overview

A job opening with the following attributes

  • adj_score
  • amount
  • ciphertext
  • country
  • create_date
  • engagement_weeks
  • hours_per_week
  • job_category_level_one
  • job_category_level_two
  • job_type
  • op_adjusted_score
  • op_amount
  • op_buyer_ace
  • op_city
  • op_company_name
  • op_contract_date
  • op_country
  • op_date_created
  • op_description
  • op_eng_duration
  • op_hrs_per_week
  • op_job
  • op_job_category_
  • op_job_type
  • op_num_of_pending_invites
  • op_pref_english_skill
  • op_pref_fb_score
  • op_pref_hourly_rate
  • op_pref_odesk_hours
  • op_pref_test
  • op_pref_test_name
  • op_recno
  • op_required_skills
  • op_status_for_search
  • op_title
  • op_tot_asgs
  • op_tot_cand
  • op_tot_cand_client
  • op_tot_cand_prof
  • op_tot_feedback
  • op_tot_fp_asgs
  • op_tot_fp_charge
  • op_tot_hours
  • op_tot_hr_asgs
  • op_tot_hr_charge
  • op_tot_intv
  • op_tot_jobs_filled
  • op_tot_jobs_posted
  • record_id
  • search_status
  • timezone
  • total_billed_assignments
  • total_charge
  • total_hours

Class Method Summary collapse

Methods inherited from OdeskEntity

attribute, #initialize

Constructor Details

This class inherits a constructor from RubyDesk::OdeskEntity

Class Method Details

.search(connector, query_options = {}) ⇒ Object

Details on Search Parameters

 

  • q - OpeningData (Opening Data)
    • Search the text of the job description
  • c1 - JobCategory (Level One Job Category)
    • Limit your search to a specific category
  • c2 - second_category (Second Level Job Category)
    • Limit your search to a specific sub-category
      • You must use a level one category in order to use a second level category.
  • fb - adjusted_score (Adjusted Score)
    • Limit your search to buyers with at least a score of the number passed in this parameter.
      • This number must be 5 or less
  • min - min_budget (Min Budget)
    • Limit your search to jobs with a budget greater than this number.
  • max - max_budget (Max Budget)
    • Limit your search to jobs with a budget less than this number.
  • t - JobType (Job Type)
    • oDesk has both hourly jobs and fixed prices jobs. This parameter allows you to limit your search to one or the other.
      • Hourly Jobs = 'Hourly'
      • Fixed Priced Jobs = 'Fixed'
    • wl - hours_per_week(Hours per Week)
      • This parameter can only be used when searching Hourly jobs. These numbers are a little arbitrary, so follow the following parameters in order to successfully use this parameter:
        • As Needed < 10 Hours/Week = '0'

        • Part Time: 10-30 hrs/week = '20'

        • Full Time: 30+ hrs/week = '40'
    • dur - engagement_duration (Engagement Duration)
      • This parameter can only be used when searching Hourly jobs. These numbers are a little arbitrary, so follow the following parameters in order to successfully use this parameter:
        • Ongoing / More than 6 months = '1'
        • 3 to 6 months = '2'
        • 1 to 3 months = '3'
        • Less than 1 month = '4'
        • Less than 1 week = '5'
  • dp - Date_Posted (Date Posted)
    • Search jobs posted after this date.
      • Format for date: 07-22-2009
  • st - status_for_search (Status for Search)
    • Search Canceled jobs, In Progress Jobs and Completed Jobs: By default this default to Open Jobs
      • Open Jobs = 'Open'
      • Jobs in Progress = 'In Progress'
      • Completed Jobs = 'Completed'
      • Canceled Jobs = 'Cancelled'
  • tba - total_billed_assignments (Total Billed Assignments)
    • Limit your search to buyers who completed at least this number of paid assignments
      • For example tb=5 searches buyers who have at least 5 billed assignments
  • gr - PrefGroup(Preferred Group)providers
    • Limits your search to buyers in a particular group
  • to - titles_only (titles only)
    • Limits your search to job titles only. (you should be able to combine this search)


202
203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/ruby_desk/job.rb', line 202

def self.search(connector, query_options={})
  if query_options.respond_to? :to_str
    return search(connector, :q=>query_options.to_str)
  end
  json = connector.prepare_and_invoke_api_call(
      'profiles/v1/search/jobs', :method=>:get,
      :auth=>false, :sign=>false, :params=>query_options)
  jobs = []
  [json['jobs']['job']].flatten.each do |job|
    jobs << self.new(job)
  end
  return jobs
end