fauna 1.2 → 1.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.
- data/CHANGELOG +3 -1
- data/Gemfile +1 -1
- data/README.md +3 -3
- data/Rakefile +2 -2
- data/fauna.gemspec +9 -12
- data/lib/fauna.rb +1 -0
- data/lib/fauna/cache.rb +8 -0
- data/lib/fauna/client.rb +4 -0
- data/lib/fauna/connection.rb +57 -26
- data/lib/fauna/resource.rb +2 -1
- data/test/class_test.rb +2 -0
- data/test/client_test.rb +1 -1
- data/test/connection_test.rb +15 -0
- data/test/database_test.rb +12 -3
- data/test/test_helper.rb +6 -0
- metadata +54 -71
- checksums.yaml +0 -15
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
data/CHANGELOG
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -89,13 +89,13 @@ fields:
|
|
89
89
|
|
90
90
|
```ruby
|
91
91
|
Fauna::Client.context($fauna) do
|
92
|
-
user = Fauna::Resource.create('users', constraints: "taran77")
|
92
|
+
user = Fauna::Resource.create('users', constraints: {"username" => "taran77"})
|
93
93
|
|
94
94
|
# fields
|
95
95
|
user.ref # => "users/123"
|
96
96
|
user.ts # => 2013-01-30 13:02:46 -0800
|
97
|
-
user.deleted
|
98
|
-
user.constraints # => "taran77"
|
97
|
+
user.deleted? # => false
|
98
|
+
user.constraints # => {"username" => "taran77"}
|
99
99
|
|
100
100
|
# data and references
|
101
101
|
user.data # => {}
|
data/Rakefile
CHANGED
@@ -3,13 +3,13 @@ require 'echoe'
|
|
3
3
|
Echoe.new("fauna") do |p|
|
4
4
|
p.author = "Fauna, Inc."
|
5
5
|
p.project = "fauna"
|
6
|
-
p.summary = "
|
6
|
+
p.summary = "Experimental Ruby client for the Fauna database."
|
7
7
|
p.retain_gemspec = true
|
8
8
|
p.require_signed
|
9
9
|
p.certificate_chain = ["fauna-ruby.pem"]
|
10
10
|
p.licenses = ["Mozilla Public License, Version 2.0 (MPL2)"]
|
11
11
|
p.dependencies = ["typhoeus", "json"]
|
12
|
-
p.development_dependencies = ["mocha", "echoe", "minitest"]
|
12
|
+
p.development_dependencies = ["mocha", "echoe", "minitest ~>4.0"]
|
13
13
|
end
|
14
14
|
|
15
15
|
task :beautify do
|
data/fauna.gemspec
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: fauna 1.2 ruby lib
|
3
2
|
|
4
3
|
Gem::Specification.new do |s|
|
5
4
|
s.name = "fauna"
|
6
|
-
s.version = "1.
|
5
|
+
s.version = "1.3"
|
7
6
|
|
8
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
9
8
|
s.authors = ["Fauna, Inc."]
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.description = "Official Ruby client for the Fauna API."
|
9
|
+
s.date = "2014-03-31"
|
10
|
+
s.description = "Experimental Ruby client for the Fauna database."
|
13
11
|
s.email = ""
|
14
12
|
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.md", "lib/fauna.rb", "lib/fauna/cache.rb", "lib/fauna/client.rb", "lib/fauna/connection.rb", "lib/fauna/named_resource.rb", "lib/fauna/rails.rb", "lib/fauna/resource.rb", "lib/fauna/set.rb", "lib/fauna/util.rb", "lib/tasks/fauna.rake"]
|
15
13
|
s.files = ["CHANGELOG", "Gemfile", "LICENSE", "Manifest", "README.md", "Rakefile", "fauna-ruby.pem", "fauna.gemspec", "lib/fauna.rb", "lib/fauna/cache.rb", "lib/fauna/client.rb", "lib/fauna/connection.rb", "lib/fauna/named_resource.rb", "lib/fauna/rails.rb", "lib/fauna/resource.rb", "lib/fauna/set.rb", "lib/fauna/util.rb", "lib/tasks/fauna.rake", "test/class_test.rb", "test/client_test.rb", "test/connection_test.rb", "test/database_test.rb", "test/query_test.rb", "test/readme_test.rb", "test/set_test.rb", "test/test_helper.rb"]
|
@@ -18,32 +16,31 @@ Gem::Specification.new do |s|
|
|
18
16
|
s.rdoc_options = ["--line-numbers", "--title", "Fauna", "--main", "README.md"]
|
19
17
|
s.require_paths = ["lib"]
|
20
18
|
s.rubyforge_project = "fauna"
|
21
|
-
s.rubygems_version = "
|
22
|
-
s.
|
23
|
-
s.summary = "Official Ruby client for the Fauna API."
|
19
|
+
s.rubygems_version = "1.8.24"
|
20
|
+
s.summary = "Experimental Ruby client for the Fauna database."
|
24
21
|
s.test_files = ["test/class_test.rb", "test/client_test.rb", "test/connection_test.rb", "test/database_test.rb", "test/query_test.rb", "test/readme_test.rb", "test/set_test.rb", "test/test_helper.rb"]
|
25
22
|
|
26
23
|
if s.respond_to? :specification_version then
|
27
|
-
s.specification_version =
|
24
|
+
s.specification_version = 3
|
28
25
|
|
29
26
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
30
27
|
s.add_runtime_dependency(%q<typhoeus>, [">= 0"])
|
31
28
|
s.add_runtime_dependency(%q<json>, [">= 0"])
|
32
29
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
33
30
|
s.add_development_dependency(%q<echoe>, [">= 0"])
|
34
|
-
s.add_development_dependency(%q<minitest>, ["
|
31
|
+
s.add_development_dependency(%q<minitest>, ["~> 4.0"])
|
35
32
|
else
|
36
33
|
s.add_dependency(%q<typhoeus>, [">= 0"])
|
37
34
|
s.add_dependency(%q<json>, [">= 0"])
|
38
35
|
s.add_dependency(%q<mocha>, [">= 0"])
|
39
36
|
s.add_dependency(%q<echoe>, [">= 0"])
|
40
|
-
s.add_dependency(%q<minitest>, ["
|
37
|
+
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
41
38
|
end
|
42
39
|
else
|
43
40
|
s.add_dependency(%q<typhoeus>, [">= 0"])
|
44
41
|
s.add_dependency(%q<json>, [">= 0"])
|
45
42
|
s.add_dependency(%q<mocha>, [">= 0"])
|
46
43
|
s.add_dependency(%q<echoe>, [">= 0"])
|
47
|
-
s.add_dependency(%q<minitest>, ["
|
44
|
+
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
48
45
|
end
|
49
46
|
end
|
data/lib/fauna.rb
CHANGED
data/lib/fauna/cache.rb
CHANGED
@@ -38,6 +38,14 @@ module Fauna
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
+
def patch(ref, data)
|
42
|
+
res = @connection.patch(ref, data)
|
43
|
+
if res['resource']
|
44
|
+
update_cache(ref, res)
|
45
|
+
res['resource']
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
41
49
|
def delete(ref, data)
|
42
50
|
@connection.delete(ref, data)
|
43
51
|
@cache.delete(ref)
|
data/lib/fauna/client.rb
CHANGED
data/lib/fauna/connection.rb
CHANGED
@@ -1,45 +1,59 @@
|
|
1
1
|
module Fauna
|
2
2
|
class Connection
|
3
3
|
class Error < RuntimeError
|
4
|
-
attr_reader :
|
5
|
-
|
6
|
-
def initialize(
|
7
|
-
|
8
|
-
|
4
|
+
attr_reader :error, :reason, :fields
|
5
|
+
|
6
|
+
def initialize(error, reason = nil, fields = {})
|
7
|
+
if error.is_a? Hash
|
8
|
+
json = error
|
9
|
+
@error = json['error']
|
10
|
+
@reason = json['reason']
|
11
|
+
@fields = json['fields'] || {}
|
12
|
+
else
|
13
|
+
@error = error
|
14
|
+
@reason = reason
|
15
|
+
@fields = fields
|
16
|
+
end
|
17
|
+
|
18
|
+
super(@reason ? "#{@error}: #{@reason}" : @error)
|
9
19
|
end
|
10
20
|
end
|
11
21
|
|
12
22
|
class NotFound < Error; end
|
13
23
|
class BadRequest < Error; end
|
14
24
|
class Unauthorized < Error; end
|
15
|
-
class
|
25
|
+
class PermissionDenied < Error; end
|
26
|
+
class MethodNotAllowed < Error; end
|
16
27
|
class NetworkError < Error; end
|
17
28
|
|
18
|
-
HANDLER = Proc.new do |res, _, _|
|
29
|
+
HANDLER = Proc.new do |res, body, _, _|
|
19
30
|
case res.code
|
20
31
|
when 200..299
|
21
|
-
res
|
32
|
+
[res.headers, body]
|
22
33
|
when 400
|
23
|
-
|
24
|
-
raise BadRequest.new(json['error'], json['param_errors'])
|
34
|
+
raise BadRequest.new(JSON.parse(body))
|
25
35
|
when 401
|
26
|
-
raise Unauthorized
|
36
|
+
raise Unauthorized.new(JSON.parse(body))
|
37
|
+
when 403
|
38
|
+
raise PermissionDenied.new(JSON.parse(body))
|
27
39
|
when 404
|
28
|
-
raise NotFound
|
40
|
+
raise NotFound.new(JSON.parse(body))
|
29
41
|
when 405
|
30
|
-
raise
|
42
|
+
raise MethodNotAllowed.new(JSON.parse(body))
|
31
43
|
else
|
32
|
-
raise NetworkError,
|
44
|
+
raise NetworkError, body
|
33
45
|
end
|
34
46
|
end
|
35
47
|
|
36
|
-
attr_reader :domain, :scheme, :port, :credentials
|
48
|
+
attr_reader :domain, :scheme, :port, :credentials, :timeout
|
37
49
|
|
38
50
|
def initialize(params={})
|
39
51
|
@logger = params[:logger] || nil
|
40
52
|
@domain = params[:domain] || "rest1.fauna.org"
|
41
53
|
@scheme = params[:scheme] || "https"
|
42
54
|
@port = params[:port] || (@scheme == "https" ? 443 : 80)
|
55
|
+
@timeout = params[:timeout] || 60000
|
56
|
+
@connecttimeout = params[:connecttimeout] || 60000
|
43
57
|
|
44
58
|
if ENV["FAUNA_DEBUG"]
|
45
59
|
@logger = Logger.new(STDERR)
|
@@ -49,19 +63,19 @@ module Fauna
|
|
49
63
|
end
|
50
64
|
|
51
65
|
def get(ref, query = {})
|
52
|
-
parse(execute(:get, ref, nil, query))
|
66
|
+
parse(*execute(:get, ref, nil, query))
|
53
67
|
end
|
54
68
|
|
55
69
|
def post(ref, data = {})
|
56
|
-
parse(execute(:post, ref, data))
|
70
|
+
parse(*execute(:post, ref, data))
|
57
71
|
end
|
58
72
|
|
59
73
|
def put(ref, data = {})
|
60
|
-
parse(execute(:put, ref, data))
|
74
|
+
parse(*execute(:put, ref, data))
|
61
75
|
end
|
62
76
|
|
63
77
|
def patch(ref, data = {})
|
64
|
-
parse(execute(:patch, ref, data))
|
78
|
+
parse(*execute(:patch, ref, data))
|
65
79
|
end
|
66
80
|
|
67
81
|
def delete(ref, data = {})
|
@@ -71,9 +85,9 @@ module Fauna
|
|
71
85
|
|
72
86
|
private
|
73
87
|
|
74
|
-
def parse(
|
75
|
-
obj =
|
76
|
-
obj.merge!("headers" =>
|
88
|
+
def parse(headers, body)
|
89
|
+
obj = body.empty? ? {} : JSON.parse(body)
|
90
|
+
obj.merge!("headers" => headers)
|
77
91
|
obj
|
78
92
|
end
|
79
93
|
|
@@ -93,15 +107,30 @@ module Fauna
|
|
93
107
|
end
|
94
108
|
end
|
95
109
|
|
110
|
+
def inflate(response)
|
111
|
+
if ["gzip", "deflate"].include?(response.headers["Content-Encoding"])
|
112
|
+
Zlib::GzipReader.new(StringIO.new(response.body.to_s), :external_encoding => Encoding::UTF_8).read
|
113
|
+
else
|
114
|
+
response.body.to_s
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
96
118
|
def execute(action, ref, data = nil, query = nil)
|
97
|
-
request = Typhoeus::Request.new(
|
119
|
+
request = Typhoeus::Request.new(
|
120
|
+
url(ref),
|
121
|
+
:method => action,
|
122
|
+
:timeout_ms => @timeout,
|
123
|
+
:connecttimeout_ms => @connecttimeout,
|
124
|
+
:headers => { "Accept-Encoding" => "gzip" }
|
125
|
+
)
|
98
126
|
request.options[:params] = query if query.is_a?(Hash)
|
99
127
|
|
100
128
|
if data.is_a?(Hash)
|
101
|
-
request.options[:headers]
|
129
|
+
request.options[:headers].merge!("Content-Type" => "application/json;charset=utf-8")
|
102
130
|
request.options[:body] = data.to_json
|
103
131
|
end
|
104
132
|
|
133
|
+
body = ""
|
105
134
|
if @logger
|
106
135
|
log(2) { "Fauna #{action.to_s.upcase} /#{ref}#{query_string_for_logging(query)}" }
|
107
136
|
log(4) { "Credentials: #{@credentials}" } if @debug
|
@@ -110,15 +139,17 @@ module Fauna
|
|
110
139
|
t0, r0 = Process.times, Time.now
|
111
140
|
request.run
|
112
141
|
t1, r1 = Process.times, Time.now
|
142
|
+
body = inflate(request.response)
|
113
143
|
|
114
144
|
real = r1.to_f - r0.to_f
|
115
145
|
cpu = (t1.utime - t0.utime) + (t1.stime - t0.stime) + (t1.cutime - t0.cutime) + (t1.cstime - t0.cstime)
|
116
|
-
log(4) { ["Response headers: #{JSON.pretty_generate(request.response.headers)}", "Response JSON: #{
|
146
|
+
log(4) { ["Response headers: #{JSON.pretty_generate(request.response.headers)}", "Response JSON: #{body}"] } if @debug
|
117
147
|
log(4) { "Response (#{request.response.code}): API processing #{request.response.headers["X-HTTP-Request-Processing-Time"]}ms, network latency #{((real - cpu)*1000).to_i}ms, local processing #{(cpu*1000).to_i}ms" }
|
118
148
|
else
|
119
149
|
request.run
|
150
|
+
body = inflate(request.response)
|
120
151
|
end
|
121
|
-
HANDLER.call(request.response)
|
152
|
+
HANDLER.call(request.response, body)
|
122
153
|
end
|
123
154
|
|
124
155
|
def url(ref)
|
data/lib/fauna/resource.rb
CHANGED
@@ -49,6 +49,7 @@ module Fauna
|
|
49
49
|
def constraints; struct['constraints'] ||= {} end
|
50
50
|
def data; struct['data'] ||= {} end
|
51
51
|
def references; struct['references'] ||= {} end
|
52
|
+
def permissions; struct['permissions'] ||= {} end
|
52
53
|
|
53
54
|
def events(pagination = {})
|
54
55
|
EventsPage.find("#{ref}/events", {}, pagination)
|
@@ -94,7 +95,7 @@ module Fauna
|
|
94
95
|
|
95
96
|
def new_record?; ref.nil? end
|
96
97
|
|
97
|
-
def deleted?; deleted end
|
98
|
+
def deleted?; !!deleted end
|
98
99
|
|
99
100
|
def persisted?; !(new_record? || deleted?) end
|
100
101
|
|
data/test/class_test.rb
CHANGED
data/test/client_test.rb
CHANGED
@@ -18,7 +18,7 @@ class ClientTest < MiniTest::Unit::TestCase
|
|
18
18
|
Fauna::Client.context(@client_connection) do
|
19
19
|
user = Fauna::Resource.create("users", @attributes)
|
20
20
|
Fauna::Client.context(@client_connection) do
|
21
|
-
assert_raises(Fauna::Connection::
|
21
|
+
assert_raises(Fauna::Connection::PermissionDenied) do
|
22
22
|
instance = Fauna::Resource.create("classes/posts", @attributes)
|
23
23
|
end
|
24
24
|
end
|
data/test/connection_test.rb
CHANGED
@@ -24,7 +24,22 @@ class ConnectionTest < MiniTest::Unit::TestCase
|
|
24
24
|
def test_put
|
25
25
|
user = @server_connection.post("users", @attributes)['resource']
|
26
26
|
user = @server_connection.put(user['ref'], {:data => {:pockets => 2}})['resource']
|
27
|
+
|
28
|
+
assert_equal 2, user['data']['pockets']
|
29
|
+
|
30
|
+
user = @server_connection.put(user['ref'], {:data => {:apples => 3}})['resource']
|
31
|
+
|
32
|
+
assert_nil user['data']['pockets']
|
33
|
+
assert_equal 3, user['data']['apples']
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_patch
|
37
|
+
user = @server_connection.post("users", @attributes)['resource']
|
38
|
+
user = @server_connection.patch(user['ref'], {:data => {:pockets => 2}})['resource']
|
39
|
+
user = @server_connection.patch(user['ref'], {:data => {:apples => 3}})['resource']
|
40
|
+
|
27
41
|
assert_equal 2, user['data']['pockets']
|
42
|
+
assert_equal 3, user['data']['apples']
|
28
43
|
end
|
29
44
|
|
30
45
|
def test_delete
|
data/test/database_test.rb
CHANGED
@@ -11,17 +11,26 @@ class DatabaseTest < MiniTest::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_get
|
14
|
-
assert_raises(Fauna::Connection::
|
14
|
+
assert_raises(Fauna::Connection::PermissionDenied) do
|
15
15
|
Fauna::Resource.find("databases/fauna-ruby-test")
|
16
16
|
end
|
17
|
+
|
18
|
+
assert_raises(Fauna::Connection::PermissionDenied) do
|
19
|
+
Fauna::Resource.find("databases/nonexistent")
|
20
|
+
end
|
21
|
+
|
17
22
|
Fauna::Client.context(@root_connection) do
|
18
23
|
Fauna::Resource.find("databases/fauna-ruby-test")
|
19
24
|
Fauna::Resource.find("databases/fauna-ruby-test2")
|
25
|
+
|
26
|
+
assert_raises(Fauna::Connection::NotFound) do
|
27
|
+
Fauna::Resource.find("databases/nonexistent")
|
28
|
+
end
|
20
29
|
end
|
21
30
|
end
|
22
31
|
|
23
32
|
def test_create
|
24
|
-
assert_raises(Fauna::Connection::
|
33
|
+
assert_raises(Fauna::Connection::PermissionDenied) do
|
25
34
|
@model.save
|
26
35
|
end
|
27
36
|
Fauna::Client.context(@root_connection) do
|
@@ -30,7 +39,7 @@ class DatabaseTest < MiniTest::Unit::TestCase
|
|
30
39
|
end
|
31
40
|
|
32
41
|
def test_destroy
|
33
|
-
assert_raises(Fauna::Connection::
|
42
|
+
assert_raises(Fauna::Connection::PermissionDenied) do
|
34
43
|
@model.delete
|
35
44
|
end
|
36
45
|
Fauna::Client.context(@root_connection) do
|
data/test/test_helper.rb
CHANGED
@@ -39,9 +39,15 @@ Fauna::Client.context(SERVER_CONNECTION) do
|
|
39
39
|
Fauna::Resource.create 'classes', :name => 'posts'
|
40
40
|
Fauna::Resource.create 'classes', :name => 'comments'
|
41
41
|
|
42
|
+
# open client key user creation
|
43
|
+
users = Fauna::Resource.find 'users'
|
44
|
+
users.permissions = { :create => 'public' }
|
45
|
+
users.save
|
46
|
+
|
42
47
|
# Fixture for readme_test
|
43
48
|
pig = Fauna::Resource.new('classes/pigs/42471470493859841')
|
44
49
|
pig.ref = 'classes/pigs/42471470493859841'
|
50
|
+
pig.class = 'classes/pigs'
|
45
51
|
pig.save
|
46
52
|
end
|
47
53
|
|
metadata
CHANGED
@@ -1,115 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fauna
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.3'
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Fauna, Inc.
|
8
|
-
autorequire:
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURhRENDQWxDZ0F3SUJB
|
13
|
-
Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREE5TVEwd0N3WURWUVFEREFSbGRt
|
14
|
-
RnUKTVJnd0ZnWUtDWkltaVpQeUxHUUJHUllJWTJ4dmRXUmlkWEl4RWpBUUJn
|
15
|
-
b0praWFKay9Jc1pBRVpGZ0p6ZERBZQpGdzB4TXpFeE1EUXlNREkxTURWYUZ3
|
16
|
-
MHhOREV4TURReU1ESTFNRFZhTUQweERUQUxCZ05WQkFNTUJHVjJZVzR4CkdE
|
17
|
-
QVdCZ29Ka2lhSmsvSXNaQUVaRmdoamJHOTFaR0oxY2pFU01CQUdDZ21TSm9t
|
18
|
-
VDhpeGtBUmtXQW5OME1JSUIKSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4
|
19
|
-
QU1JSUJDZ0tDQVFFQXVHNHEySWRUdGxjNy9JSmtXUG5iT0FGdAp5c0tjM1ht
|
20
|
-
TEhzamVTWFhTUGRRMW1iMmNEWHZ5RFM4VGt6anJnRG9KOTZSUjJ4cmg3YmZr
|
21
|
-
SEFNSmhTVk1oc1BNCnJuWVM3ZkRzLy9YMWg2ZlJZQmpqaHFHZVFoQ0wxeHJT
|
22
|
-
NS9JNHZLYjdBamdGbnVVYk1aL0gwK2ljMkljMnpUbloKanR0U1FaL1FPbFl5
|
23
|
-
Y3RyWW9UekFGZFB3TCtkT3hza095QW1BYnRWL3BWM293Y1hwQ2hSVC90cGhD
|
24
|
-
N3U2OXNPaworSWpXc013ckJDYkVkai9KbWg0YTUyUW50QXdQV3g0S3J0MHpt
|
25
|
-
OGVWMy9ValNPYkIzQlIxcFovaTVJc1NMUHMxCmx3TUE2eXdiZnhCVFA1OVhj
|
26
|
-
Z0F5aGZWM3JSUVhiK3ZqcGY3T0x1T0NKT1VJTjhHRXdiNUhOakZvL1VWZGl3
|
27
|
-
SUQKQVFBQm8zTXdjVEFKQmdOVkhSTUVBakFBTUFzR0ExVWREd1FFQXdJRXNE
|
28
|
-
QWRCZ05WSFE0RUZnUVViVENxeXlkbgowUm02bm5nZjE1S3RDRU1jMzdzd0d3
|
29
|
-
WURWUjBSQkJRd0VvRVFaWFpoYmtCamJHOTFaR0oxY2k1emREQWJCZ05WCkhS
|
30
|
-
SUVGREFTZ1JCbGRtRnVRR05zYjNWa1luVnlMbk4wTUEwR0NTcUdTSWIzRFFF
|
31
|
-
QkJRVUFBNElCQVFCZ2dHR2IKMEFveUYwUW9memtQSW11aE4xVUY2ZUcvUmRZ
|
32
|
-
T0hxaVVvdnVSTi85SWJseUtBYVpBSWwxbUlzcGZDYXY4RVZ3bwpTQzZ2ejRP
|
33
|
-
YUlWcFM3UWRJMDRvTE5IeGhtQzZDNVRUQk9OdGRkRGw5M00rOXVXVmlwRDV1
|
34
|
-
VlBrdGNIV0crYktuCjJMMWxVeWtRWHI4cmE0NVRxQVVaL1ArWXY3NlU4a1Vz
|
35
|
-
VkcySEU1Z2wvQ2dCNStWMXFrcG41TTRDQURzdlN2UEEKcUVBVFp2dytLVXp6
|
36
|
-
TUNVaVZ6cStUNmxEcnJDdCtzRDNOWmx2RzRCRDJQcFF1UHREZjFpNjFEVWMr
|
37
|
-
NXMyTndtMgp0NHVxTkY3c3dCV1MwbjQwL2htbjV1OHBUMkpWc3V3YW03OUdH
|
38
|
-
aEptTmZDZFBDY0NiZ3Bocm9leFJjcndkVVJYCmx5MDBYZGYxZ0RWQnhSb1IK
|
39
|
-
LS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
40
|
-
date: 2013-11-04 00:00:00.000000000 Z
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-03-31 00:00:00.000000000 Z
|
41
13
|
dependencies:
|
42
14
|
- !ruby/object:Gem::Dependency
|
43
15
|
name: typhoeus
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - ! '>='
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '0'
|
49
|
-
type: :runtime
|
50
|
-
prerelease: false
|
51
16
|
version_requirements: !ruby/object:Gem::Requirement
|
52
17
|
requirements:
|
53
|
-
- -
|
18
|
+
- - '>='
|
54
19
|
- !ruby/object:Gem::Version
|
55
20
|
version: '0'
|
56
|
-
|
57
|
-
name: json
|
21
|
+
none: false
|
58
22
|
requirement: !ruby/object:Gem::Requirement
|
59
23
|
requirements:
|
60
|
-
- -
|
24
|
+
- - '>='
|
61
25
|
- !ruby/object:Gem::Version
|
62
26
|
version: '0'
|
63
|
-
|
27
|
+
none: false
|
64
28
|
prerelease: false
|
29
|
+
type: :runtime
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
65
32
|
version_requirements: !ruby/object:Gem::Requirement
|
66
33
|
requirements:
|
67
|
-
- -
|
34
|
+
- - '>='
|
68
35
|
- !ruby/object:Gem::Version
|
69
36
|
version: '0'
|
70
|
-
|
71
|
-
name: mocha
|
37
|
+
none: false
|
72
38
|
requirement: !ruby/object:Gem::Requirement
|
73
39
|
requirements:
|
74
|
-
- -
|
40
|
+
- - '>='
|
75
41
|
- !ruby/object:Gem::Version
|
76
42
|
version: '0'
|
77
|
-
|
43
|
+
none: false
|
78
44
|
prerelease: false
|
45
|
+
type: :runtime
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mocha
|
79
48
|
version_requirements: !ruby/object:Gem::Requirement
|
80
49
|
requirements:
|
81
|
-
- -
|
50
|
+
- - '>='
|
82
51
|
- !ruby/object:Gem::Version
|
83
52
|
version: '0'
|
84
|
-
|
85
|
-
name: echoe
|
53
|
+
none: false
|
86
54
|
requirement: !ruby/object:Gem::Requirement
|
87
55
|
requirements:
|
88
|
-
- -
|
56
|
+
- - '>='
|
89
57
|
- !ruby/object:Gem::Version
|
90
58
|
version: '0'
|
91
|
-
|
59
|
+
none: false
|
92
60
|
prerelease: false
|
61
|
+
type: :development
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: echoe
|
93
64
|
version_requirements: !ruby/object:Gem::Requirement
|
94
65
|
requirements:
|
95
|
-
- -
|
66
|
+
- - '>='
|
96
67
|
- !ruby/object:Gem::Version
|
97
68
|
version: '0'
|
98
|
-
|
99
|
-
name: minitest
|
69
|
+
none: false
|
100
70
|
requirement: !ruby/object:Gem::Requirement
|
101
71
|
requirements:
|
102
|
-
- -
|
72
|
+
- - '>='
|
103
73
|
- !ruby/object:Gem::Version
|
104
74
|
version: '0'
|
105
|
-
|
75
|
+
none: false
|
106
76
|
prerelease: false
|
77
|
+
type: :development
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: minitest
|
107
80
|
version_requirements: !ruby/object:Gem::Requirement
|
108
81
|
requirements:
|
109
|
-
- -
|
82
|
+
- - ~>
|
110
83
|
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
|
-
|
84
|
+
version: '4.0'
|
85
|
+
none: false
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '4.0'
|
91
|
+
none: false
|
92
|
+
prerelease: false
|
93
|
+
type: :development
|
94
|
+
description: Experimental Ruby client for the Fauna database.
|
113
95
|
email: ''
|
114
96
|
executables: []
|
115
97
|
extensions: []
|
@@ -157,8 +139,7 @@ files:
|
|
157
139
|
homepage: http://fauna.github.com/fauna/
|
158
140
|
licenses:
|
159
141
|
- Mozilla Public License, Version 2.0 (MPL2)
|
160
|
-
|
161
|
-
post_install_message:
|
142
|
+
post_install_message:
|
162
143
|
rdoc_options:
|
163
144
|
- --line-numbers
|
164
145
|
- --title
|
@@ -169,20 +150,22 @@ require_paths:
|
|
169
150
|
- lib
|
170
151
|
required_ruby_version: !ruby/object:Gem::Requirement
|
171
152
|
requirements:
|
172
|
-
- -
|
153
|
+
- - '>='
|
173
154
|
- !ruby/object:Gem::Version
|
174
155
|
version: '0'
|
156
|
+
none: false
|
175
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
176
158
|
requirements:
|
177
|
-
- -
|
159
|
+
- - '>='
|
178
160
|
- !ruby/object:Gem::Version
|
179
161
|
version: '1.2'
|
162
|
+
none: false
|
180
163
|
requirements: []
|
181
164
|
rubyforge_project: fauna
|
182
|
-
rubygems_version:
|
183
|
-
signing_key:
|
184
|
-
specification_version:
|
185
|
-
summary:
|
165
|
+
rubygems_version: 1.8.24
|
166
|
+
signing_key:
|
167
|
+
specification_version: 3
|
168
|
+
summary: Experimental Ruby client for the Fauna database.
|
186
169
|
test_files:
|
187
170
|
- test/class_test.rb
|
188
171
|
- test/client_test.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
OTc2NGU4ZGEyZmI5NjNmYzgyNDY5MGM4YWFhYTEwMDg4YmMyNWM5Yw==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MjFlMGZmNDYyZWNiMDM0ODU5MjkxNTY0NDkzYjQ4ZjA0MmM3ZmM3YQ==
|
7
|
-
SHA512:
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
Y2ZjYWVkMmU3MzY2ZmRhZTY2YjRiNWMzMDA2Yzc5NjkzODJjZTY2YzlmOThk
|
10
|
-
NzBkNDQ4ZDVhOWIzYjk5MGQwYjU0MjRiMGMzODllOGQyN2ZhNmFiNGQ5ZjZm
|
11
|
-
ZTBjZjI3ZmFhY2NkMDczMjdiM2MxN2NjNTIzMDdmZWZlM2QyMWY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YTk2Njk2ODIyMGZmN2NkYjZjZDAyZGJiZWM0NWVkOTFjMGRjZmQ5ZTQ0MTE1
|
14
|
-
NjBkN2JkMDdjZDJkNWMzZWJhNTllODNjOWUwY2RmMjdmZmNhOWYwMDkzNWI5
|
15
|
-
MzhjNTczNTk1NDE3NzkwZGJhNTgzMjliMTYxODQ0ZjFhMWIwZmY=
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
Binary file
|