Class: Cb::CbJob

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ CbJob

with a job. The API objects dealing with job, will populate one or many of this object.



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
115
116
117
118
# File 'lib/cb/models/implementations/cb_job.rb', line 27

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_requirements ⇒ Object

Returns the value of attribute apply_requirements.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def apply_requirements
  @apply_requirements
end

#apply_url ⇒ Object

Returns the value of attribute apply_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def apply_url
  @apply_url
end

#begin_date ⇒ Object

Returns the value of attribute begin_date.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def begin_date
  @begin_date
end

#bonus ⇒ Object

Returns the value of attribute bonus.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def bonus
  @bonus
end

#can_be_quick_applied ⇒ Object

Returns the value of attribute can_be_quick_applied.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def can_be_quick_applied
  @can_be_quick_applied
end

#categories ⇒ Object

Returns the value of attribute categories.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def categories
  @categories
end

#category_codes ⇒ Object

Returns the value of attribute category_codes.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def category_codes
  @category_codes
end

#city ⇒ Object

Returns the value of attribute city.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def city
  @city
end

#commission ⇒ Object

Returns the value of attribute commission.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def commission
  @commission
end

#company ⇒ Object

Returns the value of attribute company.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def company
  @company
end

#company_details_url ⇒ Object

Returns the value of attribute company_details_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def company_details_url
  @company_details_url
end

#company_did ⇒ Object

Returns the value of attribute company_did.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def company_did
  @company_did
end

#company_image_url ⇒ Object

Returns the value of attribute company_image_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def company_image_url
  @company_image_url
end

#company_name ⇒ Object

Returns the value of attribute company_name.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def company_name
  @company_name
end

#contact_email_url ⇒ Object

Returns the value of attribute contact_email_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def contact_email_url
  @contact_email_url
end

#contact_fax ⇒ Object

Returns the value of attribute contact_fax.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def contact_fax
  @contact_fax
end

#contact_name ⇒ Object

Returns the value of attribute contact_name.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def contact_name
  @contact_name
end

#contact_phone ⇒ Object

Returns the value of attribute contact_phone.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def contact_phone
  @contact_phone
end

#degree_required ⇒ Object

Returns the value of attribute degree_required.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def degree_required
  @degree_required
end

#degree_required_code ⇒ Object

Returns the value of attribute degree_required_code.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def degree_required_code
  @degree_required_code
end

#description ⇒ Object

Returns the value of attribute description.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def description
  @description
end

#description_teaser ⇒ Object

Returns the value of attribute description_teaser.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def description_teaser
  @description_teaser
end

#details_url ⇒ Object

Returns the value of attribute details_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def details_url
  @details_url
end

#did ⇒ Object

Returns the value of attribute did.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def did
  @did
end

#display_job_id ⇒ Object

Returns the value of attribute display_job_id.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def display_job_id
  @display_job_id
end

#distance ⇒ Object

Returns the value of attribute distance.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def distance
  @distance
end

#divison ⇒ Object

Returns the value of attribute divison.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def divison
  @divison
end

#employment_type ⇒ Object

Returns the value of attribute employment_type.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def employment_type
  @employment_type
end

#employment_type_code ⇒ Object

Returns the value of attribute employment_type_code.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def employment_type_code
  @employment_type_code
end

#end_date ⇒ Object

Returns the value of attribute end_date.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def end_date
  @end_date
end

#experience_required ⇒ Object

Returns the value of attribute experience_required.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

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.



18
19
20
# File 'lib/cb/models/implementations/cb_job.rb', line 18

def external_application=(value)
  @external_application = value
end

#external_apply_url ⇒ Object

Returns the value of attribute external_apply_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def external_apply_url
  @external_apply_url
end

#industry ⇒ Object

Returns the value of attribute industry.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def industry
  @industry
end

#industry_codes ⇒ Object

Returns the value of attribute industry_codes.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

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.



18
19
20
# File 'lib/cb/models/implementations/cb_job.rb', line 18

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.



18
19
20
# File 'lib/cb/models/implementations/cb_job.rb', line 18

