Module: Conduct::Rails::Helpers

Defined in:
lib/conduct/rails.rb

Instance Method Summary collapse

Instance Method Details

#ability_object(user) ⇒ Object



5
6
7
# File 'lib/conduct/rails.rb', line 5

def ability_object(user)
  @ability ||= Ability.new(user)
end

#authorize_abilityObject

if authorize_ability

@posts = current_user.posts

else

@posts = @user.posts.public

end



26
27
28
29
30
# File 'lib/conduct/rails.rb', line 26

def authorize_ability
  return unless defined?(controller_name) || params[:action].present?
  klass = _classify_controller_name
  current_ability.can?(params[:action], klass.new)
end

#authorize_ability!Object

before_action :authorize_ability!



33
34
35
# File 'lib/conduct/rails.rb', line 33

def authorize_ability!
  fail 'Access Denied' unless authorize_ability
end

#can?(*args) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/conduct/rails.rb', line 13

def can?(*args)
  current_ability.can?(*args)
end

#cannot?(*args) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/conduct/rails.rb', line 17

def cannot?(*args)
  current_ability.cannot?(*args)
end

#current_abilityObject



9
10
11
# File 'lib/conduct/rails.rb', line 9

def current_ability
  @ability ||= Ability.new(current_user)
end