From 3e8fe881d87e16f60e1445d561339101301a1f8b Mon Sep 17 00:00:00 2001 From: gobinathal Date: Sat, 17 Feb 2024 12:29:27 +0530 Subject: [PATCH] support increment server value --- lib/firebase/server_value.rb | 4 ++++ spec/firebase_spec.rb | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/firebase/server_value.rb b/lib/firebase/server_value.rb index afbf24b..ce53f66 100644 --- a/lib/firebase/server_value.rb +++ b/lib/firebase/server_value.rb @@ -1,5 +1,9 @@ module Firebase class ServerValue TIMESTAMP = { '.sv' => 'timestamp' }.freeze + + def self.increment amount + {'.sv' => { 'increment' => amount } } + end end end diff --git a/spec/firebase_spec.rb b/spec/firebase_spec.rb index 94479be..689ec8e 100644 --- a/spec/firebase_spec.rb +++ b/spec/firebase_spec.rb @@ -141,4 +141,14 @@ }) end end + + describe "server values" do + let (:increment) do + {'.sv' => { 'increment' => 1 } } + end + it "should increment" do + expect(@firebase).to receive(:process).with(:put, 'users/info', increment, {}) + @firebase.set('users/info', Firebase::ServerValue.increment(1)) + end + end end