Sha256: 1457bed4dae493b1689b2c190032134e7db71f8f585b4aefdaaf04ce99cfcbbd

Contents?: true

Size: 651 Bytes

Versions: 1

Compression:

Stored size: 651 Bytes

Contents

module Periscope
  module Sanitizer
    extend ActiveSupport::Concern

    included do
      attr_accessor :logger
    end

    module InstanceMethods
      def sanitize(params)
        params.reject{|k,v| deny?(k) }.tap do |sanitized|
          debug_protected_scope_removal(params, sanitized)
        end
      end

      protected
        def debug_protected_scope_removal(params, sanitized)
          removed = params.keys - sanitized.keys
          warn!(removed) if removed.any?
        end

        def warn!(scopes)
          logger.debug("WARNING: Can't search protected scopes: #{scopes.join(', ')}") if logger
        end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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