Sha256: 8828bf3015a669aa4e4fe65c4d44d6449beb1e91a72fe25773cd3258794689f1
Contents?: true
Size: 1017 Bytes
Versions: 11
Compression:
Stored size: 1017 Bytes
Contents
module EnjuBookmark class Ability include CanCan::Ability def initialize(user, ip_address = nil) case user.try(:role).try(:name) when 'Administrator' can :manage, [ Bookmark, BookmarkStat, BookmarkStatHasManifestation, Tag ] when 'Librarian' can [:read, :create, :update], BookmarkStat can :read, BookmarkStatHasManifestation can :manage, [ Bookmark, Tag ] when 'User' can [:index, :create], Bookmark can :show, Bookmark do |bookmark| if bookmark.user == user true elsif user.share_bookmarks true else false end end can [:update, :destroy, :delete], Bookmark do |bookmark| bookmark.user == user end can :read, BookmarkStat can :read, Tag else can :read, BookmarkStat can :read, Tag end end end end
Version data entries
11 entries across 11 versions & 1 rubygems