module Isomorfeus::BrowserStoreApi

Public Instance Methods

notify_subscribers() click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 30
def notify_subscribers
  return if subscribers.empty?
  after 0 do
    subscribers.each_value do |block|
      block.call
    end
  end
end
promise_clear() click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 15
def promise_clear
  Promise.new.resolve(clear)
end
promise_delete(key) click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 11
def promise_delete(key)
  Promise.new.resolve(delete(key))
end
promise_get(key) click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 3
def promise_get(key)
  Promise.new.resolve(get(key))
end
promise_set(key, value) click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 7
def promise_set(key, value)
  Promise.new.resolve(set(key, value))
end
subscribe(&block) click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 19
def subscribe(&block)
  key = SecureRandom.uuid
  subscribers[key] = block
  key
end
subscribers() click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 39
def subscribers
  @subscribers ||= {}
end
unsubscribe(key) click to toggle source
# File lib/isomorfeus/browser_store_api.rb, line 25
def unsubscribe(key)
  subscribers.delete(key)
  nil
end