Sha256: 70cf61f36b8fc2c4b08aca2746f3c54d67478afa75c1a7f4bbdfd4be91575bd0
Contents?: true
Size: 1.75 KB
Versions: 1
Compression:
Stored size: 1.75 KB
Contents
# # Yogo Data Management Toolkit : Persevere Wrapper # (c) 2008-2009 Montana State University # Ivan R. Judson # # This provides a relatively simple interface to access the Persevere # JSON data store. More information about Persevere can be found here: # http://www.persvr.org/ # require 'net/http' require 'uri' require 'rubygems' require 'json' class PersevereResult attr_reader :location, :code, :message, :body def PersevereResult.make(response) return PersevereResult.new(response["Location"], response.code, response.msg, response.body) end def initialize(location, code, message, body) @location = location @code = code @message = message @body = body end def to_s super + " < Location: #{ @location } Code: #{ @code } Message: #{ @message } >" end end class Persevere VERSION = '1.0.2' ACCEPT = { 'Accept' => 'application/json' } attr_accessor :server_url, :pservr def initialize(url) @server_url = url server = URI.parse(@server_url) @persevere = Net::HTTP.new(server.host, server.port) end # Pass in a resource hash def create(path, resource) json_blob = resource.to_json response = @persevere.send_request('POST', path, json_blob, ACCEPT) return PersevereResult.make(response) end def retrieve(path) response = @persevere.send_request('GET', path, nil, ACCEPT) return PersevereResult.make(response) end def update(path, resource) json_blob = resource.to_json response = @persevere.send_request('PUT', path, json_blob, ACCEPT) return PersevereResult.make(response) end def delete(path) response = @persevere.send_request('DELETE', path, nil, ACCEPT) return PersevereResult.make(response) end end # class Persevere
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
irjudson-persevere-1.0.3 | lib/persevere.rb |