Module: EffectiveMembershipsUser
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/effective_memberships_user.rb
Overview
EffectiveMembershipsUser
Mark your user model with effective_memberships_user to get all the includes
Defined Under Namespace
Modules: Base, ClassMethods
Instance Method Summary
collapse
Instance Method Details
#applicant_reviewer? ⇒ Boolean
90
91
92
|
# File 'app/models/concerns/effective_memberships_user.rb', line 90
def applicant_reviewer?
false
end
|
#build_representative(organization:) ⇒ Object
68
69
70
|
# File 'app/models/concerns/effective_memberships_user.rb', line 68
def build_representative(organization:)
representative(organization: organization) || representatives.build(organization: organization)
end
|
#individual_membership_present? ⇒ Boolean
55
56
57
|
# File 'app/models/concerns/effective_memberships_user.rb', line 55
def individual_membership_present?
membership.present? && !membership.marked_for_destruction?
end
|
#membership_categories_on(date) ⇒ Object
85
86
87
|
# File 'app/models/concerns/effective_memberships_user.rb', line 85
def membership_categories_on(date)
membership_history_on(date).try(:membership_categories)
end
|
#membership_history_on(date) ⇒ Object
80
81
82
83
|
# File 'app/models/concerns/effective_memberships_user.rb', line 80
def membership_history_on(date)
raise('expected a date') unless date.respond_to?(:strftime)
membership_histories.find { |history| (history.start_on..history.end_on).cover?(date) } end
|
#membership_organizations ⇒ Object
76
77
78
|
# File 'app/models/concerns/effective_memberships_user.rb', line 76
def membership_organizations
organizations.select { |organization| organization.is?(:member) && !organization.archived? }
end
|
#membership_present? ⇒ Boolean
51
52
53
|
# File 'app/models/concerns/effective_memberships_user.rb', line 51
def membership_present?
individual_membership_present? || organization_membership_present?
end
|
#memberships ⇒ Object
43
44
45
|
# File 'app/models/concerns/effective_memberships_user.rb', line 43
def memberships
Array(membership) + membership_organizations.map(&:membership)
end
|
#memberships_owners ⇒ Object
47
48
49
|
# File 'app/models/concerns/effective_memberships_user.rb', line 47
def memberships_owners
Array(is?(:member) ? self : nil) + membership_organizations
end
|
#organization_membership_present?(except: nil) ⇒ Boolean
59
60
61
|
# File 'app/models/concerns/effective_memberships_user.rb', line 59
def organization_membership_present?(except: nil)
organizations.reject(&:archived?).any? { |organization| organization != except && organization.membership_present? }
end
|
#organizations ⇒ Object
72
73
74
|
# File 'app/models/concerns/effective_memberships_user.rb', line 72
def organizations
representatives.reject(&:marked_for_destruction?).map(&:organization)
end
|
#representative(organization:) ⇒ Object
63
64
65
|
# File 'app/models/concerns/effective_memberships_user.rb', line 63
def representative(organization:)
representatives.find { |rep| rep.organization_id == organization.id } if organization
end
|