Class: Cb::Models::Job

Inherits:
Object
  • Object
show all
Defined in:
lib/cb/models/implementations/job.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Job

Returns a new instance of Job.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/cb/models/implementations/job.rb', line 23

def initialize(args = {})
  return if args.nil?

  # General
  @did                          = args['DID'] || args['JobDID'] || ''
  @title                        = args['JobTitle'] || args['Title'] || ''
  @employment_type              = args['EmploymentType'] || ''
  @employment_type_code         = args['EmploymentTypeCode'] || ''
  @latitude                     = args['LocationLatitude'] || ''
  @longitude                    = args['LocationLongitude'] || ''
  @location_street_1            = args['LocationStreet1'] || ''
  @location_street_2            = args['LocationStreet2'] || ''
  @location_formatted           = args['LocationFormatted'] || ''

  # Job Skin Related
  @job_skin                     = args.has_key?("JobSkin") && !args["JobSkin"].nil? ? args['JobSkin']['#cdata-section'] : ''
  @job_skin_did                 = args['JobSkinDID'] || ''
  @job_branding                 = @job_skin_did.blank? ? '' : Cb.job_branding.find_by_id(job_skin_did)
  @job_tracking_url             = args['JobTrackingURL'] || ''
  @display_job_id               = args['DisplayJobID'] || ''

  # Compensation
  @pay                          = args['PayHighLowFormatted'] || ''
  @pay_per                      = args['PayPer'] || ''
  @commission                   = args.has_key?("PayCommission") && !args["PayCommission"].nil? ? args['PayCommission']['Money']['FormattedAmount'] : ''
  @bonus                        = args.has_key?("PayBonus") && !args["PayBonus"].nil? ? args['PayBonus']['Money']['FormattedAmount'] : ''
  @pay_other                    = args.has_key?("PayOther") && !args["PayOther"].nil? ? args['PayOther'] : ''

  # Job Search related
  @description_teaser           = args['DescriptionTeaser'] || ''
  @posted_date                  = args['PostedDate'] || ''
  @distance                     = args['Distance'] || ''
  @details_url                  = args['JobDetailsURL'] || ''
  @service_url                  = args['JobServiceURL'] || ''
  @location                     = args['Location'] || ''
  @similar_jobs_url             = args['SimilarJobsURL'] || ''

  # Summary
  @categories                   = args['Categories'] || ''
  @category_codes               = args['CategoriesCodes'] || ''
  @degree_required              = args['DegreeRequired'] || ''
  @degree_required_code         = args['DegreeRequiredCode'] || ''
  @experience_required          = args['ExperienceRequired'] || ''
  @experience_required_code     = args['ExperienceRequiredCode'] || ''
  @travel_required              = args['TravelRequired'] || ''
  @travel_required_code         = args['TravelRequiredCode'] || ''
  @relocation_covered           = args['RelocationCovered'] || ''
  @relocation_options           = args['RelocationOptions'] || ''
  @division                     = args['Division'] || ''
  @industry                     = args['Industry'] || ''
  @industry_codes               = args['IndustryCodes'] || ''
  @manages_others               = args['ManagesOthers'] || ''
  @manages_others_code          = args['ManagesOthersCode'] || ''
  @manages_others_string        = args['ManagesOthersString'] || ''

  # Contact Info
  @contact_email_url            = args['ContactInfoEmailURL'] || ''
  @contact_fax                  = args['ContactInfoFax'] || ''
  @contact_name                 = args['ContactInfoName'] || ''
  @contact_phone                = args['ContactInfoPhone'] || ''

  # Job Details related
  @description                  = args['Description'] || args['JobDescription'] || ''
  @requirements                 = args['JobRequirements'] || ''
  @begin_date                   = args['BeginDate'] || ''
  @end_date                     = args['EndDate'] || ''

  # Application
  @apply_url                    = args['ApplyURL'] || ''
  @external_apply_url           = args['ExternalApplyURL'] || ''
  @external_application         = args['ExternalApplication'] || ''
  @is_screener_apply            = args['IsScreenerApply'] || ''
  @is_shared_job                = args['IsSharedJob'] || ''
  @can_be_quick_applied         = args['CanBeQuickApplied'] || ''
  @apply_requirements           = Cb::Utils::ResponseArrayExtractor.extract(args, 'ApplyRequirements')

  # Company related
  @company_name                 = args['Company'] || ''
  @company_did                  = args['CompanyDID'] || ''
  @company_details_url          = args['CompanyDetailsURL'] || ''
  @company_image_url            = args['CompanyImageURL'] || ''

  # Recommendations related
  @relevancy                    = args['Relevancy'] || ''
  @state                        = args['LocationState'] || ''
  @city                         = args['LocationCity'] || ''
  @zip                          = args['LocationPostalCode'] || ''
  @company_name                 = args['Company']['CompanyName'] unless args['Company'].nil? || args['Company']['CompanyName'].nil?
  @company_details_url          = args['Company']['CompanyDetailsURL'] unless args['Company'].nil? || args['Company']['CompanyDetailsURL'].nil?


