solecist 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/client.rb +52 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d585cd25e9fbd64595af8a4cf945f3117047f369
4
+ data.tar.gz: 064e5fd9faa0900f8ce5d0f9da215dc108b15b8f
5
+ SHA512:
6
+ metadata.gz: 6b431e52c1e0ea6aace89adaef3630c7231e6da2c6c7078360ab9f6347577faae87f77bc9ca40f1eeb40e2b2b39eb82ec97c0bd7a3df126abe6524ce83b7858a
7
+ data.tar.gz: 7f9cf92252e755aa79acd2f3ca64606b60d4b01a8488a327c099a114c983a8eb06cb4f80ba021ca1bd0b092ca5660fcdd553571ca625c4dd5215158ee860fdb0
data/client.rb ADDED
@@ -0,0 +1,52 @@
1
+ require 'uri'
2
+ require 'httparty'
3
+ require 'json'
4
+
5
+ class Solecist
6
+ class Client
7
+
8
+ include HTTParty
9
+
10
+ def initialize host
11
+ @host = host
12
+ end
13
+
14
+ def set key, data, view
15
+ post_data = {
16
+ data: data,
17
+ view_schema: view
18
+ }
19
+ r = self.class.post(url_for(key), { body: post_data.to_json })
20
+ raise "failed req: #{r.code}" if r.code == 500
21
+ r.parsed_response
22
+ end
23
+
24
+ def get key
25
+ r = self.class.get(url_for(key))
26
+ raise "failed req: #{r.code}" if r.code == 500
27
+ r.parsed_response
28
+ end
29
+
30
+ def all
31
+ r = self.class.get(URI.join(host, '/'))
32
+ raise "failed req: #{r.code}" if r.code == 500
33
+ r.parsed_response.map do |url|
34
+ self.class.get(url).parsed_response
35
+ end
36
+ end
37
+
38
+ def keys
39
+ r = self.class.get(URI.join(host, '/'))
40
+ raise "failed req: #{r.code}" if r.code == 500
41
+ r.parsed_response.map{|l|l.split('/').last}
42
+ end
43
+
44
+ private
45
+ def url_for key
46
+ URI.join(host,"/#{key}")
47
+ end
48
+ def host
49
+ @host || ENV['SOLECIST_URL']
50
+ end
51
+ end
52
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: solecist
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Robby Ranshous
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: client for solecist document store
28
+ email: rranshous@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - client.rb
34
+ homepage: https://github.com/rranshous/solecist
35
+ licenses:
36
+ - BeerWare
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - "."
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.4.5
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: client for solecist document store
58
+ test_files: []