You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2007/01/30 07:27:13 UTC

svn commit: r501320 - in /lucene/solr/trunk/client/ruby/solrb/lib/solr: ./ request/ response/

Author: ehatcher
Date: Mon Jan 29 22:27:09 2007
New Revision: 501320

URL: http://svn.apache.org/viewvc?view=rev&rev=501320
Log:
Cosmetic cleanup, eliminating double nesting of modules which visually reads a bit cleaner, less nesting

Modified:
    lucene/solr/trunk/client/ruby/solrb/lib/solr/connection.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/document.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/exception.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/field.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/add_document.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/base.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/commit.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/delete.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/index_info.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/ping.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/select.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/standard.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/request/update.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/add_document.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/base.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/commit.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/delete.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/index_info.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ping.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ruby.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb
    lucene/solr/trunk/client/ruby/solrb/lib/solr/response/xml.rb

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/connection.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/connection.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/connection.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/connection.rb Mon Jan 29 22:27:09 2007
@@ -12,139 +12,138 @@
 
 require 'net/http'
 
-module Solr
-  class Connection
-    attr_reader :url, :autocommit, :connection
-   
-    # create a connection to a solr instance using the url for the solr
-    # application context:
-    #
-    #   conn = Solr::Connection.new("http://example.com:8080/solr")
-    #
-    # if you would prefer to have all adds/updates autocommitted, 
-    # use :autocommit => :on
-    #
-    #   conn = Solr::Connection.new('http://example.com:8080/solr', 
-    #     :autocommit => :on)
-    
-    def initialize(url, opts={})
-      @url = URI.parse(url)
-      unless @url.kind_of? URI::HTTP
-        raise "invalid http url: #{url}"
-      end
-      
-      # TODO: Autocommit seems nice at one level, but it currently is confusing because
-      # only calls to Connection#add/#update/#delete, though a Connection#send(AddDocument.new(...))
-      # does not autocommit.  Maybe #send should check for the request types that require a commit and
-      # commit in #send instead of the individual methods?
-      @autocommit = opts[:autocommit] == :on
-      
-      # Not actually opening the connection yet, just setting up the persistent connection.
-      @connection = Net::HTTP.new(@url.host, @url.port)
-    end
+class Solr::Connection
+  attr_reader :url, :autocommit, :connection
 
-    # add a document to the index. you can pass in either a hash
-    #
-    #   conn.add(:id => 123, :title => 'Tlon, Uqbar, Orbis Tertius')
-    #
-    # or a Solr::Document
-    #
-    #   conn.add(Solr::Document.new(:id => 123, :title = 'On Writing')
-    #
-    # true/false will be returned to designate success/failure
-    
-    def add(doc)
-      request = Solr::Request::AddDocument.new(doc)
-      response = send(request)
-      commit if @autocommit
-      return response.ok?
-    end
+  # create a connection to a solr instance using the url for the solr
+  # application context:
+  #
+  #   conn = Solr::Connection.new("http://example.com:8080/solr")
+  #
+  # if you would prefer to have all adds/updates autocommitted, 
+  # use :autocommit => :on
+  #
+  #   conn = Solr::Connection.new('http://example.com:8080/solr', 
+  #     :autocommit => :on)
+
+  def initialize(url, opts={})
+    @url = URI.parse(url)
+    unless @url.kind_of? URI::HTTP
+      raise "invalid http url: #{url}"
+    end
+  
+    # TODO: Autocommit seems nice at one level, but it currently is confusing because
+    # only calls to Connection#add/#update/#delete, though a Connection#send(AddDocument.new(...))
+    # does not autocommit.  Maybe #send should check for the request types that require a commit and
+    # commit in #send instead of the individual methods?
+    @autocommit = opts[:autocommit] == :on
+  
+    # Not actually opening the connection yet, just setting up the persistent connection.
+    @connection = Net::HTTP.new(@url.host, @url.port)
+  end
 
-    # update a document in the index (really just an alias to add)
-    
-    def update(doc)
-      return add(doc)
-    end
+  # add a document to the index. you can pass in either a hash
+  #
+  #   conn.add(:id => 123, :title => 'Tlon, Uqbar, Orbis Tertius')
+  #
+  # or a Solr::Document
+  #
+  #   conn.add(Solr::Document.new(:id => 123, :title = 'On Writing')
+  #
+  # true/false will be returned to designate success/failure
+
+  def add(doc)
+    request = Solr::Request::AddDocument.new(doc)
+    response = send(request)
+    commit if @autocommit
+    return response.ok?
+  end
 
-    # performs a standard query and returns a Solr::Response::Standard
-    #
-    #   response = conn.query('borges')
-    # 
-    # alternative you can pass in a block and iterate over hits
-    #
-    #   conn.query('borges') do |hit|
-    #     puts hit
-    #   end
-   
-    def query(query, options={}, &action)
-      # TODO: Shouldn't this return an exception if the Solr status is not ok?  (rather than true/false).
-      options[:query] = query
-      request = Solr::Request::Standard.new(options)
-      response = send(request)
-      return response unless action
-      response.each {|hit| action.call(hit)}
-    end
+  # update a document in the index (really just an alias to add)
 
