blob: 09ee7544b31544c06e3db6302e58a5e0dd9db2ec (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# frozen_string_literal: true
class Membership < ActiveRecord::Base
enum type: %i(Membership CurrentMembership SuperMembership SelectedMembership TenantMembership)
belongs_to :member
belongs_to :club
end
class CurrentMembership < Membership
belongs_to :member
belongs_to :club
end
class SuperMembership < Membership
belongs_to :member, -> { order("members.id DESC") }
belongs_to :club
end
class SelectedMembership < Membership
def self.default_scope
select("'1' as foo")
end
end
class TenantMembership < Membership
cattr_accessor :current_member
belongs_to :member
belongs_to :club
default_scope -> {
if current_member
where(member: current_member)
else
all
end
}
end
|