Module: Seabright::Sanitization::ClassMethods

Defined in:
lib/redis_object/ext/sanitization.rb

Instance Method Summary collapse

Instance Method Details

#add_sanitization_methods!Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/redis_object/ext/sanitization.rb', line 11

def add_sanitization_methods!
  return if @add_sanitization_methods
  self.class_eval do
    
    def sanitize_by_name!(name)
      if flds = self.class.named_sanitizations[name.to_sym]
        flog = Set.new
        flds.each do |fld|
          if is_set?(fld)
            unset(fld)
            flog << fld
          end
        end
        sanitize_log(:one_time,*flog)
      end
    end
    
  end
  @add_sanitization_methods = true
end

#named_sanitization(name, *flds) ⇒ Object



6
7
8
9
# File 'lib/redis_object/ext/sanitization.rb', line 6

def named_sanitization(name,*flds)
  named_sanitizations[name.to_sym] = flds
  add_sanitization_methods!
end

#named_sanitizationsObject



32
33
34
# File 'lib/redis_object/ext/sanitization.rb', line 32

def named_sanitizations
  @named_sanitizations ||= {}
end