-    # sends a commit message to the server
-    def commit
-      response = send(Solr::Request::Commit.new)
-      return response.ok?
-    end
-    
-    # TODO add optimize, which can be hacked like this, interestingly!
-    # class OptimizeRequest
-    #  def handler 
-    #    "update"
-    #  end
-    #  def to_s
-    #    "<optimize/>"
-    #  end
-    # end
-
-    # pings the connection and returns true/false if it is alive or not
-    def ping
-      begin
-        response = send(Solr::Request::Ping.new)
-        return response.ok?
-      rescue
-        return false
-      end
-    end
+  def update(doc)
+    return add(doc)
+  end
 
-    # delete a document from the index using the document id
-    def delete(document_id)
-      response = send(Solr::Request::Delete.new(:id => document_id))
-      commit if @autocommit
-      return response.ok?
-    end
+  # performs a standard query and returns a Solr::Response::Standard
+  #
+  #   response = conn.query('borges')
+  # 
+  # alternative you can pass in a block and iterate over hits
+  #
+  #   conn.query('borges') do |hit|
+  #     puts hit
+  #   end
+
+  def query(query, options={}, &action)
+    # TODO: Shouldn't this return an exception if the Solr status is not ok?  (rather than true/false).
+    options[:query] = query
+    request = Solr::Request::Standard.new(options)
+    response = send(request)
+    return response unless action
+    response.each {|hit| action.call(hit)}
+  end
+
+  # sends a commit message to the server
+  def commit
+    response = send(Solr::Request::Commit.new)
+    return response.ok?
+  end
 
-    # delete using a query
-    def delete_by_query(query)
-      response = send(Solr::Request::Delete.new(:query => query))
-      commit if @autocommit
+  # TODO add optimize, which can be hacked like this, interestingly!
+  # class OptimizeRequest
+  #  def handler 
+  #    "update"
+  #  end
+  #  def to_s
+  #    "<optimize/>"
+  #  end
+  # end
+
+  # pings the connection and returns true/false if it is alive or not
+  def ping
+    begin
+      response = send(Solr::Request::Ping.new)
       return response.ok?
+    rescue
+      return false
     end
+  end
 
-    # send a given Solr::Request and return a RubyResponse or XmlResponse
-    # depending on the type of request
-    def send(request)
-      data = post(request)
-      return Solr::Response::Base.make_response(request, data)
-    end
-   
-    # send the http post request to solr; for convenience there are shortcuts
-    # to some requests: add(), query(), commit(), delete() or send()
-    def post(request)
-      response = @connection.post(@url.path + "/" + request.handler,
-                                  request.to_s,
-                                  { "Content-Type" => "application/x-www-form-urlencoded; charset=utf-8" })
-      
-      case response
-      when Net::HTTPSuccess then response.body
-      else
-        response.error!
-      end
-      
+  # delete a document from the index using the document id
+  def delete(document_id)
+    response = send(Solr::Request::Delete.new(:id => document_id))
+    commit if @autocommit
+    return response.ok?
+  end
+
+  # delete using a query
+  def delete_by_query(query)
+    response = send(Solr::Request::Delete.new(:query => query))
+    commit if @autocommit
+    return response.ok?
+  end
+
+  # send a given Solr::Request and return a RubyResponse or XmlResponse
+  # depending on the type of request
+  def send(request)
+    data = post(request)
+    return Solr::Response::Base.make_response(request, data)
+  end
+
+  # send the http post request to solr; for convenience there are shortcuts
+  # to some requests: add(), query(), commit(), delete() or send()
+  def post(request)
+    response = @connection.post(@url.path + "/" + request.handler,
+                                request.to_s,
+                                { "Content-Type" => "application/x-www-form-urlencoded; charset=utf-8" })
+  
+    case response
+    when Net::HTTPSuccess then response.body
+    else
+      response.error!
     end
+  
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/document.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/document.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/document.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/document.rb Mon Jan 29 22:27:09 2007
@@ -13,61 +13,59 @@
 require 'rexml/document'
 require 'solr/field'
 
-module Solr
-  class Document
-    include Enumerable
+class Solr::Document
+  include Enumerable
 
-    # Create a new Solr::Document, optionally passing in a hash of 
-    # key/value pairs for the fields
-    #
-    #   doc = Solr::Document.new(:creator => 'Jorge Luis Borges')
-    def initialize(hash={})
-      @fields = []
-      self << hash
-    end
+  # Create a new Solr::Document, optionally passing in a hash of 
+  # key/value pairs for the fields
+  #
+  #   doc = Solr::Document.new(:creator => 'Jorge Luis Borges')
+  def initialize(hash={})
+    @fields = []
+    self << hash
+  end
 
