class Solecist::Client
Public Class Methods
new(host)
click to toggle source
# File client.rb, line 10 def initialize host @host = host end
Public Instance Methods
all()
click to toggle source
# File client.rb, line 33 def all r = self.class.get(URI.join(host, '/')) raise "failed req: #{r.code}" if r.code == 500 r.parsed_response.map do |url| self.class.get(url).parsed_response end end
get(key, metadata=nil)
click to toggle source
# File client.rb, line 25 def get key, metadata=nil query = metadata.nil? ? nil : { metadata: metadata.to_json } r = self.class.get(url_for(key), query: query) raise "failed req: #{r.code}" if r.code == 500 return nil if r.code == 404 r.parsed_response end
keys()
click to toggle source
# File client.rb, line 41 def keys r = self.class.get(URI.join(host, '/')) raise "failed req: #{r.code}" if r.code == 500 r.parsed_response.map{|l|l.split('/').last} end
set(key, data, view, metadata={})
click to toggle source
# File client.rb, line 14 def set key, data, view, metadata={} post_data = { data: data, view_schema: view, metadata: metadata } r = self.class.post(url_for(key), { body: post_data.to_json }) raise "failed req: #{r.code}" if r.code == 500 r.parsed_response end
Private Instance Methods
host()
click to toggle source
# File client.rb, line 51 def host @host || ENV['SOLECIST_URL'] end
url_for(key)
click to toggle source
# File client.rb, line 48 def url_for key URI.join(host,"/#{key}") end