Sha256: d7f30e78310b5a5323f476fbcd0e536579ef1eb9653ddb61847e55927913c0ab

Contents?: true

Size: 1.2 KB

Versions: 91

Compression:

Stored size: 1.2 KB

Contents

module HBase
  class Scanner
    include XmlDecoder
    
    def initialize(table, scanner_uri)
      @table, @scanner_uri = table, scanner_uri
    end
    
    def close
      
    end
    
    def next
      
    end
    
    def each
      parsed_uri = URI.parse(@scanner_uri)
      Net::HTTP.start(parsed_uri.host, parsed_uri.port) do |session|
        while true
          response = session.post(@scanner_uri, "")

          case response.code.to_i
            when 404
              # over
              break
            when 200
              # item
              yield *parse_row_result(response.body)
            else
              # error
              raise "Unexpected response code #{response.code}, body:\n#{response.body}"
          end
        end
      end
    end

    private
    
    # def parse_row(xml)
    #   doc = REXML::Document.new(xml)
    # 
    #   result = {}
    # 
    #   doc.root.each_element("/row/column") do |column|
    #     name = column.get_elements("name")[0].text.strip
    #     value = column.get_elements("value")[0].text.strip.unpack("m").first
    #     result[name] = value
    #   end
    #   
    #   [doc.root.get_elements("name")[0].text.strip, result]
    # end
    
  end
end

Version data entries

91 entries across 91 versions & 3 rubygems

Version Path
trafficbroker-mandy-0.1.8 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.1.9 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.10 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.11 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.12 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.13 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.2 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.3 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4.2 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4.3 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4.4 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4.5 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4.6 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.4 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.5.1 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.5 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.6 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.7 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2.8 lib/ruby-hbase/scanner.rb
trafficbroker-mandy-0.2 lib/ruby-hbase/scanner.rb