-    # Append a Solr::Field
-    #
-    #   doc << Solr::Field.new(:creator => 'Jorge Luis Borges')
-    #
-    # If you are truly lazy you can simply pass in a hash:
-    #
-    #   doc << {:creator => 'Jorge Luis Borges'}
-    def <<(fields)
-      case fields
-      when Hash
-        fields.each_pair do |name,value|
-          if value.respond_to?(:each)
-            value.each {|v| @fields << Solr::Field.new(name => v)}
-          else
-            @fields << Solr::Field.new(name => value)
-          end
+  # Append a Solr::Field
+  #
+  #   doc << Solr::Field.new(:creator => 'Jorge Luis Borges')
+  #
+  # If you are truly lazy you can simply pass in a hash:
+  #
+  #   doc << {:creator => 'Jorge Luis Borges'}
+  def <<(fields)
+    case fields
+    when Hash
+      fields.each_pair do |name,value|
+        if value.respond_to?(:each)
+          value.each {|v| @fields << Solr::Field.new(name => v)}
+        else
+          @fields << Solr::Field.new(name => value)
         end
-      when Solr::Field
-        @fields << fields
-      else
-        raise "must pass in Solr::Field or Hash"
       end
+    when Solr::Field
+      @fields << fields
+    else
+      raise "must pass in Solr::Field or Hash"
     end
+  end
 
-    # shorthand to allow hash lookups
-    #   doc['name']
-    def [](name)
-      field = @fields.find {|f| f.name == name.to_s}
-      return field.value if field
-      return nil
-    end
+  # shorthand to allow hash lookups
+  #   doc['name']
+  def [](name)
+    field = @fields.find {|f| f.name == name.to_s}
+    return field.value if field
+    return nil
+  end
 
-    # shorthand to assign as a hash
-    def []=(name,value)
-      @fields << Solr::Field.new(name => value)
-    end
+  # shorthand to assign as a hash
+  def []=(name,value)
+    @fields << Solr::Field.new(name => value)
+  end
 
-    # convert the Document to a REXML::Element 
-    def to_xml
-      e = REXML::Element.new 'doc'
-      @fields.each {|f| e.add_element(f.to_xml)}
-      return e
-    end
+  # convert the Document to a REXML::Element 
+  def to_xml
+    e = REXML::Element.new 'doc'
+    @fields.each {|f| e.add_element(f.to_xml)}
+    return e
   end
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/exception.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/exception.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/exception.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/exception.rb Mon Jan 29 22:27:09 2007
@@ -10,6 +10,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  class Exception < Exception; end
-end
+class Solr::Exception < Exception; end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/field.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/field.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/field.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/field.rb Mon Jan 29 22:27:09 2007
@@ -12,23 +12,21 @@
 
 require 'rexml/document'
 
-module Solr
-  class Field
-    attr_accessor :name
-    attr_accessor :value
+class Solr::Field
+  attr_accessor :name
+  attr_accessor :value
 
-    def initialize(key_val, opts={})
-      raise "first argument must be a hash" unless key_val.kind_of? Hash
-      @name = key_val.keys[0].to_s
-      @value = key_val.values[0].to_s
-    end
-
-    def to_xml
-      e = REXML::Element.new 'field'
-      e.attributes['name'] = @name
-      e.text = @value
-      return e
-    end
+  def initialize(key_val, opts={})
+    raise "first argument must be a hash" unless key_val.kind_of? Hash
+    @name = key_val.keys[0].to_s
+    @value = key_val.values[0].to_s
+  end
 
+  def to_xml
+    e = REXML::Element.new 'field'
+    e.attributes['name'] = @name
+    e.text = @value
+    return e
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/add_document.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/add_document.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/add_document.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/add_document.rb Mon Jan 29 22:27:09 2007
@@ -15,54 +15,49 @@
 require 'solr/request/update'
 require 'rexml/document'
 
-module Solr
-  module Request
-    class AddDocument < Solr::Request::Update
+class Solr::Request::AddDocument < Solr::Request::Update
 
-      # create the request, optionally passing in a Solr::Document
-      #
-      #   request = Solr::Request::AddDocument.new doc
-      #
-      # as a short cut you can pass in a Hash instead:
-      #
-      #   request = Solr::Request.new :creator => 'Jorge Luis Borges'
-      # 
-      # or an array, to add multiple documents at the same time:
-      # 
-      #   request = Solr::Request::AddDocument.new([doc1, doc2, doc3])
-        
-      def initialize(doc={})
-        @docs = []
-        if doc.is_a?(Array)
-          doc.each { |d| add_doc(d) }
-        else
-          add_doc(doc)
-        end
-      end
+  # create the request, optionally passing in a Solr::Document
+  #
+  #   request = Solr::Request::AddDocument.new doc
+  #
+  # as a short cut you can pass in a Hash instead:
+  #
+  #   request = Solr::Request.new :creator => 'Jorge Luis Borges'
+  # 
+  # or an array, to add multiple documents at the same time:
+  # 
+  #   request = Solr::Request::AddDocument.new([doc1, doc2, doc3])
+    
+  def initialize(doc={})
+    @docs = []
+    if doc.is_a?(Array)
+      doc.each { |d| add_doc(d) }
+    else
+      add_doc(doc)
+    end
+  end
 
