Module: ProxES::Helpers::Indices
- Included in:
- RequestPolicy, RequestPolicy::Scope
- Defined in:
- lib/proxes/helpers/indices.rb
Instance Method Summary collapse
Instance Method Details
#filter(asked, against) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/proxes/helpers/indices.rb', line 9 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 |
#patterns ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/proxes/helpers/indices.rb', line 19 def patterns return [] if user.nil? patterns_for('INDEX').map do || return nil if .pattern.blank? .pattern.gsub(/\{user.(.*)\}/) { |_match| user.send(Regexp.last_match[1].to_sym) } end.compact end |
#patterns_for(action) ⇒ Object
27 28 29 30 |
# File 'lib/proxes/helpers/indices.rb', line 27 def patterns_for(action) return [] if user.nil? Permission.for_user(user, action) end |