end

Instance Attribute Details

#apply_requirementsObject

Returns the value of attribute apply_requirements.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def apply_requirements
  @apply_requirements
end

#apply_urlObject

Returns the value of attribute apply_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def apply_url
  @apply_url
end

#begin_dateObject

Returns the value of attribute begin_date.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def begin_date
  @begin_date
end

#bonusObject

Returns the value of attribute bonus.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def bonus
  @bonus
end

#can_be_quick_appliedObject

Returns the value of attribute can_be_quick_applied.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def can_be_quick_applied
  @can_be_quick_applied
end

#categoriesObject

Returns the value of attribute categories.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def categories
  @categories
end

#category_codesObject

Returns the value of attribute category_codes.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def category_codes
  @category_codes
end

#cityObject

Returns the value of attribute city.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def city
  @city
end

#commissionObject

Returns the value of attribute commission.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def commission
  @commission
end

#companyObject

Returns the value of attribute company.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def company
  @company
end

#company_details_urlObject

Returns the value of attribute company_details_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def company_details_url
  @company_details_url
end

#company_didObject

Returns the value of attribute company_did.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def company_did
  @company_did
end

#company_image_urlObject

Returns the value of attribute company_image_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def company_image_url
  @company_image_url
end

#company_nameObject

Returns the value of attribute company_name.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def company_name
  @company_name
end

#contact_email_urlObject

Returns the value of attribute contact_email_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def contact_email_url
  @contact_email_url
end

#contact_faxObject

Returns the value of attribute contact_fax.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def contact_fax
  @contact_fax
end

#contact_nameObject

Returns the value of attribute contact_name.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def contact_name
  @contact_name
end

#contact_phoneObject

Returns the value of attribute contact_phone.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def contact_phone
  @contact_phone
end

#degree_requiredObject

Returns the value of attribute degree_required.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def degree_required
  @degree_required
end

#degree_required_codeObject

Returns the value of attribute degree_required_code.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def degree_required_code
  @degree_required_code
end

#descriptionObject

Returns the value of attribute description.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def description
  @description
end

#description_teaserObject

Returns the value of attribute description_teaser.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def description_teaser
  @description_teaser
end

#details_urlObject

Returns the value of attribute details_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def details_url
  @details_url
end

#didObject

Returns the value of attribute did.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def did
  @did
end

#display_job_idObject

Returns the value of attribute display_job_id.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def display_job_id
  @display_job_id
end

#distanceObject

Returns the value of attribute distance.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def distance
  @distance
end

#divisonObject

Returns the value of attribute divison.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def divison
  @divison
end

#employment_typeObject

Returns the value of attribute employment_type.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def employment_type
  @employment_type
end

#employment_type_codeObject

Returns the value of attribute employment_type_code.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def employment_type_code
  @employment_type_code
end

#end_dateObject

Returns the value of attribute end_date.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def end_date
  @end_date
end

#experience_requiredObject

Returns the value of attribute experience_required.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def experience_required
  @experience_required
end

#external_application=(value) ⇒ Object (writeonly)

Sets the attribute external_application

Parameters:

  • value

    the value to set the attribute external_application to.



19
20
21
# File 'lib/cb/models/implementations/job.rb', line 19

def external_application=(value)
  @external_application = value
end

#external_apply_urlObject

Returns the value of attribute external_apply_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def external_apply_url
  @external_apply_url
end

#industryObject

Returns the value of attribute industry.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def industry
  @industry
end

#industry_codesObject

Returns the value of attribute industry_codes.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def industry_codes
  @industry_codes
end

#is_screener_apply=(value) ⇒ Object (writeonly)

Sets the attribute is_screener_apply

Parameters:

  • value

    the value to set the attribute is_screener_apply to.



19
20
21
# File 'lib/cb/models/implementations/job.rb', line 19

def is_screener_apply=(value)
  @is_screener_apply = value
end

#is_shared_job=(value) ⇒ Object (writeonly)

Sets the attribute is_shared_job

Parameters:

  • value

    the value to set the attribute is_shared_job to.



19
20
21
# File 'lib/cb/models/implementations/job.rb', line 19

def is_shared_job=(value)
  @is_shared_job = value
end

#job_brandingObject

Returns the value of attribute job_branding.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def job_branding
  @job_branding
end

#job_skinObject

