Sha256: 5f4a2b2440ad670a57613a69fe56ef23d3f8034cc44fc9c7560783e724ac7d8d
Contents?: true
Size: 1.23 KB
Versions: 3
Compression:
Stored size: 1.23 KB
Contents
require 'typhoeus' require 'json' require 'open-uri' require 'uri' module Firebase class Request attr_reader :base_uri def initialize(base_uri) @base_uri = base_uri end def get(path, query_options) process(:get, path, nil, query_options) end def put(path, value, query_options) process(:put, path, value.to_json, query_options) end def post(path, value, query_options) process(:post, path, value.to_json, query_options) end def delete(path, query_options) process(:delete, path, nil, query_options) end def patch(path, value, query_options) process(:patch, path, value.to_json, query_options) end def build_url(path) path = "#{path}.json" url = URI.join(base_uri, path) url.to_s end private def process(method, path, body=nil, query_options={}) @@hydra ||= Typhoeus::Hydra.new request = Typhoeus::Request.new(build_url(path), :body => body, :method => method, :params => query_options) @@hydra.queue(request) @@hydra.run Firebase::Response.new(request.response) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
firebase-0.2.2 | lib/firebase/request.rb |
firebase-0.2.1 | lib/firebase/request.rb |
firebase-0.2.0 | lib/firebase/request.rb |