Class: Dorsale::CustomerVault::Person
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Dorsale::CustomerVault::Person
- Extended by:
- Forwardable
- Includes:
- Agilibox::Search, Users::Avatar
- Defined in:
- app/models/dorsale/customer_vault/person.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #corporation? ⇒ Boolean
- #destroy_links ⇒ Object
- #individual? ⇒ Boolean
- #links ⇒ Object
- #person_type ⇒ Object
- #tags_on(*args) ⇒ Object
- #verify_class ⇒ Object
Methods inherited from ApplicationRecord
Class Method Details
.policy_class ⇒ Object
8 9 10 |
# File 'app/models/dorsale/customer_vault/person.rb', line 8 def self.policy_class Dorsale::CustomerVault::PersonPolicy end |
Instance Method Details
#corporation? ⇒ Boolean
39 40 41 |
# File 'app/models/dorsale/customer_vault/person.rb', line 39 def corporation? person_type == :corporation end |
#destroy_links ⇒ Object
65 66 67 |
# File 'app/models/dorsale/customer_vault/person.rb', line 65 def destroy_links links.each(&:destroy!) end |
#individual? ⇒ Boolean
43 44 45 |
# File 'app/models/dorsale/customer_vault/person.rb', line 43 def individual? person_type == :individual end |
#links ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/models/dorsale/customer_vault/person.rb', line 51 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
35 36 37 |
# File 'app/models/dorsale/customer_vault/person.rb', line 35 def person_type self.class.to_s.demodulize.downcase.to_sym end |
#tags_on(*args) ⇒ Object
47 48 49 |
# File 'app/models/dorsale/customer_vault/person.rb', line 47 def (*args) super(*args).order(:name) end |
#verify_class ⇒ Object
14 15 16 17 18 19 |
# File 'app/models/dorsale/customer_vault/person.rb', line 14 def verify_class if self.class == ::Dorsale::CustomerVault::Person # self.abstract_class does not work with STI raise "Cannot directly instantiate Person class" end end |