Sha256: f23bfbbb183903c74ef22b8494e9707d3d38d13d90f5e3401433406a58b3cedd
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
module Firebase class Client require 'firebase/request' require 'firebase/response' def self.format_uri(other) if other other.end_with?("/") ? other : other + '/' end end attr_reader :auth, :request def initialize(base_uri, auth=nil) uri = Firebase::Client.format_uri(base_uri) @request = Firebase::Request.new(uri) @auth = auth end # Writes and returns the data # Firebase.set('users/info', { 'name' => 'Oscar' }) => { 'name' => 'Oscar' } def set(path, data, query={}) request.put(path, data, query_options(query)) end # Returns the data at path def get(path, query={}) request.get(path, query_options(query)) end # Writes the data, returns the key name of the data added # Firebase.push('users', { 'age' => 18}) => {"name":"-INOQPH-aV_psbk3ZXEX"} def push(path, data, query={}) request.post(path, data, query_options(query)) end # Deletes the data at path and returs true def delete(path, query={}) request.delete(path, query_options(query)) end # Write the data at path but does not delete ommited children. Returns the data # Firebase.update('users/info', { 'name' => 'Oscar' }) => { 'name' => 'Oscar' } def update(path, data, query={}) request.patch(path, data, query_options(query)) end private def query_options(query) { :auth => auth }.merge(query) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
firebase-0.2.0 | lib/firebase.rb |