Sha256: 1289614ec9d5cb63e76695b146e3db219799308c8246a0edb93e1463f2fabf9b
Contents?: true
Size: 958 Bytes
Versions: 9
Compression:
Stored size: 958 Bytes
Contents
# Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'sqreen/exception' module Sqreen module Actions module UserActionClass 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 def clear @idx = {} end private def stringify_keys(hash) Hash[ hash.map { |k, v| [k.to_s, v] } ] end end end end
Version data entries
9 entries across 9 versions & 1 rubygems