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_user(*args) ⇒ Object
- .normalize_args(args) ⇒ Object
- .set_hash_defaults(hash) ⇒ Object
Class Method Details
.create_jobs(json_hash, type) ⇒ Object
93 94 95 96 97 98 99 100 101 |
# File 'lib/cb/clients/recommendation.rb', line 93 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_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
76 77 78 79 80 81 82 83 84 85 |
# File 'lib/cb/clients/recommendation.rb', line 76 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
87 88 89 90 91 |
# File 'lib/cb/clients/recommendation.rb', line 87 def self.set_hash_defaults(hash) hash[:CountLimit] ||= '25' hash[:HostSite] ||= Cb.configuration.host_site hash end |