class Accession::Permission

Constants

REGEXP
SEGMENT

A segment is a “word” in the url-safe base64 alphabet, or single ‘*’

Public Class Methods

new(value) click to toggle source
# File lib/accession/permission.rb, line 12
def initialize(value)
  @parts = value.split(':')
end
regexp() click to toggle source
# File lib/accession/permission.rb, line 8
def self.regexp
  REGEXP
end

Public Instance Methods

permit?(action) click to toggle source
# File lib/accession/permission.rb, line 16
def permit?(action)
  action_parts = action.split(':', @parts.length)
  return false if action_parts.length != @parts.length

  @parts.zip(action_parts).each do |(l, r)|
    next if l == '*'
    return false if l != r
  end
end