Sha256: d378b52d365b7dccca2a6cabef106f463991197332a77da45260b73cefedab03
Contents?: true
Size: 853 Bytes
Versions: 3
Compression:
Stored size: 853 Bytes
Contents
# frozen_string_literal: true require 'active_support' require 'active_support/core_ext/object/blank' module ProxES module Helpers module Indices def filter(asked, against) return against.map { |a| a.gsub(/\.\*/, '*') } if asked == ['*'] || asked.blank? answer = [] against.each do |pattern| answer.concat(asked.select { |idx| idx =~ /#{pattern}/ }) end answer end def patterns return [] if user.nil? patterns_for('INDEX').map do |permission| return nil if permission.pattern.blank? permission.pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) } end.compact end def patterns_for(action) return [] if user.nil? Permission.for_user(user, action) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
proxes-0.9.9 | lib/proxes/helpers/indices.rb |
proxes-0.9.7 | lib/proxes/helpers/indices.rb |
proxes-0.9.4 | lib/proxes/helpers/indices.rb |