-      # returns the request as a string suitable for posting
-      
-      def to_s
-        e = REXML::Element.new 'add'
-        for doc in @docs
-          e.add_element doc.to_xml
-        end
-        return e.to_s
-      end
-      
-    private
-      
-      def add_doc(doc)
-        case doc
-        when Hash
-          @docs << Solr::Document.new(doc)
-        when Solr::Document
-          @docs << doc
-        else
-          raise "must pass in Solr::Document or Hash"
-        end
-      end
-      
+  # returns the request as a string suitable for posting
+  
+  def to_s
+    e = REXML::Element.new 'add'
+    for doc in @docs
+      e.add_element doc.to_xml
+    end
+    return e.to_s
+  end
+  
+  private
+  def add_doc(doc)
+    case doc
+    when Hash
+      @docs << Solr::Document.new(doc)
+    when Solr::Document
+      @docs << doc
+    else
+      raise "must pass in Solr::Document or Hash"
     end
   end
+  
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/base.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/base.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/base.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/base.rb Mon Jan 29 22:27:09 2007
@@ -10,24 +10,20 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Request
-    class Base
+class Solr::Request::Base
 
-      # returns either :xml or :ruby depending on what the
-      # response type is for a given request
-      
-      def response_format
-        raise "unknown request type: #{self.class}"
-      end
-
-      # returns the solr handler or url fragment that can 
-      # respond to this type of request
-      
-      def handler
-        raise "unkown request type: #{self.class}"
-      end
+  # returns either :xml or :ruby depending on what the
+  # response type is for a given request
+  
+  def response_format
+    raise "unknown request type: #{self.class}"
+  end
 
-    end
+  # returns the solr handler or url fragment that can 
+  # respond to this type of request
+  
+  def handler
+    raise "unkown request type: #{self.class}"
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/commit.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/commit.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/commit.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/commit.rb Mon Jan 29 22:27:09 2007
@@ -12,14 +12,10 @@
 
 require 'rexml/document'
 
-module Solr
-  module Request
-    class Commit < Solr::Request::Update
+class Solr::Request::Commit < Solr::Request::Update
 
-      def to_s
-        return REXML::Element.new('commit').to_s
-      end
-
-    end
+  def to_s
+    REXML::Element.new('commit').to_s
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/delete.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/delete.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/delete.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/delete.rb Mon Jan 29 22:27:09 2007
@@ -12,44 +12,39 @@
 
 require 'rexml/document'
 
-module Solr
-  module Request
+class Solr::Request::Delete < Solr::Request::Update
 
-    class Delete < Solr::Request::Update
-
-      # A delete request can be for a specific document id
-      #
-      #   request = Solr::Request::Delete.new(:id => 1234)
-      #
-      # or by query:
-      #
-      #   request = Solr::Request::Delete.new(:query =>
-      #
-      def initialize(options)
-        unless options.kind_of?(Hash) and (options[:id] or options[:query])
-          raise Solr::Exception.new("must pass in :id or :query")
-        end
-        if options[:id] and options[:query]
-          raise Solr::Exception.new("can't pass in both :id and :query")
-        end
-        @document_id = options[:id]
-        @query = options[:query]
-      end
+  # A delete request can be for a specific document id
+  #
+  #   request = Solr::Request::Delete.new(:id => 1234)
+  #
+  # or by query:
+  #
+  #   request = Solr::Request::Delete.new(:query =>
+  #
+  def initialize(options)
+    unless options.kind_of?(Hash) and (options[:id] or options[:query])
+      raise Solr::Exception.new("must pass in :id or :query")
+    end
+    if options[:id] and options[:query]
+      raise Solr::Exception.new("can't pass in both :id and :query")
+    end
+    @document_id = options[:id]
+    @query = options[:query]
+  end
 
-      def to_s
-        delete_element = REXML::Element.new('delete')
-        if @document_id
-          id_element = REXML::Element.new('id')
-          id_element.text = @document_id
-          delete_element.add_element(id_element)
-        elsif @query
-          query = REXML::Element.new('query')
-          query.text = @query 
-          delete_element.add_element(query)
-        end
-        return delete_element.to_s
-      end
+  def to_s
+    delete_element = REXML::Element.new('delete')
+    if @document_id
+      id_element = REXML::Element.new('id')
+      id_element.text = @document_id
+      delete_element.add_element(id_element)
+    elsif @query
+      query = REXML::Element.new('query')
+      query.text = @query 
+      delete_element.add_element(query)
     end
+    delete_element.to_s
   end
 end
 

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/index_info.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/index_info.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/index_info.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/index_info.rb Mon Jan 29 22:27:09 2007
@@ -10,12 +10,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Request
-    class IndexInfo < Solr::Request::Select
-      def initialize
-        super('indexinfo')
-      end
-    end
+class Solr::Request::IndexInfo < Solr::Request::Select
+  def initialize
+    super('indexinfo')
   end
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/ping.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/ping.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/ping.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/ping.rb Mon Jan 29 22:27:09 2007
@@ -10,16 +10,27 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Request
-    class Ping < Solr::Request::Base
-      def response_format
-        :xml
-      end
-      
-      def handler
-        'admin/ping'
-      end
-    end
+# TODO: Consider something lazy like this?
+# Solr::Request::Ping = Solr::Request.simple_request :format=>:xml, :handler=>'admin/ping'
+# class Solr::Request
+#   def self.simple_request(options)
+#     Class.new do 
+#       def response_format
+#         options[:format]
+#       end
+#       def handler
+#         options[:handler]
+#       end
+#     end
+#   end
+# end
+
+class Solr::Request::Ping < Solr::Request::Base
+  def response_format
+    :xml
+  end
+  
+  def handler
+    'admin/ping'
   end
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/select.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/select.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/select.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/select.rb Mon Jan 29 22:27:09 2007
@@ -12,47 +12,43 @@
 
 require 'erb'
 
