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

Version Path
sqreen-1.22.0-java lib/sqreen/actions/users_index.rb
sqreen-1.22.0 lib/sqreen/actions/users_index.rb
sqreen-1.21.1-java lib/sqreen/actions/users_index.rb
sqreen-1.21.1 lib/sqreen/actions/users_index.rb
sqreen-1.21.0-java lib/sqreen/actions/users_index.rb
sqreen-1.21.0 lib/sqreen/actions/users_index.rb
sqreen-1.20.4-java lib/sqreen/actions/users_index.rb
sqreen-1.20.4 lib/sqreen/actions/users_index.rb
sqreen-1.21.0.beta3-java lib/sqreen/actions/users_index.rb
sqreen-1.21.0.beta3 lib/sqreen/actions/users_index.rb
sqreen-1.20.4.beta1 lib/sqreen/actions/users_index.rb
sqreen-1.19.4 lib/sqreen/actions/users_index.rb
sqreen-1.20.3 lib/sqreen/actions/users_index.rb
sqreen-1.20.2 lib/sqreen/actions/users_index.rb
sqreen-1.21.0.beta2 lib/sqreen/actions/users_index.rb
sqreen-1.21.0.beta1 lib/sqreen/actions/users_index.rb
sqreen-1.20.1-java lib/sqreen/actions/users_index.rb
sqreen-1.20.1 lib/sqreen/actions/users_index.rb
sqreen-1.20.0-java lib/sqreen/actions/users_index.rb
sqreen-1.20.0 lib/sqreen/actions/users_index.rb