lib/rulebase.rb in rkneufeld-fuzzy-realty-0.3.0 vs lib/rulebase.rb in rkneufeld-fuzzy-realty-0.3.1

- old
+ new

@@ -7,54 +7,54 @@ # Price is match when desired is 90-105% of actual. Otherwise give a # reduced factor. :price => lambda do |listing,param| - puts "Called price" + puts "Called price" if $debug actual,desired = listing.price.to_f, param.desired result = if (desired*0.90..desired*1.05) === actual 1.0 else 1 - ((desired - actual) / actual).abs end - puts result + puts result if $debug result end, # Location calc. does lookup to find score for desired and actual ## Currently just return 1 if exact, 0 otherwise :location => lambda do |listing,param| - puts "Called location" + puts "Called location" if $debug # Perform a quick lookup (i.e. FuzzyRealty::LOCN[:A][:A] => 1.0) - puts FuzzyRealty::LOCN[param.desired.to_sym][listing.location.to_sym] + puts FuzzyRealty::LOCN[param.desired.to_sym][listing.location.to_sym] if $debug FuzzyRealty::LOCN[param.desired.to_sym][listing.location.to_sym] end, :sqft => lambda do |listing,param| - puts "Called sqft" + puts "Called sqft" if $debug actual, desired = listing.sqft, param.desired result = if (actual + 50) >= desired 1.0 elsif (actual + 150) >= desired 0.8 elsif (actual + 300) >= desired 0.5 else 0.0 end - puts result + puts result if $debug result end, # Style's follow lookup table similar to Location :style => lambda do |listing,param| - puts "Called style" + puts "Called style" if $debug desired = FuzzyRealty::STYLE[:Symbol][param.desired] actual = FuzzyRealty::STYLE[:Symbol][listing.style] - puts FuzzyRealty::STYLE[desired][actual] + puts FuzzyRealty::STYLE[desired][actual] if $debug FuzzyRealty::STYLE[desired][actual] end } end \ No newline at end of file