Class: Dscf::Marketplace::RoleService

Inherits:
Object
  • Object
show all
Defined in:
app/services/dscf/marketplace/role_service.rb

Constant Summary collapse

DRIVER_ROLE_CODE =
"driver"

Class Method Summary collapse

Class Method Details

.assign_driver_role(user) ⇒ Object



5
6
7
8
9
10
# File 'app/services/dscf/marketplace/role_service.rb', line 5

def self.assign_driver_role(user)
  return if user_has_driver_role?(user)

  driver_role = find_or_create_driver_role
  assign_role_to_user(user, driver_role)
end

.assign_role_to_user(user, role) ⇒ Object



24
25
26
# File 'app/services/dscf/marketplace/role_service.rb', line 24

def self.assign_role_to_user(user, role)
  Dscf::Core::UserRole.find_or_create_by!(user: user, role: role)
end

.find_or_create_driver_roleObject



18
19
20
21
22
# File 'app/services/dscf/marketplace/role_service.rb', line 18

def self.find_or_create_driver_role
  Dscf::Core::Role.find_or_create_by!(code: DRIVER_ROLE_CODE) do |role|
    role.name = "Driver"
  end
end

.user_has_driver_role?(user) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'app/services/dscf/marketplace/role_service.rb', line 14

def self.user_has_driver_role?(user)
  user.roles.exists?(code: DRIVER_ROLE_CODE)
end