Module: SE::Realtime
- Defined in:
- lib/se/realtime.rb,
lib/se/realtime/version.rb,
lib/se/realtime/websocket.rb
Defined Under Namespace
Classes: WSClient
Constant Summary collapse
- VERSION =
"0.0.1".freeze
Class Method Summary collapse
- .batch(size, **opts, &handler) ⇒ Object
- .json(site: nil, &handler) ⇒ Object
- .on_post(&handler) ⇒ Object
- .ws(&block) ⇒ Object
Class Method Details
.batch(size, **opts, &handler) ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/se/realtime.rb', line 21 def batch(size, **opts, &handler) posts = [] json(**opts) do |e| posts << e if posts.length >= size handler.call(posts) posts = [] end end end |
.json(site: nil, &handler) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/se/realtime.rb', line 14 def json(site: nil, &handler) ws do |e| data = clean_keys(JSON.parse(e['data'])) handler.call(data) if data[:site] == site || site.nil? end end |
.on_post(&handler) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/se/realtime.rb', line 7 def on_post(&handler) ws do |e| data = JSON.parse e['data'] handler.call(data) end end |