aboutsummaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb17
-rw-r--r--vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake1
2 files changed, 11 insertions, 7 deletions
diff --git a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
index c086c8125..1c7ff97b0 100644
--- a/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
+++ b/vendor/plugins/acts_as_xapian/lib/acts_as_xapian.rb
@@ -30,14 +30,19 @@ module ActsAsXapian
class NoXapianRubyBindingsError < StandardError
end
- # XXX global class intializers here get loaded more than once, don't know why. Protect them.
- if not $acts_as_xapian_class_var_init
- @@db = nil
- @@db_path = nil
- @@writable_db = nil
- @@init_values = []
+ @@db = nil
+ @@db_path = nil
+ @@writable_db = nil
+ @@init_values = []
+
+ # There used to be a problem with this module being loaded more than once.
+ # Keep a check here, so we can tell if the problem recurs.
+ if $acts_as_xapian_class_var_init
+ raise "The acts_as_xapian module has already been loaded"
+ else
$acts_as_xapian_class_var_init = true
end
+
def ActsAsXapian.db
@@db
end
diff --git a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake b/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake
index 470016420..c1986ce1e 100644
--- a/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake
+++ b/vendor/plugins/acts_as_xapian/lib/tasks/xapian.rake
@@ -2,7 +2,6 @@ require 'rubygems'
require 'rake'
require 'rake/testtask'
require 'active_record'
-require File.dirname(__FILE__) + '/../acts_as_xapian.rb'
namespace :xapian do
# Parameters - specify "flush=true" to save changes to the Xapian database