Catching the LoadError was masking errors from not having dependent
library like xapian and gdbm. This change makes the error messages
reflect what's actually missing. Since we're adding index types at
roughly once every 3 years, an explicit list like this shouldn't be too
difficult to maintain.
end
index_name = ENV['SUP_INDEX'] || $config[:index] || DEFAULT_INDEX
-begin
- require "sup/#{index_name}_index"
-rescue LoadError
- fail "invalid index name #{index_name.inspect}"
+case index_name
+ when "xapian"; require "sup/xapian_index"
+ when "ferret"; require "sup/ferret_index"
+ else fail "unknown index type #{index_name.inspect}"
end
Index = Redwood.const_get "#{index_name.capitalize}Index"
Redwood::log "using index #{Index.name}"