Module: Bumeran
- Includes:
- HTTParty
- Defined in:
- lib/bumeran.rb,
lib/bumeran/version.rb,
lib/bumeran/publication.rb
Defined Under Namespace
Classes: Parser, Publication
Constant Summary
collapse
- SERVICES =
Generation of service helpers
{
areas: {object: :area},
subareas: {object: :subarea, parent: :area, parent_service: :areas},
paises: {object: :pais},
zonas: {object: :zona, parent: :pais, parent_service: :paises},
localidades: {object: :localidad, parent: :zona, parent_service: :zonas},
plan_publicaciones: {object: :plan_publicacion, parent: :pais, parent_service: :paises},
denominaciones: {object: :denominacion},
direcciones: {object: :direccion},
frecuencias_pago: {object: :frencuencia_pago},
idiomas: {object: :idioma},
industrias: {object: :industria},
niveles_idiomas: {object: :niveles_idioma},
tipos_trabajo: {object: :tipo_trabajo},
areas_estudio: {object: :area_estudio},
estados_estudio: {object: :estado_estudio},
tipos_estudio: {object: :tipo_estudio}
}
- VERSION =
"0.3.6"
- @@grant_type =
"password"
- @@client_id =
nil
- @@username =
nil
- @@email =
nil
- @@password =
nil
- @@access_token =
nil
- @@token_type =
nil
- @@expires_in =
nil
- @@access_token_updated_at =
nil
- @@options =
nil
- @@last_request =
nil
- @@last_response =
nil
- @@areas =
{}
- @@subareas =
{}
- @@paises =
{}
- @@zonas =
{}
- @@localidades =
{}
- @@plan_publicaciones =
{}
- @@frecuencias_pago =
{}
- @@idiomas =
{}
- @@industrias =
{}
- @@niveles_idiomas =
{}
- @@tipos_trabajo =
{}
- @@areas_estudio =
{}
- @@estados_estudio =
{}
- @@tipos_estudio =
{}
- @@direcciones =
{}
- @@denominaciones =
{}
- @@try_counter =
0
Class Method Summary
collapse
-
.areas ⇒ Object
-
.areas_estudio ⇒ Object
-
.create_aviso(json) ⇒ Object
-
.create_publication(json) ⇒ Object
-
.denominaciones ⇒ Object
-
.destroy_aviso(aviso_id) ⇒ Object
-
.destroy_publication(publication_id) ⇒ Object
-
.direcciones ⇒ Object
-
.discard_postulacion(postulacion_id) ⇒ Object
-
.discard_postulation(postulacion_id) ⇒ Object
-
.environment(use_environment = "production") ⇒ Object
-
.estados_estudio ⇒ Object
-
.frecuencias_pago ⇒ Object
-
.generic_find_all_in(objects_sym, parent_object_sym, parent_service_sym, parent_object_id) ⇒ Object
-
.generic_find_by_id(objects_sym, object_id) ⇒ Object
-
.get_areas ⇒ Object
Servicios comunes Getters.
-
.get_areas_estudio ⇒ Object
Servicios de estudios de los postulantes.
-
.get_aviso(aviso_id) ⇒ Object
-
.get_conocimiento(conocimiento_id, params = nil) ⇒ Object
-
.get_conocimiento_custom(conocimiento_id, params = nil) ⇒ Object
-
.get_curriculum(curriculum_id) ⇒ Object
-
.get_denominaciones ⇒ Object
-
.get_direcciones ⇒ Object
-
.get_estados_estudio ⇒ Object
-
.get_estudio(estudio_id, params = nil) ⇒ Object
-
.get_experiencia_laboral(experiencia_laboral_id, params = nil) ⇒ Object
Servicios de la experiencia laboral de los postulantes.
-
.get_frecuencias_pago ⇒ Object
-
.get_idiomas ⇒ Object
-
.get_industrias ⇒ Object
-
.get_localidades_in(zona_id) ⇒ Object
-
.get_niveles_idiomas ⇒ Object
-
.get_paises ⇒ Object
Servicios generales asociados a datos de localización.
-
.get_plan_publicaciones_in(pais_id) ⇒ Object
-
.get_postulacion(postulacion_id) ⇒ Object
Servicio de postulaciones a los avisos publicados por las empresas.
-
.get_postulaciones_en_aviso(aviso_id) ⇒ Object
-
.get_postulation(postulation_id) ⇒ Object
-
.get_postulations_in_publication(publication_id, page = 0, postulations_per_page = 20) ⇒ Object
-
.get_publication(publication_id) ⇒ Object
-
.get_publication_url(publication_id) ⇒ Object
-
.get_subareas_in(area_id) ⇒ Object
-
.get_tipos_estudio ⇒ Object
-
.get_tipos_trabajo ⇒ Object
-
.get_zonas_in(pais_id) ⇒ Object
-
.has_valid_access_token? ⇒ Boolean
-
.idiomas ⇒ Object
-
.industrias ⇒ Object
-
.initialize ⇒ Object
-
.invalidate_access_token! ⇒ Object
-
.localidades ⇒ Object
-
.login(client_id = @@client_id, username = @@username, password = @@password, grant_type = @@grant_type) ⇒ Object
-
.niveles_idiomas ⇒ Object
-
.paises ⇒ Object
-
.plan_publicaciones ⇒ Object
-
.publicar_aviso(aviso_id, plan_publicacion_id, pais_id) ⇒ Object
-
.publish(json, pais_id, plan_publication_id) ⇒ Object
creates and publish a publication.
-
.publish_publication(publication_id, pais_id, plan_publication_id) ⇒ Object
-
.revalidate_access_token ⇒ Object
-
.setup {|_self| ... } ⇒ Object
Default way to setup Bumeran.
-
.subareas ⇒ Object
-
.tipos_estudio ⇒ Object
-
.tipos_trabajo ⇒ Object
-
.update_publication(publication_id, json) ⇒ Object
-
.zonas ⇒ Object
Class Method Details
.areas ⇒ Object
286
287
288
|
# File 'lib/bumeran.rb', line 286
def self.areas
@@areas.empty? ? get_areas : @@areas
end
|
.areas_estudio ⇒ Object
363
364
365
|
# File 'lib/bumeran.rb', line 363
def self.areas_estudio
@@areas_estudio.empty? ? get_areas_estudio : @@areas_estudio
end
|
.create_aviso(json) ⇒ Object
114
115
116
|
# File 'lib/bumeran.rb', line 114
def self.create_aviso(json)
Bumeran.create_publication(json)
end
|
.create_publication(json) ⇒ Object
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
# File 'lib/bumeran.rb', line 142
def self.create_publication(json)
Bumeran.initialize
create_publication_path = "/v0/empresas/avisos"
response = self.put(create_publication_path, @@options.merge(body: json, headers: { "Accept" => "application/json", "Content-Type" => "application/json"}))
if Parser.parse_response(response)
case response.code
when 201
return response
when 200
return response
end
end
end
|
.denominaciones ⇒ Object
335
336
337
|
# File 'lib/bumeran.rb', line 335
def self.denominaciones
@@denominaciones.empty? ? get_denominaciones : @@denominaciones
end
|
.destroy_aviso(aviso_id) ⇒ Object
129
130
131
|
# File 'lib/bumeran.rb', line 129
def self.destroy_aviso(aviso_id)
Bumeran.destroy_publication(aviso_id)
end
|
.destroy_publication(publication_id) ⇒ Object
221
222
223
224
225
226
227
|
# File 'lib/bumeran.rb', line 221
def self.destroy_publication(publication_id)
Bumeran.initialize
destroy_publication_path = "/v0/empresas/avisos/#{publication_id}"
response = self.delete(destroy_publication_path, @@options)
return Parser.parse_response(response)
end
|
.direcciones ⇒ Object
339
340
341
|
# File 'lib/bumeran.rb', line 339
def self.direcciones
@@direcciones.empty? ? get_direcciones : @@direcciones
end
|
.discard_postulacion(postulacion_id) ⇒ Object
625
626
627
|
# File 'lib/bumeran.rb', line 625
def self.discard_postulacion(postulacion_id)
Bumeran.discard_postulation(postulacion_id)
end
|
.discard_postulation(postulacion_id) ⇒ Object
629
630
631
632
633
634
635
|
# File 'lib/bumeran.rb', line 629
def self.discard_postulation(postulacion_id)
Bumeran.initialize
discard_postulaciones_path = "/v0/empresas/postulaciones/#{postulacion_id}/descartar"
response = self.put(discard_postulaciones_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.environment(use_environment = "production") ⇒ Object
70
71
72
73
74
75
76
77
78
|
# File 'lib/bumeran.rb', line 70
def self.environment(use_environment="production")
if use_environment == "production"
Bumeran.base_uri('https://api.bumeran.com')
elsif use_environment == "development"
Bumeran.base_uri('https://developers.bumeran.com')
else
Bumeran.base_uri('https://developers.bumeran.com')
end
end
|
.estados_estudio ⇒ Object
367
368
369
|
# File 'lib/bumeran.rb', line 367
def self.estados_estudio
@@estados_estudio.empty? ? get_estados_estudio : @@estados_estudio
end
|
.frecuencias_pago ⇒ Object
343
344
345
|
# File 'lib/bumeran.rb', line 343
def self.frecuencias_pago
@@frecuencias_pago.empty? ? get_frecuencias_pago : @@frecuencias_pago
end
|
.generic_find_all_in(objects_sym, parent_object_sym, parent_service_sym, parent_object_id) ⇒ Object
255
256
257
258
259
260
261
262
263
264
265
266
267
|
# File 'lib/bumeran.rb', line 255
def self.generic_find_all_in(objects_sym, parent_object_sym, parent_service_sym, parent_object_id)
if !class_variable_get("@@#{objects_sym}").empty? && send(parent_object_sym, parent_object_id)[objects_sym.to_s]
send(parent_object_sym, parent_object_id)[objects_sym.to_s]
else
parent_object = send(parent_service_sym)[parent_object_id]
if parent_object[objects_sym.to_s]
parent_object[objects_sym.to_s].merge!(send("get_#{objects_sym}_in", parent_object_id))
else
parent_object[objects_sym.to_s] = send("get_#{objects_sym}_in", parent_object_id)
end
end
end
|
.generic_find_by_id(objects_sym, object_id) ⇒ Object
250
251
252
253
|
# File 'lib/bumeran.rb', line 250
def self.generic_find_by_id(objects_sym, object_id)
object = send(objects_sym).select{|id, content| id == object_id}
object ? object[object_id] : nil
end
|
.get_areas ⇒ Object
Servicios comunes Getters
377
378
379
380
381
382
383
384
|
# File 'lib/bumeran.rb', line 377
def self.get_areas
Bumeran.initialize
areas_path = "/v0/empresas/comunes/areas"
response = self.get(areas_path, @@options)
json = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(json, @@areas)
end
|
.get_areas_estudio ⇒ Object
Servicios de estudios de los postulantes
501
502
503
504
505
506
507
508
|
# File 'lib/bumeran.rb', line 501
def self.get_areas_estudio
Bumeran.initialize
areas_estudio_path = "/v0/estudios/areasEstudio"
response = self.get(areas_estudio_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@areas_estudio)
end
|
.get_aviso(aviso_id) ⇒ Object
119
120
121
|
# File 'lib/bumeran.rb', line 119
def self.get_aviso(aviso_id)
Bumeran.get_publication(aviso_id)
end
|
.get_conocimiento(conocimiento_id, params = nil) ⇒ Object
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
|
# File 'lib/bumeran.rb', line 547
def self.get_conocimiento(conocimiento_id, params=nil)
Bumeran.initialize
if params && (params["postulacion_id"] || params["curriculum_id"])
if params["postulacion_id"]
postulacion_id = params['postulacion_id'].to_i
conocimiento_path = "/v0/empresas/postulaciones/#{postulacion_id}/conocimientos/#{conocimiento_id}"
elsif params["curriculum_id"]
curriculum_id = params['curriculum_id'].to_i
conocimiento_path = "/v0/empresas/curriculums/#{curriculum_id}/conocimientos/#{conocimiento_id}"
end
else
puts 'warning, deprecated at 01/09/2015, add postulacion_id to query ej: get_conocimiento(conocimiento_id, "postulacion_id" => postulacion_id)'
conocimiento_path = "/v0/conocimientos/#{conocimiento_id}"
end
response = self.get(conocimiento_path, @@options)
Parser.parse_response_to_json(response)
end
|
.get_conocimiento_custom(conocimiento_id, params = nil) ⇒ Object
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
|
# File 'lib/bumeran.rb', line 567
def self.get_conocimiento_custom(conocimiento_id, params=nil)
Bumeran.initialize
if params && (params["postulacion_id"] || params["curriculum_id"])
if params["postulacion_id"]
postulacion_id = params['postulacion_id'].to_i
conocimiento_custom_path = "/v0/empresas/postulaciones/#{postulacion_id}/conocimientos/custom/#{conocimiento_id}"
elsif params["curriculum_id"]
curriculum_id= params['curriculum_id'].to_i
conocimiento_custom_path = "/v0/empresas/curriculums/#{curriculum_id}/conocimientos/custom/#{conocimiento_id}"
end
else
puts 'warning, deprecated at 01/09/2015, add postulacion_id to query ej: get_conocimiento(conocimiento_id, "postulacion_id" => postulacion_id)'
conocimiento_custom_path = "/v0/conocimientos/custom/#{conocimiento_id}"
end
response = self.get(conocimiento_custom_path, @@options)
Parser.parse_response_to_json(response)
end
|
.get_curriculum(curriculum_id) ⇒ Object
616
617
618
619
620
621
622
|
# File 'lib/bumeran.rb', line 616
def self.get_curriculum(curriculum_id)
Bumeran.initialize
curriculum_path = "/v0/empresas/curriculums/#{curriculum_id}"
response = self.get(curriculum_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_denominaciones ⇒ Object
437
438
439
440
441
442
443
444
|
# File 'lib/bumeran.rb', line 437
def self.get_denominaciones
Bumeran.initialize
denominaciones_path = "/v0/empresas/denominaciones"
response = self.get(denominaciones_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@denominaciones)
end
|
.get_direcciones ⇒ Object
446
447
448
449
450
451
452
453
|
# File 'lib/bumeran.rb', line 446
def self.get_direcciones
Bumeran.initialize
direcciones_path = "/v0/empresas/direcciones"
response = self.get(direcciones_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@direcciones)
end
|
.get_estados_estudio ⇒ Object
510
511
512
513
514
515
516
517
|
# File 'lib/bumeran.rb', line 510
def self.get_estados_estudio
Bumeran.initialize
estados_estudio_path = "/v0/estudios/estadosEstudio"
response = self.get(estados_estudio_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@estados_estudio)
end
|
.get_estudio(estudio_id, params = nil) ⇒ Object
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
|
# File 'lib/bumeran.rb', line 528
def self.get_estudio(estudio_id, params=nil)
Bumeran.initialize
if params && (params["postulacion_id"] || params["curriculum_id"])
if params["postulacion_id"]
postulacion_id = params['postulacion_id'].to_i
estudio_path = "/v0/empresas/postulaciones/#{postulacion_id}/estudios/#{estudio_id}"
elsif params["curriculum_id"]
curriculum_id = params['curriculum_id'].to_i
estudio_path = "/v0/empresas/curriculums/#{curriculum_id}/estudios/#{estudio_id}"
end
else
puts 'warning, deprecated at 01/09/2015, add postulacion_id to query ej: get_estudio(estudio_id, "postulacion_id" => postulacion_id)'
estudio_path = "/v0/estudios/#{estudio_id}"
end
response = self.get(estudio_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_experiencia_laboral(experiencia_laboral_id, params = nil) ⇒ Object
Servicios de la experiencia laboral de los postulantes
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
|
# File 'lib/bumeran.rb', line 588
def self.get_experiencia_laboral(experiencia_laboral_id, params=nil)
Bumeran.initialize
if params && (params["postulacion_id"] || params["curriculum_id"])
if params["postulacion_id"]
postulacion_id = params['postulacion_id'].to_i
experiencia_laboral_path = "/v0/empresas/postulaciones/#{postulacion_id}/experienciasLaborales/#{experiencia_laboral_id}"
elsif params["curriculum_id"]
curriculum_id= params['curriculum_id'].to_i
experiencia_laboral_path = "/v0/empresas/curriculums/#{curriculum_id}/experienciasLaborales/#{experiencia_laboral_id}"
end
else
puts 'warning, deprecated at 01/09/2015, add postulacion_id to query ej: get_experiencia_laboral(experiencia_laboral_id, "postulacion_id" => postulacion_id)'
experiencia_laboral_path = "/v0/experienciasLaborales/#{experiencia_laboral_id}"
end
response = self.get(experiencia_laboral_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_frecuencias_pago ⇒ Object
455
456
457
458
459
460
461
462
|
# File 'lib/bumeran.rb', line 455
def self.get_frecuencias_pago
Bumeran.initialize
frecuencias_pago_path = "/v0/empresas/comunes/frecuenciasPago"
response = self.get(frecuencias_pago_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@frecuencias_pago)
end
|
.get_idiomas ⇒ Object
464
465
466
467
468
469
470
471
|
# File 'lib/bumeran.rb', line 464
def self.get_idiomas
Bumeran.initialize
idiomas_path = "/v0/empresas/comunes/idiomas"
response = self.get(idiomas_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@idiomas)
end
|
.get_industrias ⇒ Object
473
474
475
476
477
478
479
480
|
# File 'lib/bumeran.rb', line 473
def self.get_industrias
Bumeran.initialize
industrias_path = "/v0/empresas/comunes/industrias"
response = self.get(industrias_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@industrias)
end
|
.get_localidades_in(zona_id) ⇒ Object
416
417
418
419
420
421
422
423
424
|
# File 'lib/bumeran.rb', line 416
def self.get_localidades_in(zona_id)
Bumeran.initialize
localidades_path = "/v0/empresas/localizaciones/zonas/#{zona_id}/localidades"
response = self.get(localidades_path, @@options)
json = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(json, @@localidades)
Parser.parse_json_to_hash(json, {})
end
|
.get_niveles_idiomas ⇒ Object
482
483
484
485
486
487
488
489
|
# File 'lib/bumeran.rb', line 482
def self.get_niveles_idiomas
Bumeran.initialize
niveles_idiomas_path = "/v0/empresas/comunes/nivelesIdiomas"
response = self.get(niveles_idiomas_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@niveles_idiomas)
end
|
.get_paises ⇒ Object
Servicios generales asociados a datos de localización
397
398
399
400
401
402
403
404
|
# File 'lib/bumeran.rb', line 397
def self.get_paises
Bumeran.initialize
paises_path = "/v0/empresas/localizaciones/paises"
response = self.get(paises_path, @@options)
paises_json = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(paises_json, @@paises)
end
|
.get_plan_publicaciones_in(pais_id) ⇒ Object
426
427
428
429
430
431
432
433
434
|
# File 'lib/bumeran.rb', line 426
def self.get_plan_publicaciones_in(pais_id)
Bumeran.initialize
plan_publicaciones_path = "/v0/empresas/planPublicaciones/#{pais_id}"
response = self.get(plan_publicaciones_path, @@options)
json = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(json, @@plan_publicaciones)
return Parser.parse_json_to_hash(json, {})
end
|
.get_postulacion(postulacion_id) ⇒ Object
Servicio de postulaciones a los avisos publicados por las empresas
608
609
610
611
612
613
614
|
# File 'lib/bumeran.rb', line 608
def self.get_postulacion(postulacion_id)
Bumeran.initialize
postulacion_path = "/v0/empresas/postulaciones/#{postulacion_id}"
response = self.get(postulacion_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_postulaciones_en_aviso(aviso_id) ⇒ Object
124
125
126
|
# File 'lib/bumeran.rb', line 124
def self.get_postulaciones_en_aviso(aviso_id)
Bumeran.get_postulations_in_publication(aviso_id)
end
|
.get_postulation(postulation_id) ⇒ Object
213
214
215
216
217
218
219
|
# File 'lib/bumeran.rb', line 213
def self.get_postulation(postulation_id)
Bumeran.initialize
get_postulation_path = "/v0/empresas/postulaciones/#{postulation_id}"
response = self.get(get_postulation_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_postulations_in_publication(publication_id, page = 0, postulations_per_page = 20) ⇒ Object
205
206
207
208
209
210
211
|
# File 'lib/bumeran.rb', line 205
def self.get_postulations_in_publication(publication_id, page=0, postulations_per_page=20)
Bumeran.initialize
get_postulations_in_publication_path = "/v0/empresas/avisos/#{publication_id}/postulaciones"
response = self.get(get_postulations_in_publication_path, @@options.merge(query: @@options[:query].merge({page: page, perPage: postulations_per_page})))
return Parser.parse_response_to_json(response)
end
|
.get_publication(publication_id) ⇒ Object
197
198
199
200
201
202
203
|
# File 'lib/bumeran.rb', line 197
def self.get_publication(publication_id)
Bumeran.initialize
get_publication_path = "/v0/empresas/avisos/#{publication_id}"
response = self.get(get_publication_path, @@options)
return Parser.parse_response_to_json(response)
end
|
.get_publication_url(publication_id) ⇒ Object
193
194
195
|
# File 'lib/bumeran.rb', line 193
def self.get_publication_url(publication_id)
"http://www.laborum.cl/empleos/#{publication_id}.html"
end
|
.get_subareas_in(area_id) ⇒ Object
386
387
388
389
390
391
392
393
394
|
# File 'lib/bumeran.rb', line 386
def self.get_subareas_in(area_id)
Bumeran.initialize
subareas_path = "/v0/empresas/comunes/areas/#{area_id}/subAreas"
response = self.get(subareas_path, @@options)
json = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(json, @@subareas)
Parser.parse_json_to_hash(json, {})
end
|
.get_tipos_estudio ⇒ Object
519
520
521
522
523
524
525
526
|
# File 'lib/bumeran.rb', line 519
def self.get_tipos_estudio
Bumeran.initialize
tipos_estudio_path = "/v0/estudios/tiposEstudio"
response = self.get(tipos_estudio_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@tipos_estudio)
end
|
.get_tipos_trabajo ⇒ Object
491
492
493
494
495
496
497
498
|
# File 'lib/bumeran.rb', line 491
def self.get_tipos_trabajo
Bumeran.initialize
tipos_trabajo_path = "/v0/empresas/comunes/tiposTrabajo"
response = self.get(tipos_trabajo_path, @@options)
json = Parser.parse_response_to_json(response)
return Parser.parse_json_to_hash(json, @@tipos_trabajo)
end
|
.get_zonas_in(pais_id) ⇒ Object
406
407
408
409
410
411
412
413
414
|
# File 'lib/bumeran.rb', line 406
def self.get_zonas_in(pais_id)
Bumeran.initialize
zonas_path = "/v0/empresas/localizaciones/paises/#{pais_id}/zonas"
response = self.get(zonas_path, @@options)
json_zonas = Parser.parse_response_to_json(response)
Parser.parse_json_to_hash(json_zonas, @@zonas)
Parser.parse_json_to_hash(json_zonas, {})
end
|
.has_valid_access_token? ⇒ Boolean
97
98
99
100
101
102
103
104
|
# File 'lib/bumeran.rb', line 97
def self.has_valid_access_token?
if @@access_token && @@access_token_updated_at && @@expires_in
(Time.current < @@access_token_updated_at + @@expires_in.seconds + 5.minutes)
else
Bumeran.invalidate_access_token!
false
end
end
|
.idiomas ⇒ Object
347
348
349
|
# File 'lib/bumeran.rb', line 347
def self.idiomas
@@idiomas.empty? ? get_idiomas : @@idiomas
end
|
.industrias ⇒ Object
351
352
353
|
# File 'lib/bumeran.rb', line 351
def self.industrias
@@industrias.empty? ? get_industrias : @@industrias
end
|
.initialize ⇒ Object
80
81
82
83
84
85
|
# File 'lib/bumeran.rb', line 80
def self.initialize
unless has_valid_access_token?
login
@@options = { query: {access_token: @@access_token} }
end
end
|
.invalidate_access_token! ⇒ Object
87
88
89
90
|
# File 'lib/bumeran.rb', line 87
def self.invalidate_access_token!
@@access_token = nil
@@access_token_updated_at = nil
end
|
.localidades ⇒ Object
313
314
315
316
317
318
319
320
321
322
323
324
|
# File 'lib/bumeran.rb', line 313
def self.localidades
if @@localidades.empty?
zonas.each do |zona_id, zona|
begin
zona["localidades"] ? zona["localidades"].merge!(get_localidades_in(zona_id)) : zona["localidades"] = get_localidades_in(zona_id)
rescue StandardError => e
pp "Error at get_localidades_in(#{zona["id"]}): #{e}"
end
end
end
@@localidades
end
|
.login(client_id = @@client_id, username = @@username, password = @@password, grant_type = @@grant_type) ⇒ Object
638
639
640
641
642
643
644
645
646
647
648
649
650
|
# File 'lib/bumeran.rb', line 638
def self.login(client_id=@@client_id, username=@@username, password=@@password, grant_type=@@grant_type)
login_path = "/v0/empresas/usuarios/login"
response = self.post(login_path, query: {grant_type: grant_type, client_id: client_id, username: username, password: password})
if Parser.parse_response_to_json(response)
@@access_token = response["accessToken"]
@@token_type = response["tokenType"]
@@expires_in = response["expiresIn"]
@@access_token_updated_at = Time.current
return @@access_token
end
end
|
.niveles_idiomas ⇒ Object
355
356
357
|
# File 'lib/bumeran.rb', line 355
def self.niveles_idiomas
@@niveles_idiomas.empty? ? get_niveles_idiomas : @@niveles_idiomas
end
|
.paises ⇒ Object
299
300
301
|
# File 'lib/bumeran.rb', line 299
def self.paises
@@paises.empty? ? get_paises : @@paises
end
|
.plan_publicaciones ⇒ Object
326
327
328
329
330
331
332
333
|
# File 'lib/bumeran.rb', line 326
def self.plan_publicaciones
if @@plan_publicaciones.empty?
paises.each do |pais_id, pais|
pais["plan_publicaciones"] ? pais["plan_publicaciones"].merge!(get_plan_publicaciones_in(pais_id)) : pais["plan_publicaciones"] = get_plan_publicaciones_in(pais_id)
end
end
@@plan_publicaciones
end
|
.publicar_aviso(aviso_id, plan_publicacion_id, pais_id) ⇒ Object
109
110
111
|
# File 'lib/bumeran.rb', line 109
def self.publicar_aviso(aviso_id, plan_publicacion_id, pais_id)
Bumeran.publish_publication(aviso_id, plan_publicacion_id, pais_id)
end
|
.publish(json, pais_id, plan_publication_id) ⇒ Object
creates and publish a publication
134
135
136
137
138
|
# File 'lib/bumeran.rb', line 134
def self.publish(json, pais_id, plan_publication_id)
publication_id = Bumeran.create_publication(json)
Bumeran.publish_publication(publication_id, pais_id, plan_publication_id)
return publication_id
end
|
.publish_publication(publication_id, pais_id, plan_publication_id) ⇒ Object
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
# File 'lib/bumeran.rb', line 176
def self.publish_publication(publication_id, pais_id, plan_publication_id)
Bumeran.initialize
publish_publication_path = "/v0/empresas/avisos/#{publication_id}/publicacion/#{plan_publication_id}"
response = self.put(publish_publication_path, @@options.merge(query: @@options[:query].merge({paisId: pais_id})))
if Parser.parse_response(response)
case response.code
when 201
return response
when 200
return response
end
end
end
|
.revalidate_access_token ⇒ Object
92
93
94
95
|
# File 'lib/bumeran.rb', line 92
def self.revalidate_access_token
Bumeran.invalidate_access_token!
Bumeran.initialize
end
|
.setup {|_self| ... } ⇒ Object
Default way to setup Bumeran.
66
67
68
|
# File 'lib/bumeran.rb', line 66
def self.setup
yield self
end
|
.subareas ⇒ Object
290
291
292
293
294
295
296
297
|
# File 'lib/bumeran.rb', line 290
def self.subareas
if @@subareas.empty?
areas.each do |area_id, area|
area["subareas"] ? area["subareas"].merge!(get_subareas_in(area_id)) : area["subareas"] = get_subareas_in(area_id)
end
end
@@subareas
end
|
.tipos_estudio ⇒ Object
371
372
373
|
# File 'lib/bumeran.rb', line 371
def self.tipos_estudio
@@tipos_estudio.empty? ? get_tipos_estudio : @@tipos_estudio
end
|
.tipos_trabajo ⇒ Object
359
360
361
|
# File 'lib/bumeran.rb', line 359
def self.tipos_trabajo
@@tipos_trabajo.empty? ? get_tipos_trabajo : @@tipos_trabajo
end
|
.update_publication(publication_id, json) ⇒ Object
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
# File 'lib/bumeran.rb', line 159
def self.update_publication(publication_id, json)
Bumeran.initialize
update_publication_path = "/v0/empresas/avisos/#{publication_id}"
response = self.post(update_publication_path, @@options.merge(body: json, headers: { "Accept" => "application/json", "Content-Type" => "application/json"}))
if Parser.parse_response(response)
case response.code
when 201
return response
when 200
return response
end
end
end
|
.zonas ⇒ Object
303
304
305
306
307
308
309
310
311
|
# File 'lib/bumeran.rb', line 303
def self.zonas
if @@zonas.empty?
paises.each do |pais_id, pais|
pais["zonas"] ? pais["zonas"].merge!(get_zonas_in(pais_id)) : pais["zonas"] = get_zonas_in(pais_id)
end
end
@@zonas
end
|