Class: Cb::CbApplication

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

Defined Under Namespace

Classes: CbAnswer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ CbApplication

Returns a new instance of CbApplication.



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

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



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

def answers
  @answers
end

#co_brandObject

request params



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

def co_brand
  @co_brand
end

#ipathObject

request params



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

def ipath
  @ipath
end

#job_didObject

request params



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

def job_did
  @job_did
end

#redirect_urlObject

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



11
12
13
# File 'lib/cb/models/implementations/cb_application.rb', line 11

def redirect_url
  @redirect_url
end

#resumeObject

request params



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

def resume
  @resume
end

#resume_file_nameObject

request params



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

def resume_file_name
  @resume_file_name
end

#site_idObject

request params



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

def site_id
  @site_id
end

#testObject

request params



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

def test
  @test
end

#user_external_idObject

request params



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

def user_external_id
  @user_external_id
end

#user_external_resume_idObject

request params



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

def user_external_resume_id
  @user_external_resume_id
end

Instance Method Details

#add_answer(id, text) ⇒ Object



47
48
49
# File 'lib/cb/models/implementations/cb_application.rb', line 47

def add_answer(id, text)
  @answers << CbApplication::CbAnswer.new(id, text)
end

#complete?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/cb/models/implementations/cb_application.rb', line 43

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

#is_registered?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/cb/models/implementations/cb_application.rb', line 35

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

#is_unregistered?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/cb/models/implementations/cb_application.rb', line 39

def is_unregistered?
  !is_registered?
end

#submitObject



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

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

#to_xmlObject



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

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