summaryrefslogtreecommitdiff
path: root/lib/leap_ca/couch_stream.rb
blob: 0c288172859e9c5aaa600e19752d4c3410fede1b (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 LeapCA
  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