Class: Storytime::SitePolicy

Inherits:
Object
  • Object
show all
Defined in:
app/policies/storytime/site_policy.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user, site) ⇒ SitePolicy

Returns a new instance of SitePolicy.



5
6
7
8
# File 'app/policies/storytime/site_policy.rb', line 5

def initialize(user, site)
  @user = user
  @site = site
end

Instance Attribute Details

#siteObject (readonly)

Returns the value of attribute site.



3
4
5
# File 'app/policies/storytime/site_policy.rb', line 3

def site
  @site
end

#userObject (readonly)

Returns the value of attribute user.



3
4
5
# File 'app/policies/storytime/site_policy.rb', line 3

def user
  @user
end

Instance Method Details

#create?Boolean

Returns:

  • (Boolean)


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

def create?
  true # !Site.any?
end

#destroy?Boolean

Returns:

  • (Boolean)


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

def destroy?
  manage?
end

#edit?Boolean

Returns:

  • (Boolean)


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

def edit?
  update?
end

#manage?Boolean

Returns:

  • (Boolean)


10
11
12
13
14
# File 'app/policies/storytime/site_policy.rb', line 10

def manage?
  action = Storytime::Action.find_by(guid: "47342a")
  role = @user.storytime_role_in_site(Storytime::Site.current)
  role.present? && role.allowed_actions.include?(action)
end

#new?Boolean

Returns:

  • (Boolean)


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

def new?
  create?
end

#update?Boolean

Returns:

  • (Boolean)


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

def update?
  manage?
end