Class: MigrationPlanPolicy

Inherits:
ApplicationPolicy show all
Defined in:
app/policies/migration_plan_policy.rb

Defined Under Namespace

Classes: Scope

Instance Attribute Summary

Attributes inherited from ApplicationPolicy

#record, #user

Instance Method Summary collapse

Methods inherited from ApplicationPolicy

#edit?, #initialize, #new?

Constructor Details

This class inherits a constructor from ApplicationPolicy

Instance Method Details

#create?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'app/policies/migration_plan_policy.rb', line 12

def create?
  user.admin?
end

#destroy?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/policies/migration_plan_policy.rb', line 20

def destroy?
  user.admin? && record.can_be_deleted?
end

#execute?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/policies/migration_plan_policy.rb', line 24

def execute?
  user.can_execute_migrations?
end

#export_config?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/policies/migration_plan_policy.rb', line 28

def export_config?
  true # All authenticated users can export plan configuration
end

#import_config?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'app/policies/migration_plan_policy.rb', line 32

def import_config?
  user.admin? # Only admins can import plan configurations
end

#index?Boolean

Returns:

  • (Boolean)


4
5
6
# File 'app/policies/migration_plan_policy.rb', line 4

def index?
  true # All authenticated users can view plans
end

#show?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'app/policies/migration_plan_policy.rb', line 8

def show?
  true # All authenticated users can view a plan
end

#update?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'app/policies/migration_plan_policy.rb', line 16

def update?
  user.admin?
end