Class: NippoCore::ReportPolicy

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

Instance Attribute Summary collapse

Attributes inherited from ApplicationPolicy

#record

Instance Method Summary collapse

Methods inherited from ApplicationPolicy

#destroy?, #scope

Constructor Details

#initialize(user, report) ⇒ ReportPolicy

Returns a new instance of ReportPolicy.



5
6
7
8
9
# File 'app/policies/nippo_core/report_policy.rb', line 5

def initialize(user, report)
  @user = user
  @report = report
  @group = @report.group
end

Instance Attribute Details

#groupObject (readonly)

Returns the value of attribute group.



3
4
5
# File 'app/policies/nippo_core/report_policy.rb', line 3

def group
  @group
end

#reportObject (readonly)

Returns the value of attribute report.



3
4
5
# File 'app/policies/nippo_core/report_policy.rb', line 3

def report
  @report
end

#userObject (readonly)

Returns the value of attribute user.



3
4
5
# File 'app/policies/nippo_core/report_policy.rb', line 3

def user
  @user
end

Instance Method Details

#create?Boolean

Returns:

  • (Boolean)


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

def create?
  @group.member?(user)
end

#edit?Boolean

Returns:

  • (Boolean)


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

def edit?
  @report.user_id == @user.id
end

#index?Boolean

TODO: remove

Returns:

  • (Boolean)


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

def index?
  @group.member?(user)
end

#new?Boolean

Returns:

  • (Boolean)


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

def new?
  @group.member?(user)
end

#show?Boolean

Returns:

  • (Boolean)


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

def show?
  @group.member?(user)
end

#update?Boolean

Returns:

  • (Boolean)


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

def update?
  @report.user_id == @user.id
end