Class: Fountain::Applicant

Inherits:
Object
  • Object
show all
Defined in:
lib/fountain/applicant.rb

Overview

Fountain Applicant

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Applicant

Returns a new instance of Applicant.

Parameters:

  • data (Hash)

    Raw applicant data



12
13
14
# File 'lib/fountain/applicant.rb', line 12

def initialize(data)
  @raw_data = Util.stringify_hash_keys data
end

Instance Attribute Details

#raw_dataObject (readonly)

Raw applicant data



7
8
9
# File 'lib/fountain/applicant.rb', line 7

def raw_data
  @raw_data
end

Instance Method Details

#background_checksObject

Background checks



57
58
59
60
# File 'lib/fountain/applicant.rb', line 57

def background_checks
  return [] unless raw_data['background_checks'].is_a? Array
  raw_data['background_checks'].map { |check| BackgroundCheck.new check }
end

#created_atObject

Created at



22
23
24
# File 'lib/fountain/applicant.rb', line 22

def created_at
  Time.parse raw_data['created_at']
end

#dataObject

data



42
43
44
# File 'lib/fountain/applicant.rb', line 42

def data
  raw_data['data']
end

#document_signaturesObject

Document signatures



63
64
65
66
# File 'lib/fountain/applicant.rb', line 63

def document_signatures
  return [] unless raw_data['document_signatures'].is_a? Array
  raw_data['document_signatures'].map { |signature| DocumentSignature.new signature }
end

#emailObject

Email



27
28
29
# File 'lib/fountain/applicant.rb', line 27

def email
  raw_data['email']
end

#funnelObject

Funnel



47
48
49
# File 'lib/fountain/applicant.rb', line 47

def funnel
  Funnel.new raw_data['funnel']
end

#idObject

Applicant ID



17
18
19
# File 'lib/fountain/applicant.rb', line 17

def id
  raw_data['id']
end

#inspectObject



68
69
70
71
72
73
74
75
76
77
# File 'lib/fountain/applicant.rb', line 68

def inspect
  format(
    '#<%<class_name>s:0x%<object_id>p @id="%<id>s" @name="%<name>s" @email="%<email>s">',
    class_name: self.class.name,
    object_id: object_id,
    id: id,
    name: name,
    email: email
  )
end

#nameObject

Name



32
33
34
# File 'lib/fountain/applicant.rb', line 32

def name
  raw_data['name']
end

#phone_numberObject

Phone number



37
38
39
# File 'lib/fountain/applicant.rb', line 37

def phone_number
  raw_data['phone_number']
end

#stageObject

Stage



52
53
54
# File 'lib/fountain/applicant.rb', line 52

def stage
  Stage.new raw_data['stage']
end