Class: Integration
Defined Under Namespace
Classes: Slugs
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from HasTags
#associate_tag, #associate_tags, #disassociate_tag
define_decrypted_attribute, define_decrypted_attributes, #errors_in_bullet_points, primary_connection, special_connection
Class Method Details
.agendrix ⇒ Object
16
17
18
|
# File 'app/models/integration.rb', line 16
def agendrix
find_by!(slug: Slugs::AGENDRIX)
end
|
.agendrix_companies ⇒ Object
27
28
29
30
31
|
# File 'app/models/integration.rb', line 27
def agendrix_companies
select(:integration_id)
.find_by!(slug: Slugs::AGENDRIX)
.integrated_companies
end
|
.agendrix_company_integration(company_id:) ⇒ Object
20
21
22
23
24
25
|
# File 'app/models/integration.rb', line 20
def agendrix_company_integration(company_id:)
select(:integration_id)
.find_by!(slug: Slugs::AGENDRIX)
.company_integrations
.find_by!(company_id: company_id)
end
|
.agendrix_integrated_references(company_id:) ⇒ Object
33
34
35
36
37
38
39
40
|
# File 'app/models/integration.rb', line 33
def agendrix_integrated_references(company_id:)
select(:integration_id)
.find_by!(slug: Slugs::AGENDRIX)
.integration_references
.where(
company_id: company_id
)
end
|
.quickbooks ⇒ Object
42
43
44
|
# File 'app/models/integration.rb', line 42
def quickbooks
find_by!(slug: Slugs::QUICKBOOKS)
end
|
.quickbooks_companies ⇒ Object
53
54
55
56
57
|
# File 'app/models/integration.rb', line 53
def quickbooks_companies
select(:integration_id)
.find_by!(slug: Slugs::QUICKBOOKS)
.integrated_companies
end
|
.quickbooks_company_integration(company_id:) ⇒ Object
46
47
48
49
50
51
|
# File 'app/models/integration.rb', line 46
def quickbooks_company_integration(company_id:)
select(:integration_id)
.find_by!(slug: Slugs::QUICKBOOKS)
.company_integrations
.find_by!(company_id: company_id)
end
|
.quickbooks_integrated_references(company_id:) ⇒ Object
59
60
61
62
63
64
|
# File 'app/models/integration.rb', line 59
def quickbooks_integrated_references(company_id:)
select(:integration_id)
.find_by!(slug: Slugs::QUICKBOOKS)
.integration_references
.where(company_id: company_id)
end
|
.search_fields ⇒ Object
12
13
14
|
# File 'app/models/integration.rb', line 12
def search_fields
I18n.locale == :en ? %w[name_en description_en] : %w[name_fr description_fr]
end
|
Instance Method Details
#description ⇒ Object
81
82
83
|
# File 'app/models/integration.rb', line 81
def description
attributes[description_key]
end
|
#integrated_companies ⇒ Object
93
94
95
96
|
# File 'app/models/integration.rb', line 93
def integrated_companies
Company.joins(:company_integrations)
.where(company_integrations: { integration_id: integration_id, active: true })
end
|
#integrated_to_company?(company_id) ⇒ Boolean
89
90
91
|
# File 'app/models/integration.rb', line 89
def integrated_to_company?(company_id)
company_integrations.exists?(company_id: company_id, active: true)
end
|
#logo_url ⇒ Object
85
86
87
|
# File 'app/models/integration.rb', line 85
def logo_url
attributes['logo_url']
end
|
#name ⇒ Object
77
78
79
|
# File 'app/models/integration.rb', line 77
def name
attributes[name_key]
end
|