-module Solr
-  module Request
-    # "Abstract" base class, only useful with subclasses that add parameters
-    class Select < Solr::Request::Base
+# "Abstract" base class, only useful with subclasses that add parameters
+class Solr::Request::Select < Solr::Request::Base
       
-      # TODO add a constant for the all-docs query, which currently is [* TO *]
-      #      (caveat, that is all docs that have a value in the default field)
-      #      When the Lucene JAR is upgraded in Solr, the all-docs query becomes simply *
-      attr_reader :query_type
-      
-      def initialize(qt=nil)
-        @query_type = qt
-      end
-      
-      def response_format
-        :ruby
-      end
-      
-      def handler
-        'select'
-      end
-
-      def to_hash
-        return {:qt => query_type, :wt => 'ruby'}
-      end
-      
-      def to_s
-        raw_params = self.to_hash
+  # TODO add a constant for the all-docs query, which currently is [* TO *]
+  #      (caveat, that is all docs that have a value in the default field)
+  #      When the Lucene JAR is upgraded in Solr, the all-docs query becomes simply *
+  attr_reader :query_type
+  
+  def initialize(qt=nil)
+    @query_type = qt
+  end
+  
+  def response_format
+    :ruby
+  end
+  
+  def handler
+    'select'
+  end
 
-        http_params = []
-        raw_params.each do |key,value|
-          if value.respond_to? :each
-            value.each { |v| http_params << "#{key}=#{ERB::Util::url_encode(v)}" unless v.nil?}
-          else
-            http_params << "#{key}=#{ERB::Util::url_encode(value)}" unless value.nil?
-          end
-        end
+  def to_hash
+    return {:qt => query_type, :wt => 'ruby'}
+  end
+  
+  def to_s
+    raw_params = self.to_hash
 
-        http_params.join("&")
+    http_params = []
+    raw_params.each do |key,value|
+      if value.respond_to? :each
+        value.each { |v| http_params << "#{key}=#{ERB::Util::url_encode(v)}" unless v.nil?}
+      else
+        http_params << "#{key}=#{ERB::Util::url_encode(value)}" unless value.nil?
       end
-      
     end
+
+    http_params.join("&")
   end
+  
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/standard.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/standard.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/standard.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/standard.rb Mon Jan 29 22:27:09 2007
@@ -10,90 +10,86 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Request
-    class Standard < Solr::Request::Select
+class Solr::Request::Standard < Solr::Request::Select
 
-      VALID_PARAMS = [:query, :sort, :default_field, :operator, :start, :rows,
-        :filter_queries, :field_list, :debug_query, :explain_other, :facets]
-      
-      def initialize(params)
-        super('standard')
+  VALID_PARAMS = [:query, :sort, :default_field, :operator, :start, :rows,
+    :filter_queries, :field_list, :debug_query, :explain_other, :facets]
+  
+  def initialize(params)
+    super('standard')
+    
+    raise "Invalid parameters: #{(params.keys - VALID_PARAMS).join(',')}" unless 
+      (params.keys - VALID_PARAMS).empty?
+    
+    raise ":query parameter required" unless params[:query]
+    
+    @params = params.dup
+    
+    # Validate operator
+    if params[:operator]
+      raise "Only :and/:or operators allowed" unless 
+        [:and, :or].include?(params[:operator])
         
-        raise "Invalid parameters: #{(params.keys - VALID_PARAMS).join(',')}" unless 
-          (params.keys - VALID_PARAMS).empty?
-        
-        raise ":query parameter required" unless params[:query]
-        
-        @params = params.dup
-        
-        # Validate operator
-        if params[:operator]
-          raise "Only :and/:or operators allowed" unless 
-            [:and, :or].include?(params[:operator])
-            
-          @params[:operator] = params[:operator].to_s.upcase
-        end
+      @params[:operator] = params[:operator].to_s.upcase
+    end
 
-        # Validate start, rows can be transformed to ints
-        @params[:start] = params[:start].to_i if params[:start]
-        @params[:rows] = params[:rows].to_i if params[:rows]
-        
-        @params[:field_list] ||= ["*","score"]
+    # Validate start, rows can be transformed to ints
+    @params[:start] = params[:start].to_i if params[:start]
+    @params[:rows] = params[:rows].to_i if params[:rows]
+    
+    @params[:field_list] ||= ["*","score"]
 
-        #TODO model highlighting parameters: http://wiki.apache.org/solr/HighlightingParameters
-      end
-      
-      def to_hash
-        hash = {}
-        
-        # standard request param processing
-        sort = @params[:sort].collect do |sort|
-          key = sort.keys[0]
-          "#{key.to_s} #{sort[key] == :descending ? 'desc' : 'asc'}"
-        end.join(',') if @params[:sort]
-        hash[:q] = sort ? "#{@params[:query]};#{sort}" : @params[:query]
-        hash["q.op"] = @params[:operator]
-        hash[:df] = @params[:default_field]
+    #TODO model highlighting parameters: http://wiki.apache.org/solr/HighlightingParameters
+  end
+  
+  def to_hash
+    hash = {}
+    
+    # standard request param processing
+    sort = @params[:sort].collect do |sort|
+      key = sort.keys[0]
+      "#{key.to_s} #{sort[key] == :descending ? 'desc' : 'asc'}"
+    end.join(',') if @params[:sort]
+    hash[:q] = sort ? "#{@params[:query]};#{sort}" : @params[:query]
+    hash["q.op"] = @params[:operator]
+    hash[:df] = @params[:default_field]
 
