Utility Methods API for Ruby SDK
The methods on this page are utility methods that don't fit into other categories.
Time
This function will return a 17 digit precision Unix epoch.
Algorithm constructing the timetoken
1timetoken = (Unix epoch time in seconds) * 10000000
Convert back and forth between current time and a timetoken:
1now = Time.now
22012-11-02 14:27:11 -0700
3
4timetoken = now.to_f * 10000000
513518916319742640
6
7Time.at(timetoken / 10000000)
82012-11-02 14:27:11 -0700
Method(s)
To fetch Time
you can use the following method(s) in Ruby SDK:
1time(
2 http_sync: http_sync,
3 callback: callback
4)
* required
Parameter | Description |
---|---|
http_sync Type: Boolean | Default false . Method will be executed asynchronously and will return future, to get it's value you can use value method. If set to true , method will return array of envelopes (even if there's only one envelope ). For sync methods Envelope object will be returned. |
callback Type: Lambda accepting one parameter | Callback that will be called for each envelope . For async methods future will be returned, to retrieve value Envelope object you have to call value method (thread will be locked until the value is returned). |
Sample code
Get PubNub timetoken
Reference code
This example is a self-contained code snippet ready to be run. It includes necessary imports and executes methods with console logging. Use it as a reference when working with other examples in this document.
1require 'pubnub'
2
3def get_pubnub_timetoken(pubnub)
4 pubnub.time do |envelope|
5 if envelope.status[:error]
6 puts "Error fetching timetoken: #{envelope.status[:error]}"
7 else
8 puts "PubNub Timetoken: #{envelope.result[:data][:timetoken]}"
9 end
10 end
11end
12
13def main
14 # Configuration for PubNub instance
15 pubnub = Pubnub.new(
show all 26 linesRest response from server
The time()
function returns a string timetoken in the following format:
113769501243685161