Module: Splam::ClassMethods
- Defined in:
- lib/splam.rb
Instance Method Summary collapse
- #splam_suite ⇒ Object
-
#splammable(fieldname, threshold = 100, conditions = nil, &block) ⇒ Object
Set #body attribute as splammable with default threshold of 100 splammable :body.
Instance Method Details
#splam_suite ⇒ Object
59 |
# File 'lib/splam.rb', line 59 def splam_suite; @splam_suite; end |
#splammable(fieldname, threshold = 100, conditions = nil, &block) ⇒ Object
Set #body attribute as splammable with default threshold of 100
splammable :body
Set #body attribute as splammable with custom threshold
splammable :body, 50
Set #body splammable with threshold and a conditions block?
splamamble :body, 50, lambda { |record| record.skip_splam_check }
Set any Splam::Suite options
splammable :body do |splam|
splam.threshold = 150
splam.conditions = lambda { |r| r.body.size.zero? }
# Set rules with #splam_key value
splam.rules = [:chinese, :html]
# Set rules with Class instances
splam.rules = [Splam::Rules::Chinese]
# Mix and match, we're all friends here
splam.rules = [Splam::Rules::Chinese, :html]
# Specify optional weights
splam.rules = {Splam::Rules::Chinese => 1.2, :html => 5.0}
82 83 84 85 86 87 88 |
# File 'lib/splam.rb', line 82 def splammable(fieldname, threshold=100, conditions=nil, &block) # todo: run only certain rules # e.g. splammable :body, 100, [ :chinese, :html ] # todo: define some weighting on the model level # e.g. splammable :body, 50, { :russian => 2.0 } @splam_suite = Suite.new(fieldname, Splam::Rule.default_rules, threshold, conditions, &block) end |