Sha256: 7ec1e235351d9bafce5139c4a340ab130563159904858d91f30345a7a83303ea
Contents?: true
Size: 813 Bytes
Versions: 29
Compression:
Stored size: 813 Bytes
Contents
# typed: true require 'sqreen/actions/actions_index' module Sqreen module Actions class UsersIndex < ActionsIndex def actions_matching(identity_params) return [] unless @idx key = stringify_keys(identity_params) actions = @idx[key] actions || [] end def index(params, action) @idx ||= {} users = params['users'] raise ::Sqreen::Exception, 'nil "users" param for block_user action' if users.nil? raise ::Sqreen::Exception, '"users" param must be an array' unless users.is_a? Array users.each do |u| @idx[u] ||= [] @idx[u] << action end end private def stringify_keys(hash) Hash[ hash.map { |k, v| [k.to_s, v] } ] end end end end
Version data entries
29 entries across 29 versions & 1 rubygems