Module: ChambaSearchMx

Defined in:
lib/chamba_search_mx.rb,
lib/chamba_search_mx/finder.rb,
lib/chamba_search_mx/version.rb,
lib/chamba_search_mx/job_page.rb,
lib/chamba_search_mx/html_page.rb,
lib/chamba_search_mx/pagination.rb,
lib/chamba_search_mx/search_page.rb,
lib/chamba_search_mx/job_decorator.rb,
lib/chamba_search_mx/url_formatter.rb,
lib/chamba_search_mx/factories/days.rb,
lib/chamba_search_mx/factories/base_url.rb,
lib/chamba_search_mx/factories/salaries.rb,
lib/chamba_search_mx/factories/locations.rb

Overview

ChambaSearchMx module allows you to search jobs and get back a ruby object with useful information about the position openenings published on the web

Defined Under Namespace

Classes: Finder, HTMLPage, JobDecorator, JobPage, Pagination, SearchPage, UrlFormatter

Constant Summary collapse

VERSION =
'0.1.1'.freeze
DAYS =

days options

{
  '1': 'ayer',
  '2': 'desde-hace-2-dias',
  '3': 'desde-hace-3-dias',
  '4': 'desde-hace-4-dias',
  '5': 'desde-hace-5-dias',
  '6': 'desde-hace-6-dias',
  '7': 'desde-hace-7-dias',
  '14': 'desde-hace-14-dias',
  '30': 'desde-hace-30-dias',
  '60': 'desde-hace-60-dias'
}.freeze
BASE_URL =

this is a secret!

'https://www.occ.com.mx'.freeze
SALARIES =

available salary ranges

{
  "0-5000":       '0-a-5000-pesos',
  "5000-10000":   '5000-a-10000-pesos',
  "10000-15000":  '10000-a-15000-pesos',
  "15000-20000":  '15000-a-20000-pesos',
  "20000-30000":  '20000-a-30000-pesos',
  "30000-40000":  '30000-a-40000-pesos',
  "40000-50000":  '40000-a-50000-pesos',
  "50000-65000":  '50000-a-65000-pesos',
  "65000-80000":  '65000-a-80000-pesos',
  "80000-":       'mas-de-80000'
}.freeze
LOCATIONS =

available locations

{
  ags:      'empleos-en-aguascalientes',
  bcn:      'empleos-en-baja-california',
  bcs:      'empleos-en-baja-california-sur',
  cam:      'empleos-en-campeche',
  chi:      'empleos-en-chihuahua',
  chp:      'empleos-en-chiapas',
  coa:      'empleos-en-coahuila',
  col:      'empleos-en-colima',
  default:  'empleos-en-mexico-y-el-mundo',
  df:       'empleos-en-df-y-zona-metro',
  dgo:      'empleos-en-durango',
  gro:      'empleos-en-guerrero',
  gto:      'empleos-en-guanajuato',
  hgo:      'empleos-en-hidalgo',
  jal:      'empleos-en-jalisco',
  mch:      'empleos-en-michoacan',
  mex:      'empleos-en-edo-mexico',
  mor:      'empleos-en-morelos',
  mx:       'empleos-en-empleos-en-mexico',
  nay:      'empleos-en-nayarit',
  nl:       'empleos-en-nuevo león',
  oax:      'empleos-en-oaxaca',
  pue:      'empleos-en-puebla',
  qr:       'empleos-en-quintana roo',
  qro:      'empleos-en-queretaro',
  sina:     'empleos-en-sinaloa',
  slp:      'empleos-en-san luis potose',
  sono:     'empleos-en-sonora',
  tab:      'empleos-en-tabasco',
  tam:      'empleos-en-tamaulipas',
  tlx:      'empleos-en-tlaxcala',
  us:       'empleos-en-estados unidos',
  ver:      'empleos-en-veracruz',
  world:    'empleos-en-resto del mundo',
  yuc:      'empleos-en-yucatán',
  zac:      'empleos-en-zacatecas'
}.freeze

Class Method Summary collapse

Class Method Details

.find(opts = {}) ⇒ Object

Public api of this module. This method takes case of parsing the opts argument into a internal api, this acts basically as a connector



20
21
22
23
24
25
26
27
28
# File 'lib/chamba_search_mx.rb', line 20

def self.find(opts = {})
  finder = opts[:finder] || ChambaSearchMx::Finder.new
  search_options = {
    location: opts[:location],
    salary: opts[:salary],
    days: opts[:days]
  }
  finder.find(opts[:search], search_options).jobs
end