commit 87dcb31f615fe3989aa5a8da9662fd84769fbe75
parent b4ce00d4c6bdf1c73717909a0b9535cc9e785ffc
Author: Rich Lane <rlane@club.cc.cmu.edu>
Date: Sat, 20 Mar 2010 12:54:52 -0700
ruby 1.9 Enumerator compatibility
Diffstat:
4 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/bin/sup-sync-back b/bin/sup-sync-back
@@ -4,7 +4,6 @@ require 'rubygems'
require 'uri'
require 'tempfile'
require 'trollop'
-require 'enumerator'
require "sup"; Redwood::check_library_version_against "git"
## save a message 'm' to an open file pointer 'fp'
@@ -17,7 +16,7 @@ def die msg
end
def has_any_from_source_with_label? index, source, label
query = { :source_id => source.id, :label => label, :limit => 1, :load_spam => true, :load_deleted => true, :load_killed => true }
- not Enumerable::Enumerator.new(index, :each_id, query).map.empty?
+ index.num_results_for(query) != 0
end
opts = Trollop::options do
diff --git a/bin/sup-tweak-labels b/bin/sup-tweak-labels
@@ -2,7 +2,6 @@
require 'rubygems'
require 'trollop'
-require 'enumerator'
require "sup"; Redwood::check_library_version_against "git"
class Float
@@ -84,8 +83,8 @@ begin
parsed_query = index.parse_query query
parsed_query.merge! :load_spam => true, :load_deleted => true, :load_killed => true
- ids = Enumerable::Enumerator.new(index, :each_id, parsed_query).map
- num_total = ids.size
+ ids = Enumerator.new(index, :each_id, parsed_query)
+ num_total = index.num_results_for parsed_query
$stderr.puts "Found #{num_total} documents across #{source_ids.length} sources. Scanning..."
diff --git a/lib/sup/modes/console-mode.rb b/lib/sup/modes/console-mode.rb
@@ -8,7 +8,7 @@ class Console
end
def query(query)
- Enumerable::Enumerator.new(Index, :each_message, Index.parse_query(query))
+ Enumerator.new(Index, :each_message, Index.parse_query(query))
end
def add_labels(query, *labels)
diff --git a/lib/sup/util.rb b/lib/sup/util.rb
@@ -3,6 +3,7 @@ require 'lockfile'
require 'mime/types'
require 'pathname'
require 'set'
+require 'enumerator'
## time for some monkeypatching!
class Lockfile
@@ -461,6 +462,10 @@ module Enumerable
end
end
+unless Object.const_defined? :Enumerator
+ Enumerator = Enumerable::Enumerator
+end
+
class Array
def flatten_one_level
inject([]) { |a, e| a + e }