def is_shared_job=(value)
  @is_shared_job = value
end

#job_branding ⇒ Object

Returns the value of attribute job_branding.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def job_branding
  @job_branding
end

#job_skin ⇒ Object

Returns the value of attribute job_skin.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def job_skin
  @job_skin
end

#job_skin_did ⇒ Object

Returns the value of attribute job_skin_did.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def job_skin_did
  @job_skin_did
end

#job_tracking_url ⇒ Object

Returns the value of attribute job_tracking_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def job_tracking_url
  @job_tracking_url
end

#latitude ⇒ Object

Returns the value of attribute latitude.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def latitude
  @latitude
end

#location ⇒ Object

Returns the value of attribute location.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def location
  @location
end

#location_formatted ⇒ Object

Returns the value of attribute location_formatted.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def location_formatted
  @location_formatted
end

#location_street_1 ⇒ Object

Returns the value of attribute location_street_1.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def location_street_1
  @location_street_1
end

#location_street_2 ⇒ Object

Returns the value of attribute location_street_2.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def location_street_2
  @location_street_2
end

#longitude ⇒ Object

Returns the value of attribute longitude.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

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.



18
19
20
# File 'lib/cb/models/implementations/cb_job.rb', line 18

def manages_others=(value)
  @manages_others = value
end

#manages_others_code ⇒ Object

Returns the value of attribute manages_others_code.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def manages_others_code
  @manages_others_code
end

#manages_others_string ⇒ Object

Returns the value of attribute manages_others_string.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def manages_others_string
  @manages_others_string
end

#pay ⇒ Object

Returns the value of attribute pay.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def pay
  @pay
end

#pay_other ⇒ Object

Returns the value of attribute pay_other.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def pay_other
  @pay_other
end

#pay_per ⇒ Object

Returns the value of attribute pay_per.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def pay_per
  @pay_per
end

#posted_date ⇒ Object

Returns the value of attribute posted_date.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def posted_date
  @posted_date
end

#relevancy ⇒ Object

Returns the value of attribute relevancy.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

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.



18
19
20
# File 'lib/cb/models/implementations/cb_job.rb', line 18

def relocation_covered=(value)
  @relocation_covered = value
end

#relocation_options ⇒ Object

Returns the value of attribute relocation_options.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def relocation_options
  @relocation_options
end

#requirements ⇒ Object

Returns the value of attribute requirements.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def requirements
  @requirements
end

#service_url ⇒ Object

Returns the value of attribute service_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def service_url
  @service_url
end

#similar_jobs_url ⇒ Object

Returns the value of attribute similar_jobs_url.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def similar_jobs_url
  @similar_jobs_url
end

#state ⇒ Object

Returns the value of attribute state.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def state
  @state
end

#title ⇒ Object

Returns the value of attribute title.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def title
  @title
end

#travel_required ⇒ Object

Returns the value of attribute travel_required.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def travel_required
  @travel_required
end

#travel_required_code ⇒ Object

Returns the value of attribute travel_required_code.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def travel_required_code
  @travel_required_code
end

#zip ⇒ Object

Returns the value of attribute zip.



3
4
5
# File 'lib/cb/models/implementations/cb_job.rb', line 3

def zip
  @zip
end

Instance Method Details

#can_be_quick_applied? ⇒ Boolean

Returns:

  • (Boolean)


150
151
152
# File 'lib/cb/models/implementations/cb_job.rb', line 150

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

#external_application? ⇒ Boolean

Returns:

  • (Boolean)


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

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

#find_company ⇒ Object



120
121
122
123
124
125
126
127
128
# File 'lib/cb/models/implementations/cb_job.rb', line 120

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

    return @company
  end
end

#manages_others? ⇒ Boolean

Returns:

  • (Boolean)


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

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

#relocation_covered? ⇒ Boolean

Returns:

  • (Boolean)


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

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

#screener_apply? ⇒ Boolean

Returns:

  • (Boolean)


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

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

#shared_job? ⇒ Boolean

Returns:

  • (Boolean)


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

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