summaryrefslogtreecommitdiff
path: root/lib/tapicero/couch_stream.rb
blob: 96c752a7355aaf9a954cd468ca354537be3be2bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require 'yajl/http_stream'

module Tapicero
  class CouchStream
    def initialize(database_url)
      @database_url = database_url
    end

    def get(path, options)
      url = url_for(path, options)
      # puts url
      Yajl::HttpStream.get(url, :symbolize_keys => true) do |hash|
        yield(hash)
      end
    end

    protected

    def url_for(path, options = {})
      url = [@database_url, path].join('/')
      url += '?' if options.any?
      url += options.map {|k,v| "#{k}=#{v}"}.join('&')
    end
  end
end