Sha256: 5559248cbcd9df7f4a1208aae2a075ebcd8361536c772492bd9f50d2ca91c2d9

Contents?: true

Size: 438 Bytes

Versions: 3

Compression:

Stored size: 438 Bytes

Contents

class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= WebAdmin::User.new

    alias_action :create, :read, :update, :destroy, :to => :access
    alias_action :read, :update, to: :modify

    user.permissions.each do |permission|
      can permission.permission_type.to_sym, eval(permission.model.split('/').map {|k| k.split('_').map {|k| k.capitalize} }.map { |k| k.join }.join('::').singularize)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
web_admin-0.1.0 app/models/ability.rb
web_admin-0.0.2 app/models/ability.rb
web_admin-0.0.1 app/models/ability.rb