fauna 1.3 → 1.3.2
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.
- checksums.yaml +15 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -0
- data/CHANGELOG +8 -4
- data/Rakefile +2 -2
- data/fauna.gemspec +15 -12
- data/lib/fauna.rb +1 -1
- data/lib/fauna/connection.rb +53 -57
- data/lib/fauna/resource.rb +20 -15
- data/lib/fauna/set.rb +12 -6
- data/test/set_test.rb +3 -3
- metadata +73 -56
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NGY2NjU0NzY0YjAxMGViODQ0YTRlYzBkOGFjM2JlNGJiZTJkYzY1Ng==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OGJjZmVhODYzNGNiM2RjMTRiMmEwYWQ3NDMyZmU5OWRkNjU5ZDhhYw==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MTliY2Q1ZTRlNDIzMWNmNTAyOGQ4OWJmZDQwNmExZTViYjM3NzJjZGRiMWNk
|
10
|
+
OTk3NjA0M2MwODNkZTVlNzU5ZDhiNDZmMDg0ZTg1MzE2NWE0MDdmYjFkZjg2
|
11
|
+
ZGU3ZWRiZmUxYzE0MmJmNTc5M2IzYWFhOWFiYTE2NzdmNDY1YTM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YzVjZTA3ZTE2ZTMyOTczMDZhOGZhYjBiZWRhMmMxMjgwNWY2NTE4OGQ0Mjhi
|
14
|
+
MmQ3YTJjNWQ1M2ZjZjg0OTA5NmVkOTZlN2NlY2QzZjFiODQ3NWQzYTQ3ZWMx
|
15
|
+
Y2U5NTJhOTgxNjUzODNhYjI4M2ZjMTM3MTE2ZGJhYTA1NjIzMjA=
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
data/CHANGELOG
CHANGED
@@ -1,6 +1,10 @@
|
|
1
|
-
v1.3
|
1
|
+
v1.3.2 Fix patch.
|
2
2
|
|
3
|
-
v1.
|
3
|
+
v1.3.1 Switch to Faraday http client.
|
4
|
+
|
5
|
+
v1.3.0 Add support for PATCH, minor error handling improvements.
|
6
|
+
|
7
|
+
v1.2.0 Switch to Typhoeus HTTP client.
|
4
8
|
|
5
9
|
v1.1.1 Remove last bit of ORM-ness.
|
6
10
|
|
@@ -20,7 +24,7 @@ v0.1.2 Fauna::User.find_by_external_id returns a User or nil, not an Array.
|
|
20
24
|
|
21
25
|
v0.1.1 Fix ActionDispatch::Reloader bug.
|
22
26
|
|
23
|
-
v0.1. Refactor resource hierarchy. Add cache. Flesh out ActiveModel
|
27
|
+
v0.1.1 Refactor resource hierarchy. Add cache. Flesh out ActiveModel
|
24
28
|
support.
|
25
29
|
|
26
|
-
v0.0. First release.
|
30
|
+
v0.0.0 First release.
|
data/Rakefile
CHANGED
@@ -3,12 +3,12 @@ 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 = "Ruby client for the Fauna distributed 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
|
-
p.dependencies = ["
|
11
|
+
p.dependencies = ["faraday ~>0.9.0", "json ~>1.8.0"]
|
12
12
|
p.development_dependencies = ["mocha", "echoe", "minitest ~>4.0"]
|
13
13
|
end
|
14
14
|
|
data/fauna.gemspec
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
# stub: fauna 1.3.2 ruby lib
|
2
3
|
|
3
4
|
Gem::Specification.new do |s|
|
4
5
|
s.name = "fauna"
|
5
|
-
s.version = "1.3"
|
6
|
+
s.version = "1.3.2"
|
6
7
|
|
7
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
9
|
s.authors = ["Fauna, Inc."]
|
9
|
-
s.
|
10
|
-
s.
|
10
|
+
s.cert_chain = ["/Users/eweaver/fauna/fauna-ruby/fauna-ruby.pem"]
|
11
|
+
s.date = "2014-05-15"
|
12
|
+
s.description = "Ruby client for the Fauna distributed database."
|
11
13
|
s.email = ""
|
12
14
|
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"]
|
13
15
|
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"]
|
@@ -16,29 +18,30 @@ Gem::Specification.new do |s|
|
|
16
18
|
s.rdoc_options = ["--line-numbers", "--title", "Fauna", "--main", "README.md"]
|
17
19
|
s.require_paths = ["lib"]
|
18
20
|
s.rubyforge_project = "fauna"
|
19
|
-
s.rubygems_version = "1.
|
20
|
-
s.
|
21
|
+
s.rubygems_version = "2.1.10"
|
22
|
+
s.signing_key = "/Users/eweaver/cloudburst/configuration/gem_certificates/gem-private_key.pem"
|
23
|
+
s.summary = "Ruby client for the Fauna distributed database."
|
21
24
|
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"]
|
22
25
|
|
23
26
|
if s.respond_to? :specification_version then
|
24
|
-
s.specification_version =
|
27
|
+
s.specification_version = 4
|
25
28
|
|
26
29
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
27
|
-
s.add_runtime_dependency(%q<
|
28
|
-
s.add_runtime_dependency(%q<json>, ["
|
30
|
+
s.add_runtime_dependency(%q<faraday>, ["~> 0.9.0"])
|
31
|
+
s.add_runtime_dependency(%q<json>, ["~> 1.8.0"])
|
29
32
|
s.add_development_dependency(%q<mocha>, [">= 0"])
|
30
33
|
s.add_development_dependency(%q<echoe>, [">= 0"])
|
31
34
|
s.add_development_dependency(%q<minitest>, ["~> 4.0"])
|
32
35
|
else
|
33
|
-
s.add_dependency(%q<
|
34
|
-
s.add_dependency(%q<json>, ["
|
36
|
+
s.add_dependency(%q<faraday>, ["~> 0.9.0"])
|
37
|
+
s.add_dependency(%q<json>, ["~> 1.8.0"])
|
35
38
|
s.add_dependency(%q<mocha>, [">= 0"])
|
36
39
|
s.add_dependency(%q<echoe>, [">= 0"])
|
37
40
|
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
38
41
|
end
|
39
42
|
else
|
40
|
-
s.add_dependency(%q<
|
41
|
-
s.add_dependency(%q<json>, ["
|
43
|
+
s.add_dependency(%q<faraday>, ["~> 0.9.0"])
|
44
|
+
s.add_dependency(%q<json>, ["~> 1.8.0"])
|
42
45
|
s.add_dependency(%q<mocha>, [">= 0"])
|
43
46
|
s.add_dependency(%q<echoe>, [">= 0"])
|
44
47
|
s.add_dependency(%q<minitest>, ["~> 4.0"])
|
data/lib/fauna.rb
CHANGED
data/lib/fauna/connection.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
module Fauna
|
2
2
|
class Connection
|
3
3
|
class Error < RuntimeError
|
4
|
-
attr_reader :error, :reason, :
|
4
|
+
attr_reader :error, :reason, :parameters
|
5
5
|
|
6
|
-
def initialize(error, reason = nil,
|
7
|
-
if error.is_a?
|
6
|
+
def initialize(error, reason = nil, parameters = {})
|
7
|
+
if error.is_a?(Hash)
|
8
8
|
json = error
|
9
9
|
@error = json['error']
|
10
10
|
@reason = json['reason']
|
11
|
-
@
|
11
|
+
@parameters = json['parameters'] || {}
|
12
12
|
else
|
13
13
|
@error = error
|
14
14
|
@reason = reason
|
15
|
-
@
|
15
|
+
@parameters = parameters
|
16
16
|
end
|
17
17
|
|
18
|
-
super(@reason
|
18
|
+
super(@reason || @error)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -26,40 +26,31 @@ module Fauna
|
|
26
26
|
class MethodNotAllowed < Error; end
|
27
27
|
class NetworkError < Error; end
|
28
28
|
|
29
|
-
|
30
|
-
case res.code
|
31
|
-
when 200..299
|
32
|
-
[res.headers, body]
|
33
|
-
when 400
|
34
|
-
raise BadRequest.new(JSON.parse(body))
|
35
|
-
when 401
|
36
|
-
raise Unauthorized.new(JSON.parse(body))
|
37
|
-
when 403
|
38
|
-
raise PermissionDenied.new(JSON.parse(body))
|
39
|
-
when 404
|
40
|
-
raise NotFound.new(JSON.parse(body))
|
41
|
-
when 405
|
42
|
-
raise MethodNotAllowed.new(JSON.parse(body))
|
43
|
-
else
|
44
|
-
raise NetworkError, body
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
attr_reader :domain, :scheme, :port, :credentials, :timeout
|
29
|
+
attr_reader :domain, :scheme, :port, :credentials, :timeout, :connection_timeout, :adapter, :logger
|
49
30
|
|
50
31
|
def initialize(params={})
|
51
32
|
@logger = params[:logger] || nil
|
52
33
|
@domain = params[:domain] || "rest1.fauna.org"
|
53
34
|
@scheme = params[:scheme] || "https"
|
54
35
|
@port = params[:port] || (@scheme == "https" ? 443 : 80)
|
55
|
-
@timeout = params[:timeout] ||
|
56
|
-
@
|
36
|
+
@timeout = params[:timeout] || 60
|
37
|
+
@connection_timeout = params[:connection_timeout] || 60
|
38
|
+
@adapter = params[:adapter] || Faraday.default_adapter
|
39
|
+
@credentials = params[:secret].to_s.split(":")
|
57
40
|
|
58
41
|
if ENV["FAUNA_DEBUG"]
|
59
42
|
@logger = Logger.new(STDERR)
|
60
|
-
@
|
43
|
+
@logger.formatter = proc { |_, _, _, msg| "#{msg}\n" }
|
44
|
+
end
|
45
|
+
|
46
|
+
@conn = Faraday.new(
|
47
|
+
:url => "#{@scheme}://#{@domain}:#{@port}/",
|
48
|
+
:headers => { "Accept-Encoding" => "gzip", "Content-Type" => "application/json;charset=utf-8" },
|
49
|
+
:request => { :timeout => @timeout, :open_timeout => @connection_timeout }
|
50
|
+
) do |conn|
|
51
|
+
conn.adapter(@adapter)
|
52
|
+
conn.basic_auth(@credentials[0].to_s, @credentials[1].to_s)
|
61
53
|
end
|
62
|
-
@credentials = params[:secret].to_s
|
63
54
|
end
|
64
55
|
|
65
56
|
def get(ref, query = {})
|
@@ -116,44 +107,49 @@ module Fauna
|
|
116
107
|
end
|
117
108
|
|
118
109
|
def execute(action, ref, data = nil, query = nil)
|
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
|
-
)
|
126
|
-
request.options[:params] = query if query.is_a?(Hash)
|
127
|
-
|
128
|
-
if data.is_a?(Hash)
|
129
|
-
request.options[:headers].merge!("Content-Type" => "application/json;charset=utf-8")
|
130
|
-
request.options[:body] = data.to_json
|
131
|
-
end
|
132
|
-
|
133
|
-
body = ""
|
134
110
|
if @logger
|
135
|
-
log(
|
136
|
-
log(
|
137
|
-
log(
|
111
|
+
log(0) { "Fauna #{action.to_s.upcase} /#{ref}#{query_string_for_logging(query)}" }
|
112
|
+
log(2) { "Credentials: #{@credentials}" }
|
113
|
+
log(2) { "Request JSON: #{JSON.pretty_generate(data)}" } if data
|
138
114
|
|
139
115
|
t0, r0 = Process.times, Time.now
|
140
|
-
|
116
|
+
response = execute_without_logging(action, ref, data, query)
|
141
117
|
t1, r1 = Process.times, Time.now
|
142
|
-
body = inflate(
|
118
|
+
body = inflate(response)
|
143
119
|
|
144
120
|
real = r1.to_f - r0.to_f
|
145
121
|
cpu = (t1.utime - t0.utime) + (t1.stime - t0.stime) + (t1.cutime - t0.cutime) + (t1.cstime - t0.cstime)
|
146
|
-
log(
|
147
|
-
log(
|
122
|
+
log(2) { ["Response headers: #{JSON.pretty_generate(response.headers)}", "Response JSON: #{body}"] }
|
123
|
+
log(2) { "Response (#{response.status}): API processing #{response.headers["X-HTTP-Request-Processing-Time"]}ms, network latency #{((real - cpu)*1000).to_i}ms, local processing #{(cpu*1000).to_i}ms" }
|
124
|
+
else
|
125
|
+
response = execute_without_logging(action, ref, data, query)
|
126
|
+
body = inflate(response)
|
127
|
+
end
|
128
|
+
|
129
|
+
case response.status
|
130
|
+
when 200..299
|
131
|
+
[response.headers, body]
|
132
|
+
when 400
|
133
|
+
raise BadRequest.new(JSON.parse(body))
|
134
|
+
when 401
|
135
|
+
raise Unauthorized.new(JSON.parse(body))
|
136
|
+
when 403
|
137
|
+
raise PermissionDenied.new(JSON.parse(body))
|
138
|
+
when 404
|
139
|
+
raise NotFound.new(JSON.parse(body))
|
140
|
+
when 405
|
141
|
+
raise MethodNotAllowed.new(JSON.parse(body))
|
148
142
|
else
|
149
|
-
|
150
|
-
body = inflate(request.response)
|
143
|
+
raise NetworkError, body
|
151
144
|
end
|
152
|
-
HANDLER.call(request.response, body)
|
153
145
|
end
|
154
146
|
|
155
|
-
def
|
156
|
-
|
147
|
+
def execute_without_logging(action, ref, data, query)
|
148
|
+
@conn.send(action) do |req|
|
149
|
+
req.params = query if query.is_a?(Hash)
|
150
|
+
req.body = data.to_json if data.is_a?(Hash)
|
151
|
+
req.url(ref)
|
152
|
+
end
|
157
153
|
end
|
158
154
|
end
|
159
155
|
end
|
data/lib/fauna/resource.rb
CHANGED
@@ -12,14 +12,14 @@ module Fauna
|
|
12
12
|
|
13
13
|
def self.hydrate(struct)
|
14
14
|
obj = resource_subclass(struct['class']).allocate
|
15
|
-
obj.instance_variable_set
|
15
|
+
obj.instance_variable_set('@struct', struct)
|
16
16
|
obj
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.new(fauna_class, attrs = {})
|
20
20
|
obj = resource_subclass(fauna_class).allocate
|
21
|
-
obj.instance_variable_set
|
22
|
-
obj.
|
21
|
+
obj.instance_variable_set('@struct', { 'ref' => nil, 'ts' => nil, 'deleted' => false, 'class' => fauna_class })
|
22
|
+
obj.struct = attrs
|
23
23
|
obj
|
24
24
|
end
|
25
25
|
|
@@ -32,7 +32,6 @@ module Fauna
|
|
32
32
|
end
|
33
33
|
|
34
34
|
attr_reader :struct
|
35
|
-
|
36
35
|
alias :to_hash :struct
|
37
36
|
|
38
37
|
def ts
|
@@ -100,7 +99,7 @@ module Fauna
|
|
100
99
|
def persisted?; !(new_record? || deleted?) end
|
101
100
|
|
102
101
|
def save
|
103
|
-
|
102
|
+
new_record? ? post : put
|
104
103
|
end
|
105
104
|
|
106
105
|
def delete
|
@@ -110,24 +109,30 @@ module Fauna
|
|
110
109
|
nil
|
111
110
|
end
|
112
111
|
|
113
|
-
|
112
|
+
def put
|
113
|
+
@struct = Fauna::Client.put(ref, struct).to_hash
|
114
|
+
end
|
115
|
+
|
116
|
+
def patch
|
117
|
+
@struct = Fauna::Client.patch(ref, struct).to_hash
|
118
|
+
end
|
119
|
+
|
120
|
+
def post
|
121
|
+
@struct = Fauna::Client.post(fauna_class, struct).to_hash
|
122
|
+
end
|
114
123
|
|
115
124
|
# TODO: make this configurable, and possible to invert to a white list
|
116
125
|
UNASSIGNABLE_ATTRIBUTES = %w(ts deleted fauna_class).inject({}) { |h, attr| h.update attr => true }
|
117
126
|
|
118
|
-
|
119
|
-
|
127
|
+
DEFAULT_ATTRIBUTES = {"data" => {}, "references" => {}, "constraints" => {} }
|
128
|
+
|
129
|
+
def struct=(attributes)
|
130
|
+
DEFAULT_ATTRIBUTES.merge(attributes).each do |name, val|
|
120
131
|
send "#{name}=", val unless UNASSIGNABLE_ATTRIBUTES[name.to_s]
|
121
132
|
end
|
122
133
|
end
|
123
134
|
|
124
|
-
|
125
|
-
Fauna::Client.put(ref, struct)
|
126
|
-
end
|
127
|
-
|
128
|
-
def post
|
129
|
-
Fauna::Client.post(fauna_class, struct)
|
130
|
-
end
|
135
|
+
private
|
131
136
|
|
132
137
|
def getter_method(method)
|
133
138
|
field = method.to_s
|
data/lib/fauna/set.rb
CHANGED
@@ -123,21 +123,26 @@ module Fauna
|
|
123
123
|
def self.add(set, resource, time = nil)
|
124
124
|
set = set.ref if set.respond_to? :ref
|
125
125
|
resource = resource.ref if resource.respond_to? :ref
|
126
|
-
|
127
|
-
|
126
|
+
if time
|
127
|
+
Fauna::Client.put("#{set}/#{resource}/events/#{Fauna.usecs_from_time(time)}/create")
|
128
|
+
else
|
129
|
+
Fauna::Client.put("#{set}/#{resource}")
|
130
|
+
end
|
128
131
|
end
|
129
132
|
|
130
133
|
def self.remove(set, resource, time = nil)
|
131
134
|
set = set.ref if set.respond_to? :ref
|
132
135
|
resource = resource.ref if resource.respond_to? :ref
|
133
|
-
|
134
|
-
|
136
|
+
if time
|
137
|
+
Fauna::Client.put("#{set}/#{resource}/events/#{Fauna.usecs_from_time(time)}/delete")
|
138
|
+
else
|
139
|
+
Fauna::Client.delete("#{set}/#{resource}")
|
140
|
+
end
|
135
141
|
end
|
136
142
|
end
|
137
143
|
|
138
144
|
class SetPage < Fauna::Resource
|
139
145
|
include Enumerable
|
140
|
-
undef :count
|
141
146
|
|
142
147
|
def refs
|
143
148
|
@refs ||= struct['resources']
|
@@ -151,13 +156,13 @@ module Fauna
|
|
151
156
|
refs.empty?
|
152
157
|
end
|
153
158
|
|
159
|
+
def fauna_count; struct['count'] end
|
154
160
|
def length; refs.length end
|
155
161
|
def size; refs.size end
|
156
162
|
end
|
157
163
|
|
158
164
|
class EventsPage < Fauna::Resource
|
159
165
|
include Enumerable
|
160
|
-
undef :count
|
161
166
|
|
162
167
|
def events
|
163
168
|
@events ||= struct['events'].map { |e| Event.new(e) }
|
@@ -171,6 +176,7 @@ module Fauna
|
|
171
176
|
events.empty?
|
172
177
|
end
|
173
178
|
|
179
|
+
def fauna_count; struct['count'] end
|
174
180
|
def length; events.length end
|
175
181
|
def size; events.size end
|
176
182
|
end
|
data/test/set_test.rb
CHANGED
@@ -14,7 +14,7 @@ class SetTest < MiniTest::Unit::TestCase
|
|
14
14
|
page = @posts.page
|
15
15
|
assert_equal "#{@model.ref}/sets/posts", page.ref
|
16
16
|
assert_equal 0, page.refs.size
|
17
|
-
assert_equal 0, page.
|
17
|
+
assert_equal 0, page.fauna_count
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_pagination
|
@@ -26,7 +26,7 @@ class SetTest < MiniTest::Unit::TestCase
|
|
26
26
|
|
27
27
|
page1 = @posts.page(:size => 2)
|
28
28
|
assert_equal 2, page1.refs.size
|
29
|
-
assert_equal 5, page1.
|
29
|
+
assert_equal 5, page1.fauna_count
|
30
30
|
page2 = @posts.page(:size => 2, :before => page1.before)
|
31
31
|
assert_equal 2, page2.refs.size
|
32
32
|
page3 = @posts.page(:size => 2, :before => page2.before)
|
@@ -38,7 +38,7 @@ class SetTest < MiniTest::Unit::TestCase
|
|
38
38
|
assert_equal 2, page5.refs.size
|
39
39
|
page6 = @posts.page(:size => 2, :after => page5.after)
|
40
40
|
assert_equal 1, page6.refs.size
|
41
|
-
assert_equal 5, page6.
|
41
|
+
assert_equal 5, page6.fauna_count
|
42
42
|
end
|
43
43
|
|
44
44
|
def test_any
|
metadata
CHANGED
@@ -1,97 +1,115 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fauna
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 1.3.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Fauna, Inc.
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
10
|
+
cert_chain:
|
11
|
+
- !binary |-
|
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: 2014-05-15 00:00:00.000000000 Z
|
13
41
|
dependencies:
|
14
42
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
version_requirements: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - '>='
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '0'
|
21
|
-
none: false
|
43
|
+
name: faraday
|
22
44
|
requirement: !ruby/object:Gem::Requirement
|
23
45
|
requirements:
|
24
|
-
- -
|
46
|
+
- - ~>
|
25
47
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
none: false
|
28
|
-
prerelease: false
|
48
|
+
version: 0.9.0
|
29
49
|
type: :runtime
|
30
|
-
|
31
|
-
name: json
|
50
|
+
prerelease: false
|
32
51
|
version_requirements: !ruby/object:Gem::Requirement
|
33
52
|
requirements:
|
34
|
-
- -
|
53
|
+
- - ~>
|
35
54
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
37
|
-
|
55
|
+
version: 0.9.0
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: json
|
38
58
|
requirement: !ruby/object:Gem::Requirement
|
39
59
|
requirements:
|
40
|
-
- -
|
60
|
+
- - ~>
|
41
61
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
43
|
-
none: false
|
44
|
-
prerelease: false
|
62
|
+
version: 1.8.0
|
45
63
|
type: :runtime
|
46
|
-
|
47
|
-
name: mocha
|
64
|
+
prerelease: false
|
48
65
|
version_requirements: !ruby/object:Gem::Requirement
|
49
66
|
requirements:
|
50
|
-
- -
|
67
|
+
- - ~>
|
51
68
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
53
|
-
|
69
|
+
version: 1.8.0
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: mocha
|
54
72
|
requirement: !ruby/object:Gem::Requirement
|
55
73
|
requirements:
|
56
|
-
- - '>='
|
74
|
+
- - ! '>='
|
57
75
|
- !ruby/object:Gem::Version
|
58
76
|
version: '0'
|
59
|
-
none: false
|
60
|
-
prerelease: false
|
61
77
|
type: :development
|
62
|
-
|
63
|
-
name: echoe
|
78
|
+
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
65
80
|
requirements:
|
66
|
-
- - '>='
|
81
|
+
- - ! '>='
|
67
82
|
- !ruby/object:Gem::Version
|
68
83
|
version: '0'
|
69
|
-
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: echoe
|
70
86
|
requirement: !ruby/object:Gem::Requirement
|
71
87
|
requirements:
|
72
|
-
- - '>='
|
88
|
+
- - ! '>='
|
73
89
|
- !ruby/object:Gem::Version
|
74
90
|
version: '0'
|
75
|
-
none: false
|
76
|
-
prerelease: false
|
77
91
|
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
78
98
|
- !ruby/object:Gem::Dependency
|
79
99
|
name: minitest
|
80
|
-
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
81
101
|
requirements:
|
82
102
|
- - ~>
|
83
103
|
- !ruby/object:Gem::Version
|
84
104
|
version: '4.0'
|
85
|
-
|
86
|
-
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
87
108
|
requirements:
|
88
109
|
- - ~>
|
89
110
|
- !ruby/object:Gem::Version
|
90
111
|
version: '4.0'
|
91
|
-
|
92
|
-
prerelease: false
|
93
|
-
type: :development
|
94
|
-
description: Experimental Ruby client for the Fauna database.
|
112
|
+
description: Ruby client for the Fauna distributed database.
|
95
113
|
email: ''
|
96
114
|
executables: []
|
97
115
|
extensions: []
|
@@ -139,7 +157,8 @@ files:
|
|
139
157
|
homepage: http://fauna.github.com/fauna/
|
140
158
|
licenses:
|
141
159
|
- Mozilla Public License, Version 2.0 (MPL2)
|
142
|
-
|
160
|
+
metadata: {}
|
161
|
+
post_install_message:
|
143
162
|
rdoc_options:
|
144
163
|
- --line-numbers
|
145
164
|
- --title
|
@@ -150,22 +169,20 @@ require_paths:
|
|
150
169
|
- lib
|
151
170
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
171
|
requirements:
|
153
|
-
- - '>='
|
172
|
+
- - ! '>='
|
154
173
|
- !ruby/object:Gem::Version
|
155
174
|
version: '0'
|
156
|
-
none: false
|
157
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
176
|
requirements:
|
159
|
-
- - '>='
|
177
|
+
- - ! '>='
|
160
178
|
- !ruby/object:Gem::Version
|
161
179
|
version: '1.2'
|
162
|
-
none: false
|
163
180
|
requirements: []
|
164
181
|
rubyforge_project: fauna
|
165
|
-
rubygems_version: 1.
|
166
|
-
signing_key:
|
167
|
-
specification_version:
|
168
|
-
summary:
|
182
|
+
rubygems_version: 2.1.10
|
183
|
+
signing_key:
|
184
|
+
specification_version: 4
|
185
|
+
summary: Ruby client for the Fauna distributed database.
|
169
186
|
test_files:
|
170
187
|
- test/class_test.rb
|
171
188
|
- test/client_test.rb
|
metadata.gz.sig
ADDED
Binary file
|