Class: Dorsale::CustomerVault::Person
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Search
included
last_created
#assign_default, #assign_default_values
Class Method Details
.policy_class ⇒ Object
10
11
12
|
# File 'app/models/dorsale/customer_vault/person.rb', line 10
def self.policy_class
Dorsale::CustomerVault::PersonPolicy
end
|
Instance Method Details
#corporation? ⇒ Boolean
41
42
43
|
# File 'app/models/dorsale/customer_vault/person.rb', line 41
def corporation?
person_type == :corporation
end
|
#destroy_links ⇒ Object
67
68
69
|
# File 'app/models/dorsale/customer_vault/person.rb', line 67
def destroy_links
links.each(&:destroy!)
end
|
#individual? ⇒ Boolean
45
46
47
|
# File 'app/models/dorsale/customer_vault/person.rb', line 45
def individual?
person_type == :individual
end
|
#links ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'app/models/dorsale/customer_vault/person.rb', line 53
def links
a = ::Dorsale::CustomerVault::Link
.where(alice_id: id)
.preload(:alice => :taggings, :bob => :taggings)
.each { |l| l.person = l.alice ; l.other_person = l.bob }
b = ::Dorsale::CustomerVault::Link
.where(bob_id: id)
.preload(:alice => :taggings, :bob => :taggings)
.each { |l| l.person = l.bob ; l.other_person = l.alice }
return a + b
end
|
#person_type ⇒ Object
37
38
39
|
# File 'app/models/dorsale/customer_vault/person.rb', line 37
def person_type
self.class.to_s.demodulize.downcase.to_sym
end
|
49
50
51
|
# File 'app/models/dorsale/customer_vault/person.rb', line 49
def tags_on(*args)
super(*args).order(:name)
end
|
#verify_class ⇒ Object
16
17
18
19
20
21
|
# File 'app/models/dorsale/customer_vault/person.rb', line 16
def verify_class
if self.class == ::Dorsale::CustomerVault::Person
raise "Cannot directly instantiate Person class"
end
end
|