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 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
@@ -0,0 +1,2 @@
1
+ H�j>ת��_�8��X�J/Ȏ^Y��ϵ�B��x�k-2*�Owr�a�2Ru߮�^���
2
+ �P��I~�$�����8�/����
data/CHANGELOG CHANGED
@@ -1,6 +1,10 @@
1
- v1.3 Add support for PATCH, minor error handling improvements.
1
+ v1.3.2 Fix patch.
2
2
 
3
- v1.2 Switch to Typhoeus HTTP client.
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 = "Experimental Ruby client for the Fauna database."
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 = ["typhoeus", "json"]
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.date = "2014-03-31"
10
- s.description = "Experimental Ruby client for the Fauna database."
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.8.24"
20
- s.summary = "Experimental Ruby client for the Fauna database."
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 = 3
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<typhoeus>, [">= 0"])
28
- s.add_runtime_dependency(%q<json>, [">= 0"])
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<typhoeus>, [">= 0"])
34
- s.add_dependency(%q<json>, [">= 0"])
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<typhoeus>, [">= 0"])
41
- s.add_dependency(%q<json>, [">= 0"])
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
@@ -1,7 +1,7 @@
1
1
  require 'json'
2
2
  require 'logger'
3
3
  require 'uri'
4
- require 'typhoeus'
4
+ require 'faraday'
5
5
  require 'cgi'
6
6
  require 'zlib'
7
7
 
@@ -1,21 +1,21 @@
1
1
  module Fauna
2
2
  class Connection
3
3
  class Error < RuntimeError
4
- attr_reader :error, :reason, :fields
4
+ attr_reader :error, :reason, :parameters
5
5
 
6
- def initialize(error, reason = nil, fields = {})
7
- if error.is_a? Hash
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
- @fields = json['fields'] || {}
11
+ @parameters = json['parameters'] || {}
12
12
  else
13
13
  @error = error
14
14
  @reason = reason
15
- @fields = fields
15
+ @parameters = parameters
16
16
  end
17
17
 
18
- super(@reason ? "#{@error}: #{@reason}" : @error)
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
- HANDLER = Proc.new do |res, body, _, _|
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] || 60000
56
- @connecttimeout = params[:connecttimeout] || 60000
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
- @debug = true
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(2) { "Fauna #{action.to_s.upcase} /#{ref}#{query_string_for_logging(query)}" }
136
- log(4) { "Credentials: #{@credentials}" } if @debug
137
- log(4) { "Request JSON: #{JSON.pretty_generate(data)}" } if @debug && data
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
- request.run
116
+ response = execute_without_logging(action, ref, data, query)
141
117
  t1, r1 = Process.times, Time.now
142
- body = inflate(request.response)
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(4) { ["Response headers: #{JSON.pretty_generate(request.response.headers)}", "Response JSON: #{body}"] } if @debug
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" }
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
- request.run
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 url(ref)
156
- "#{@scheme}://#{@credentials}@#{@domain}:#{@port}/#{ref}"
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
@@ -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 '@struct', struct
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 '@struct', { 'ref' => nil, 'ts' => nil, 'deleted' => false, 'class' => fauna_class }
22
- obj.send(:assign, attrs)
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
- @struct = (new_record? ? post : put).to_hash
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
- private
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
- def assign(attributes)
119
- attributes.each do |name, val|
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
- def put
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
- event = time ? "/events/#{Fauna.usecs_from_time(time)}/create" : ''
127
- Fauna::Client.put("#{set}/#{resource}#{event}")
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
- event = time ? "/events/#{Fauna.usecs_from_time(time)}/delete" : ''
134
- Fauna::Client.put("#{set}/#{resource}#{event}")
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.count
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.count
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.count
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: '1.3'
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
- date: 2014-03-31 00:00:00.000000000 Z
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: typhoeus
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: '0'
27
- none: false
28
- prerelease: false
48
+ version: 0.9.0
29
49
  type: :runtime
30
- - !ruby/object:Gem::Dependency
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: '0'
37
- none: false
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: '0'
43
- none: false
44
- prerelease: false
62
+ version: 1.8.0
45
63
  type: :runtime
46
- - !ruby/object:Gem::Dependency
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: '0'
53
- none: false
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
- - !ruby/object:Gem::Dependency
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
- none: false
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
- version_requirements: !ruby/object:Gem::Requirement
100
+ requirement: !ruby/object:Gem::Requirement
81
101
  requirements:
82
102
  - - ~>
83
103
  - !ruby/object:Gem::Version
84
104
  version: '4.0'
85
- none: false
86
- requirement: !ruby/object:Gem::Requirement
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
- none: false
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
- post_install_message:
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.8.24
166
- signing_key:
167
- specification_version: 3
168
- summary: Experimental Ruby client for the Fauna database.
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