Sha256: c57e3aa04c9e440effbeff500f5c923aaff059974de74220cc0b55c90ab1bd4e

Contents?: true

Size: 594 Bytes

Versions: 10

Compression:

Stored size: 594 Bytes

Contents

module EnjuSearchLog
  class Ability
    include CanCan::Ability

    def initialize(user, ip_address = nil)
      case user.try(:role).try(:name)
      when 'Administrator'
        can :manage, SearchHistory
      when 'Librarian'
        can :index, SearchHistory
        can [:show, :destroy, :delete], SearchHistory do |search_history|
          search_history.user == user
        end
      when 'User'
        can :index, SearchHistory
        can [:show, :destroy, :delete], SearchHistory do |search_history|
          search_history.user == user
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
enju_search_log-0.1.1 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre12 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre11 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre10 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre9 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre8 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre7 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre6 app/models/enju_search_log/ability.rb
enju_search_log-0.1.0.pre5 app/models/enju_search_log/ability.rb