This commit is contained in:
11
app/models/user/role.rb
Normal file
11
app/models/user/role.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
module User::Role
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
enum :role, %i[ member administrator ], default: :member
|
||||
end
|
||||
|
||||
def can_administer?
|
||||
administrator?
|
||||
end
|
||||
end
|
||||
15
app/models/user/transferable.rb
Normal file
15
app/models/user/transferable.rb
Normal file
@@ -0,0 +1,15 @@
|
||||
module User::Transferable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
TRANSFER_LINK_EXPIRY_DURATION = 4.hours
|
||||
|
||||
class_methods do
|
||||
def find_by_transfer_id(id)
|
||||
find_signed(id, purpose: :transfer)
|
||||
end
|
||||
end
|
||||
|
||||
def transfer_id
|
||||
signed_id(purpose: :transfer, expires_in: TRANSFER_LINK_EXPIRY_DURATION)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user