-        # common parameter processing
-        hash[:start] = @params[:start]
-        hash[:rows] = @params[:rows]
-        hash[:fq] = @params[:filter_queries]
-        hash[:fl] = @params[:field_list].join(',')
-        hash[:debugQuery] = @params[:debug_query]
-        hash[:explainOther] = @params[:explain_other]
-        
-        # facet parameter processing
-        if @params[:facets]
-          # TODO need validation of all that is under the :facets Hash too
-          hash[:facet] = true
-          hash["facet.field"] = []
-          hash["facet.query"] = @params[:facets][:queries]
-          hash["facet.sort"] = (@params[:facets][:sort] == :count) if @params[:facets][:sort]
-          hash["facet.limit"] = @params[:facets][:limit]
-          hash["facet.missing"] = @params[:facets][:missing]
-          hash["facet.mincount"] = @params[:facets][:mincount]
-          hash["facet.prefix"] = @params[:facets][:prefix]
-          @params[:facets][:fields].each do |f|
-            if f.kind_of? Hash
-              key = f.keys[0]
-              value = f[key]
-              hash["facet.field"] << key
-              hash["f.#{key}.facet.sort"] = (value[:sort] == :count) if value[:sort]
-              hash["f.#{key}.facet.limit"] = value[:limit]
-              hash["f.#{key}.facet.missing"] = value[:missing]
-              hash["f.#{key}.facet.mincount"] = value[:mincount]
-              hash["f.#{key}.facet.prefix"] = value[:prefix]
-            else
-              hash["facet.field"] << f
-            end
-          end
+    # common parameter processing
+    hash[:start] = @params[:start]
+    hash[:rows] = @params[:rows]
+    hash[:fq] = @params[:filter_queries]
+    hash[:fl] = @params[:field_list].join(',')
+    hash[:debugQuery] = @params[:debug_query]
+    hash[:explainOther] = @params[:explain_other]
+    
+    # facet parameter processing
+    if @params[:facets]
+      # TODO need validation of all that is under the :facets Hash too
+      hash[:facet] = true
+      hash["facet.field"] = []
+      hash["facet.query"] = @params[:facets][:queries]
+      hash["facet.sort"] = (@params[:facets][:sort] == :count) if @params[:facets][:sort]
+      hash["facet.limit"] = @params[:facets][:limit]
+      hash["facet.missing"] = @params[:facets][:missing]
+      hash["facet.mincount"] = @params[:facets][:mincount]
+      hash["facet.prefix"] = @params[:facets][:prefix]
+      @params[:facets][:fields].each do |f|
+        if f.kind_of? Hash
+          key = f.keys[0]
+          value = f[key]
+          hash["facet.field"] << key
+          hash["f.#{key}.facet.sort"] = (value[:sort] == :count) if value[:sort]
+          hash["f.#{key}.facet.limit"] = value[:limit]
+          hash["f.#{key}.facet.missing"] = value[:missing]
+          hash["f.#{key}.facet.mincount"] = value[:mincount]
+          hash["f.#{key}.facet.prefix"] = value[:prefix]
+        else
+          hash["facet.field"] << f
         end
-        
-        hash.merge(super.to_hash)
       end
-
     end
+    
+    hash.merge(super.to_hash)
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/request/update.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/request/update.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/request/update.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/request/update.rb Mon Jan 29 22:27:09 2007
@@ -10,18 +10,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Request
+# a parent class for all requests that go through the solr update handler
+class Solr::Request::Update < Solr::Request::Base
+  def response_format
+    :xml
+  end
 
-    # a parent class for all requests that go through the solr update handler
-    class Update < Solr::Request::Base
-      def response_format
-        :xml
-      end
-
-      def handler
-        'update'
-      end
-    end
+  def handler
+    'update'
   end
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response.rb Mon Jan 29 22:27:09 2007
@@ -10,6 +10,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+module Solr; module Response; end; end
 require 'solr/response/base'
 require 'solr/response/xml'
 require 'solr/response/ruby'

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/add_document.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/add_document.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/add_document.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/add_document.rb Mon Jan 29 22:27:09 2007
@@ -10,14 +10,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-
-    class AddDocument < Solr::Response::Xml
-      def initialize(xml)
-        super(xml)
-      end
-    end
-
+class Solr::Response::AddDocument < Solr::Response::Xml
+  def initialize(xml)
+    super(xml)
   end
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/base.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/base.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/base.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/base.rb Mon Jan 29 22:27:09 2007
@@ -10,44 +10,40 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-    class Base
-      attr_reader :raw_response
+class Solr::Response::Base
+  attr_reader :raw_response
 
