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



14
15
16
# File 'lib/fountain/applicant.rb', line 14

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

Instance Attribute Details

#raw_dataObject (readonly)

Raw applicant data



9
10
11
# File 'lib/fountain/applicant.rb', line 9

def raw_data
  @raw_data
end

Instance Method Details

#background_checksObject

Background checks



59
60
61
62
63
# File 'lib/fountain/applicant.rb', line 59

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



24
25
26
# File 'lib/fountain/applicant.rb', line 24

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

#dataObject

data



44
45
46
# File 'lib/fountain/applicant.rb', line 44

def data
  raw_data['data']
end

#document_signaturesObject

Document signatures



66
67
68
69
70
# File 'lib/fountain/applicant.rb', line 66

def document_signatures
  return [] unless raw_data['document_signatures'].is_a? Array

  raw_data['document_signatures'].map { |signature| DocumentSignature.new signature }
end

#emailObject

Email



29
30
31
# File 'lib/fountain/applicant.rb', line 29

def email
  raw_data['email']
end

#funnelObject

Funnel



49
50
51
# File 'lib/fountain/applicant.rb', line 49

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

#idObject

Applicant ID



19
20
21
# File 'lib/fountain/applicant.rb', line 19

def id
  raw_data['id']
end

#inspectObject



72
73
74
75
76
77
78
79
80
81
# File 'lib/fountain/applicant.rb', line 72

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



34
35
36
# File 'lib/fountain/applicant.rb', line 34

def name
  raw_data['name']
end

#phone_numberObject

Phone number



39
40
41
# File 'lib/fountain/applicant.rb', line 39

def phone_number
  raw_data['phone_number']
end

#stageObject

Stage



54
55
56
# File 'lib/fountain/applicant.rb', line 54

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