Sha256: e02a0c94008e3f8068d258e7a459c36807130b3a96c022814bf939ad696cdfb9

Contents?: true

Size: 516 Bytes

Versions: 1

Compression:

Stored size: 516 Bytes

Contents

require 'set'
require 'periscope/sanitizer'

module Periscope
  class PermissionSet < Set
    def initialize(values = nil)
      super(values, &:to_s)
    end

    def +(values)
      super(values.map(&:to_s))
    end

    def include?(value)
      super(value.to_s)
    end
  end

  class WhiteList < PermissionSet
    include Sanitizer

    def deny?(value)
      !include?(value)
    end
  end

  class BlackList < PermissionSet
    include Sanitizer

    def deny?(value)
      include?(value)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
periscope-0.1.0 lib/periscope/permission_set.rb