-      def initialize(raw_response)
-        @raw_response = raw_response
-      end
-
-      # factory method for creating a Solr::Response::* from 
-      # a request and the raw response content
-      def self.make_response(request, raw)
+  def initialize(raw_response)
+    @raw_response = raw_response
+  end
 
-        # make sure response format seems sane
-        unless [:xml, :ruby].include?(request.response_format)
-          raise Solr::Exception.new("unknown response format: #{request.response_format}" )
-        end
+  # factory method for creating a Solr::Response::* from 
+  # a request and the raw response content
+  def self.make_response(request, raw)
 
-        # TODO: Factor out this case... perhaps the request object should provide the response class instead?  Or dynamically align by class name?
-        #       Maybe the request itself could have the response handling features that get mixed in with a single general purpose response object?
-        case request
-        when Solr::Request::Ping
-          return Solr::Response::Ping.new(raw)
-        when Solr::Request::AddDocument
-          return Solr::Response::AddDocument.new(raw)
-        when Solr::Request::Commit
-          return Solr::Response::Commit.new(raw)
-        when Solr::Request::Standard
-          return Solr::Response::Standard.new(raw)
-        when Solr::Request::Delete
-          return Solr::Response::Delete.new(raw)
-        when Solr::Request::IndexInfo
-          return Solr::Response::IndexInfo.new(raw)
-        else
-          raise Solr::Exception.new("unknown request type: #{request.class}")
-        end
-      end
+    # make sure response format seems sane
+    unless [:xml, :ruby].include?(request.response_format)
+      raise Solr::Exception.new("unknown response format: #{request.response_format}" )
+    end
 
+    # TODO: Factor out this case... perhaps the request object should provide the response class instead?  Or dynamically align by class name?
+    #       Maybe the request itself could have the response handling features that get mixed in with a single general purpose response object?
+    case request
+    when Solr::Request::Ping
+      return Solr::Response::Ping.new(raw)
+    when Solr::Request::AddDocument
+      return Solr::Response::AddDocument.new(raw)
+    when Solr::Request::Commit
+      return Solr::Response::Commit.new(raw)
+    when Solr::Request::Standard
+      return Solr::Response::Standard.new(raw)
+    when Solr::Request::Delete
+      return Solr::Response::Delete.new(raw)
+    when Solr::Request::IndexInfo
+      return Solr::Response::IndexInfo.new(raw)
+    else
+      raise Solr::Exception.new("unknown request type: #{request.class}")
     end
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/commit.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/commit.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/commit.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/commit.rb Mon Jan 29 22:27:09 2007
@@ -12,25 +12,21 @@
 
 require 'rexml/xpath'
 
-module Solr
-  module Response
-    class Commit < Solr::Response::Xml
-      attr_reader :ok
+class Solr::Response::Commit < Solr::Response::Xml
+  attr_reader :ok
 
-      def initialize(xml)
-        super(xml)
-        e = REXML::XPath.first(@doc, './result')
-        if e and e.attributes['status'] == '0'
-          @ok = true
-        else
-          @ok = false
-        end
-      end
-
-      def ok?
-        @ok
-      end
+  def initialize(xml)
+    super(xml)
+    e = REXML::XPath.first(@doc, './result')
+    if e and e.attributes['status'] == '0'
+      @ok = true
+    else
+      @ok = false
     end
+  end
+
+  def ok?
+    @ok
   end
 end
 

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/delete.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/delete.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/delete.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/delete.rb Mon Jan 29 22:27:09 2007
@@ -10,9 +10,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-    class Delete < Solr::Response::Xml
-    end
-  end
-end
+class Solr::Response::Delete < Solr::Response::Xml; end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/index_info.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/index_info.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/index_info.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/index_info.rb Mon Jan 29 22:27:09 2007
@@ -10,21 +10,17 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-    class IndexInfo < Solr::Response::Ruby
-      def initialize(ruby_code)
-        super(ruby_code)
-      end
-
-      def num_docs
-        return @data['index']['numDocs']
-      end
-      
-      def field_names
-        return @data['fields'].keys
-      end
+class Solr::Response::IndexInfo < Solr::Response::Ruby
+  def initialize(ruby_code)
+    super(ruby_code)
+  end
 
-    end
+  def num_docs
+    return @data['index']['numDocs']
   end
+  
+  def field_names
+    return @data['fields'].keys
+  end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ping.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ping.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ping.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ping.rb Mon Jan 29 22:27:09 2007
@@ -12,21 +12,17 @@
 
 require 'rexml/xpath'
 
-module Solr
-  module Response
-    class Ping < Solr::Response::Xml
+class Solr::Response::Ping < Solr::Response::Xml
 
-      def initialize(xml)
-        super(xml)
-        @ok = REXML::XPath.first(@doc, './solr/ping') ? true : false
-      end
-
-      # returns true or false depending on whether the ping
-      # was successful or not
-      def ok?
-        @ok
-      end
+  def initialize(xml)
+    super(xml)
+    @ok = REXML::XPath.first(@doc, './solr/ping') ? true : false
+  end
 
