class Acl::Authorize
Public Instance Methods
is_authorized(model)
click to toggle source
# File lib/acl.rb, line 3 def is_authorized(model) allowed_resources = current_overseer.acl_resources default_resources = Settings.acl.default_resources parsed_json = ActiveSupport::JSON.decode(default_resources) resource_ids = {} parsed_json.map {|x| resource_ids[x['text']] = {}; x['children'].map {|y| resource_ids[x['text']][y['text']] = y['id'] if y['text'].present?}} auth = false if model.is_a?(ActiveRecord::Base) resource_model = model.class.name.downcase elsif model.is_a?(ActiveRecord::Relation) resource_model = model.klass.name.downcase else resource_model = model.to_s.gsub(':','') end if resource_ids[resource_model][action_name].present? if allowed_resources.include? resource_ids[resource_model][action_name].to_s auth = true end end auth end