Sha256: 455b9e6005d67d503b10e2edc518f3132699014437736cd7bf62bc0046c54271
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module AboutPage class Solr < AboutPage::Configuration::Node delegate :each_pair, :to_json, :to_xml, :to => :to_h attr_accessor :rsolr, :options def initialize rsolr_instance, options = {} self.rsolr = rsolr_instance self.options = options self.options[:minimum_numdocs] ||= 1 end def schema @schema ||= rsolr.luke(:show => 'schema', :numTerms => 0) rescue {} end def index schema['index'] || {} end alias_method :to_h, :index def ok? return false if schema.empty? return false if index[:numDocs].to_i < minimum_numdocs true end def messages a = [] a << "Unable to connect to solr: #{self.rsolr.inspect}" if schema.empty? a << "Solr numDocs (#{index[:numDocs]}) is less than the minimum #{minimum_numdocs}" if !schema.empty? and index[:numDocs].to_i < minimum_numdocs a end def preflight request @schema = nil @minimum_numdocs = request.params['solr.numDocs'].to_i if request.params['solr.numDocs'].to_i end def minimum_numdocs @minimum_numdocs || self.options[:minimum_numdocs] end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
about_page-0.0.2 | lib/about_page/solr.rb |