-    end
+  # returns true or false depending on whether the ping
+  # was successful or not
+  def ok?
+    @ok
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ruby.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ruby.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ruby.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/ruby.rb Mon Jan 29 22:27:09 2007
@@ -10,39 +10,33 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-
-    class Ruby < Solr::Response::Base
-      attr_reader :data
-
-      def initialize(ruby_code)
-        super(ruby_code)
-        begin
-          #TODO: what about pulling up data/header/response to ResponseBase,
-          #      or maybe a new middle class like SelectResponseBase since
-          #      all Select queries return this same sort of stuff??
-          #      XML (&wt=xml) and Ruby (&wt=ruby) responses contain exactly the same structure.
-          #      a goal of solrb is to make it irrelevant which gets used under the hood, 
-          #      but favor Ruby responses.
-          @data = eval(ruby_code)
-          @header = @data['responseHeader']
-          raise "response should be a hash" unless @data.kind_of? Hash
-          raise "response header missing" unless @header.kind_of? Hash
-        rescue SyntaxError => e
-          raise Solr::Exception.new("invalid ruby code: #{e}")
-        end
-      end
-
-      def ok?
-        return @header['status'] == 0
-      end
-
-      def query_time
-        return @header['QTime']
-      end
+class Solr::Response::Ruby < Solr::Response::Base
+  attr_reader :data
 
+  def initialize(ruby_code)
+    super(ruby_code)
+    begin
+      #TODO: what about pulling up data/header/response to ResponseBase,
+      #      or maybe a new middle class like SelectResponseBase since
+      #      all Select queries return this same sort of stuff??
+      #      XML (&wt=xml) and Ruby (&wt=ruby) responses contain exactly the same structure.
+      #      a goal of solrb is to make it irrelevant which gets used under the hood, 
+      #      but favor Ruby responses.
+      @data = eval(ruby_code)
+      @header = @data['responseHeader']
+      raise "response should be a hash" unless @data.kind_of? Hash
+      raise "response header missing" unless @header.kind_of? Hash
+    rescue SyntaxError => e
+      raise Solr::Exception.new("invalid ruby code: #{e}")
     end
+  end
+
+  def ok?
+    @header['status'] == 0
+  end
 
+  def query_time
+    @header['QTime']
   end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb Mon Jan 29 22:27:09 2007
@@ -10,43 +10,39 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-module Solr
-  module Response
-    class Standard < Solr::Response::Ruby
-      include Enumerable
-
-      def initialize(ruby_code)
-        super(ruby_code)
-        @response = @data['response']
-        raise "response section missing" unless @response.kind_of? Hash
-      end
-
-      def total_hits
-        return @response['numFound']
-      end
-
-      def start
-        return @response['start']
-      end
-
-      def hits
-        return @response['docs']
-      end
-
-      def max_score
-        return @response['maxScore']
-      end
-      
-      def field_facets(field)
-        @data['facet_counts']['facet_fields'][field].sort {|a,b| b[1] <=> a[1]}
-      end
-      
-
-      # supports enumeration of hits
-      def each
-        @response['docs'].each {|hit| yield hit}
-      end
+class Solr::Response::Standard < Solr::Response::Ruby
+  include Enumerable
+  
+  def initialize(ruby_code)
+    super(ruby_code)
+    @response = @data['response']
+    raise "response section missing" unless @response.kind_of? Hash
+  end
+
+  def total_hits
+    @response['numFound']
+  end
 
-    end
+  def start
+    @response['start']
   end
+
+  def hits
+    @response['docs']
+  end
+
+  def max_score
+    @response['maxScore']
+  end
+  
+  def field_facets(field)
+    @data['facet_counts']['facet_fields'][field].sort {|a,b| b[1] <=> a[1]}
+  end
+  
+
+  # supports enumeration of hits
+  def each
+    @response['docs'].each {|hit| yield hit}
+  end
+
 end

Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/xml.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/xml.rb?view=diff&rev=501320&r1=501319&r2=501320
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/xml.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/xml.rb Mon Jan 29 22:27:09 2007
@@ -13,33 +13,25 @@
 require 'rexml/document'
 require 'solr/exception'
 
-module Solr
-  module Response
-
-    class Xml < Solr::Response::Base
-      attr_reader :doc, :status_code, :status_message
-
-      def initialize(xml)
-        super(xml)
-        begin
-          # parse the xml
-          @doc = REXML::Document.new(xml)
-          # look for the result code and string 
-          result = REXML::XPath.first(@doc, './result')
-          if result
-            @status_code =  result.attributes['status']
-            @status_message = result.text
-          end
-        rescue REXML::ParseException => e
-          raise Solr::Exception.new("invalid response xml: #{e}")
-        end
-      end
-
-      def ok?
-        return @status_code == '0'
-      end
+class Solr::Response::Xml < Solr::Response::Base
+  attr_reader :doc, :status_code, :status_message
 
+  def initialize(xml)
+    super(xml)
+    # parse the xml
+    @doc = REXML::Document.new(xml)
+    # look for the result code and string 
+    result = REXML::XPath.first(@doc, './result')
+    if result
+      @status_code =  result.attributes['status']
+      @status_message = result.text
     end
+  rescue REXML::ParseException => e
+    raise Solr::Exception.new("invalid response xml: #{e}")
+  end
 
+  def ok?
+    return @status_code == '0'
   end
+
 end