class Slacklet::Store
Constants
- VERSION
Public Class Methods
new(base_url, token)
click to toggle source
# File lib/slacklet/store.rb, line 11 def initialize(base_url, token) @token = token @base_url = base_url end
Public Instance Methods
delete(key)
click to toggle source
# File lib/slacklet/store.rb, line 26 def delete(key) request(:delete, "/records/#{key}") end
get(key)
click to toggle source
# File lib/slacklet/store.rb, line 16 def get(key) request(:get, "/records/#{key}")["value"] rescue RecordNotFound return nil end
set(key, value)
click to toggle source
# File lib/slacklet/store.rb, line 22 def set(key, value) request(:put, "/records/#{key}", value: value) end
Private Instance Methods
request(method, path, params = {})
click to toggle source
# File lib/slacklet/store.rb, line 32 def request(method, path, params = {}) resp = Faraday.send(method, "#{@base_url}#{path}", params) do |req| req.headers["x-store-token"] = @token end data = JSON.load(resp.body) if resp.success? return data end case resp.status when 404 raise RecordNotFound.new(data["message"]) else raise Error.new(data["message"]) end end