Class: Cb::Models::Application

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

Defined Under Namespace

Classes: Answer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Application

Returns a new instance of Application.



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cb/models/implementations/application.rb', line 14

def initialize(args = {})
  @job_did                  = args[:job_did]
  @site_id                  = args[:site_id] || 'cbnsv'
  @ipath                    = args[:ipath] || ''
  @co_brand                 = args[:co_brand] || ''
  @test                     = args[:test] || 'false'
  @resume_file_name         = args[:resume_file_name] || ''
  @resume                   = args[:resume] || ''
  @user_external_id         = args[:user_external_id] || ''
  @user_external_resume_id  = args[:user_external_resume_id] || ''
  @answers                  = []
  @redirect_url             = ''
end

Instance Attribute Details

#answersObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def answers
  @answers
end

#co_brandObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def co_brand
  @co_brand
end

#ipathObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def ipath
  @ipath
end

#job_didObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def job_did
  @job_did
end

#redirect_urlObject

response params redirect_url is returned from the api for shared apply applications.



12
13
14
# File 'lib/cb/models/implementations/application.rb', line 12

def redirect_url
  @redirect_url
end

#resumeObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def resume
  @resume
end

#resume_file_nameObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def resume_file_name
  @resume_file_name
end

#site_idObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def site_id
  @site_id
end

#testObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def test
  @test
end

#user_external_idObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def user_external_id
  @user_external_id
end

#user_external_resume_idObject

request params



5
6
7
# File 'lib/cb/models/implementations/application.rb', line 5

def user_external_resume_id
  @user_external_resume_id
end

Instance Method Details

#add_answer(id, text) ⇒ Object



48
49
50
# File 'lib/cb/models/implementations/application.rb', line 48

def add_answer(id, text)
  @answers << Application::Answer.new(id, text)
end

#complete?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/cb/models/implementations/application.rb', line 44

def complete?
  cb_response.application_status == 'Complete' || cb_response.application_status == 'Complete (Test)'
end

#is_registered?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/cb/models/implementations/application.rb', line 36

def is_registered?
  !@user_external_id.blank? && @resume.blank?
end

#is_unregistered?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/cb/models/implementations/application.rb', line 40

def is_unregistered?
  !is_registered?
end

#submitObject



28
29
30
31
32
33
34
# File 'lib/cb/models/implementations/application.rb', line 28

def submit
  if is_registered?
    Cb.application.submit_registered_app(self)
  else
    Cb.application.submit_app(self)
  end
end

#to_xmlObject



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
# File 'lib/cb/models/implementations/application.rb', line 52

def to_xml
  ret = '<RequestApplication>'

  ret = "#{ret}<DeveloperKey>#{Cb.configuration.dev_key}</DeveloperKey>"
  ret = "#{ret}<JobDID>#{@job_did}</JobDID>"
  ret = "#{ret}<Test>#{@test}</Test>" unless @test.blank?
  ret = "#{ret}<SiteID>#{@site_id}</SiteID>" unless @site_id.blank?
  #ret = "#{ret}<IPath>#{@ipath}</IPath>" unless @ipath.blank? #this has to be passed by query string because the api is lame.
  ret = "#{ret}<CoBrand>#{@co_brand}</CoBrand>" unless @co_brand.blank?
  ret = "#{ret}<HostSite>#{Cb.configuration.host_site}</HostSite>"
  ret = "#{ret}<Resume><ResumeFileName>#{@resume_file_name}</ResumeFileName><ResumeData>#{@resume}</ResumeData></Resume>" if is_unregistered?

  unless @answers.count == 0
    ret = "#{ret}<Responses>"
    @answers.each do | ans |
      ret = "#{ret}#{ans.to_xml}"
    end
    ret = "#{ret}</Responses>"
  end

  ret = "#{ret}<ExternalUserID>#{@user_external_id}</ExternalUserID>" if is_registered?
  ret = "#{ret}<ExternalResumeID>#{@user_external_resume_id}</ExternalResumeID>" if is_registered?

  "#{ret}</RequestApplication>"
end