Class: Cb::Clients::Recommendation
- Inherits:
-
Object
- Object
- Cb::Clients::Recommendation
- Defined in:
- lib/cb/clients/recommendation.rb
Class Method Summary collapse
- .create_jobs(json_hash, type) ⇒ Object
- .for_company(company_did) ⇒ Object
- .for_job(*args) ⇒ Object
- .for_resume(oauth_token, resume_hash) ⇒ Object
- .for_user(*args) ⇒ Object
- .normalize_args(args) ⇒ Object
- .set_hash_defaults(hash) ⇒ Object
Class Method Details
.create_jobs(json_hash, type) ⇒ Object
98 99 100 101 102 103 104 105 106 |
# File 'lib/cb/clients/recommendation.rb', line 98 def self.create_jobs json_hash, type jobs = [] [json_hash["ResponseRecommend#{type}"]['RecommendJobResults']['RecommendJobResult']].flatten.each do |api_job| jobs << Models::Job.new(api_job) end jobs end |
.for_company(company_did) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/cb/clients/recommendation.rb', line 55 def self.for_company(company_did) my_api = Cb::Utils::Api.instance json_hash = my_api.cb_get(Cb.configuration.uri_recommendation_for_company, :query => {:CompanyDID => company_did}) jobs = [] if json_hash.has_key?('Results') if json_hash['Results'].has_key?('JobRecommendation') json_hash['Results']['JobRecommendation']['Jobs'].each do |cur_job| jobs << Models::Job.new(cur_job) end my_api.append_api_responses(jobs, json_hash['Results']['JobRecommendation']) end my_api.append_api_responses(jobs, json_hash['Results']) end my_api.append_api_responses(jobs, json_hash) end |
.for_job(*args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/cb/clients/recommendation.rb', line 6 def self.for_job(*args) my_api = Cb::Utils::Api.instance hash = normalize_args(args) hash = set_hash_defaults(hash) json_hash = my_api.cb_get(Cb.configuration.uri_recommendation_for_job, :query => hash) jobs = [] if json_hash.has_key?('ResponseRecommendJob') if json_hash['ResponseRecommendJob'].has_key?('RecommendJobResults') && !json_hash['ResponseRecommendJob']['RecommendJobResults'].nil? jobs = create_jobs json_hash, 'Job' my_api.append_api_responses(jobs, json_hash['ResponseRecommendJob']['Request']) end my_api.append_api_responses(jobs, json_hash['ResponseRecommendJob']) end my_api.append_api_responses(jobs, json_hash) end |
.for_resume(oauth_token, resume_hash) ⇒ Object
74 75 76 77 |
# File 'lib/cb/clients/recommendation.rb', line 74 def self.for_resume(oauth_token, resume_hash) json_hash = oauth_token.get(Cb.configuration.uri_recommendation_for_resume, :query => {:resume_hash => resume_hash}) Responses::Recommendations.new(json_hash) end |
.for_user(*args) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/cb/clients/recommendation.rb', line 30 def self.for_user(*args) my_api = Cb::Utils::Api.instance hash = normalize_args(args) hash = set_hash_defaults(hash) json_hash = my_api.cb_get(Cb.configuration.uri_recommendation_for_user, :query => hash) jobs = [] if json_hash.has_key?('ResponseRecommendUser') if json_hash['ResponseRecommendUser'].has_key?('RecommendJobResults') && !json_hash['ResponseRecommendUser']['RecommendJobResults'].nil? jobs = create_jobs json_hash, 'User' my_api.append_api_responses(jobs, json_hash['ResponseRecommendUser']['Request']) end my_api.append_api_responses(jobs, json_hash['ResponseRecommendUser']) end my_api.append_api_responses(jobs, json_hash) end |
.normalize_args(args) ⇒ Object
81 82 83 84 85 86 87 88 89 90 |
# File 'lib/cb/clients/recommendation.rb', line 81 def self.normalize_args(args) return args[0] if args[0].class == Hash { :ExternalID => args[0], :JobDID => args[0], :CountLimit => args[1] || '25', :SiteID => args[2] || "", :CoBrand => args[3] || "" } end |
.set_hash_defaults(hash) ⇒ Object
92 93 94 95 96 |
# File 'lib/cb/clients/recommendation.rb', line 92 def self.set_hash_defaults(hash) hash[:CountLimit] ||= '25' hash[:HostSite] ||= Cb.configuration.host_site hash end |