Returns the value of attribute job_skin.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def job_skin
  @job_skin
end

#job_skin_didObject

Returns the value of attribute job_skin_did.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def job_skin_did
  @job_skin_did
end

#job_tracking_urlObject

Returns the value of attribute job_tracking_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def job_tracking_url
  @job_tracking_url
end

#latitudeObject

Returns the value of attribute latitude.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def latitude
  @latitude
end

#locationObject

Returns the value of attribute location.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def location
  @location
end

#location_formattedObject

Returns the value of attribute location_formatted.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def location_formatted
  @location_formatted
end

#location_street_1Object

Returns the value of attribute location_street_1.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def location_street_1
  @location_street_1
end

#location_street_2Object

Returns the value of attribute location_street_2.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def location_street_2
  @location_street_2
end

#longitudeObject

Returns the value of attribute longitude.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def longitude
  @longitude
end

#manages_others=(value) ⇒ Object (writeonly)

Sets the attribute manages_others

Parameters:

  • value

    the value to set the attribute manages_others to.



19
20
21
# File 'lib/cb/models/implementations/job.rb', line 19

def manages_others=(value)
  @manages_others = value
end

#manages_others_codeObject

Returns the value of attribute manages_others_code.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def manages_others_code
  @manages_others_code
end

#manages_others_stringObject

Returns the value of attribute manages_others_string.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def manages_others_string
  @manages_others_string
end

#payObject

Returns the value of attribute pay.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def pay
  @pay
end

#pay_otherObject

Returns the value of attribute pay_other.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def pay_other
  @pay_other
end

#pay_perObject

Returns the value of attribute pay_per.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def pay_per
  @pay_per
end

#posted_dateObject

Returns the value of attribute posted_date.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def posted_date
  @posted_date
end

#relevancyObject

Returns the value of attribute relevancy.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def relevancy
  @relevancy
end

#relocation_covered=(value) ⇒ Object (writeonly)

Sets the attribute relocation_covered

Parameters:

  • value

    the value to set the attribute relocation_covered to.



19
20
21
# File 'lib/cb/models/implementations/job.rb', line 19

def relocation_covered=(value)
  @relocation_covered = value
end

#relocation_optionsObject

Returns the value of attribute relocation_options.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def relocation_options
  @relocation_options
end

#requirementsObject

Returns the value of attribute requirements.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def requirements
  @requirements
end

#service_urlObject

Returns the value of attribute service_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def service_url
  @service_url
end

#similar_jobs_urlObject

Returns the value of attribute similar_jobs_url.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def similar_jobs_url
  @similar_jobs_url
end

#stateObject

Returns the value of attribute state.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def state
  @state
end

#titleObject

Returns the value of attribute title.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def title
  @title
end

#travel_requiredObject

Returns the value of attribute travel_required.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def travel_required
  @travel_required
end

#travel_required_codeObject

Returns the value of attribute travel_required_code.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def travel_required_code
  @travel_required_code
end

#zipObject

Returns the value of attribute zip.



4
5
6
# File 'lib/cb/models/implementations/job.rb', line 4

def zip
  @zip
end

Instance Method Details

#can_be_quick_applied?Boolean

Returns:

  • (Boolean)


146
147
148
# File 'lib/cb/models/implementations/job.rb', line 146

def can_be_quick_applied?
  @can_be_quick_applied.downcase == 'true' ? true : false
end

#external_application?Boolean

Returns:

  • (Boolean)


126
127
128
# File 'lib/cb/models/implementations/job.rb', line 126

def external_application?
  @external_application.downcase == 'true' ? true : false
end

#find_companyObject



116
117
118
119
120
121
122
123
124
# File 'lib/cb/models/implementations/job.rb', line 116

def find_company
  if @company
    return @company
  else
    @company = Cb::CompanyApi.find_for self

    return @company
  end
end

#manages_others?Boolean

Returns:

  • (Boolean)


134
135
136
# File 'lib/cb/models/implementations/job.rb', line 134

def manages_others?
  @manages_others.downcase == 'true' ? true : false
end

#relocation_covered?Boolean

Returns:

  • (Boolean)


130
131
132
# File 'lib/cb/models/implementations/job.rb', line 130

def relocation_covered?
  @relocation_covered.downcase == 'true' ? true : false
end

#screener_apply?Boolean

Returns:

  • (Boolean)


138
139
140
# File 'lib/cb/models/implementations/job.rb', line 138

def screener_apply?
  @is_screener_apply.downcase == 'true' ? true : false
end

#shared_job?Boolean

Returns:

  • (Boolean)


142
143
144
# File 'lib/cb/models/implementations/job.rb', line 142

def shared_job?
  @is_shared_job.downcase == 'true' ? true : false
end