neo 0.0.1 → 0.0.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.
data/lib/neo.rb CHANGED
@@ -1,27 +1,19 @@
1
1
  require 'neo/version'
2
- require 'net/http'
2
+ require 'neo/http_client'
3
+ require 'curb'
3
4
  require 'yajl'
4
5
 
5
6
  module Neo
6
7
  extend self
7
8
 
8
9
  def exec(cypher, params = {})
9
- req = Net::HTTP::Post.new(uri)
10
- req['Accept'] = 'application/json'
11
- req['Content-Type'] = 'application/json'
12
- req.body = Yajl::Encoder.encode(query: cypher, params: params)
13
-
14
- res = Net::HTTP.start(uri.hostname, uri.port) do |http|
15
- http.request req
16
- end
17
-
18
- Yajl::Parser.parse res.body
10
+ HttpClient.post uri, query: cypher, params: params
19
11
  end
20
12
 
21
13
  private
22
14
 
23
15
  def uri
24
- URI('http://localhost:7474/db/data/cypher')
16
+ 'http://localhost:7474/db/data/cypher'
25
17
  end
26
18
 
27
19
  end
@@ -0,0 +1,22 @@
1
+ module HttpClient
2
+ extend self
3
+
4
+ VERBS = %w(get post put patch delete)
5
+
6
+ VERBS.each do |verb|
7
+ define_method verb do |uri, body = {}, options = {}|
8
+ headers = merge_default_headers(options[:headers])
9
+
10
+ http = Curl.send verb, uri, body do |c|
11
+ c.headers = headers
12
+ end
13
+
14
+ Yajl::Parser.parse http.body_str
15
+ end
16
+ end
17
+
18
+ def merge_default_headers(headers)
19
+ { 'Content-Type' => 'application/json', 'Accept' => 'application/json' }.merge(headers || {})
20
+ end
21
+
22
+ end
@@ -1,3 +1,3 @@
1
1
  module Neo
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,41 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Victor Rodrigues
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-04-04 00:00:00.000000000 Z
12
+ date: 2013-04-16 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: curb
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: yajl-ruby
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  description: Neo4j client
@@ -51,29 +56,31 @@ files:
51
56
  - README.md
52
57
  - Rakefile
53
58
  - lib/neo.rb
59
+ - lib/neo/http_client.rb
54
60
  - lib/neo/version.rb
55
61
  - neo.gemspec
56
62
  homepage: ''
57
63
  licenses: []
58
- metadata: {}
59
64
  post_install_message:
60
65
  rdoc_options: []
61
66
  require_paths:
62
67
  - lib
63
68
  required_ruby_version: !ruby/object:Gem::Requirement
69
+ none: false
64
70
  requirements:
65
- - - '>='
71
+ - - ! '>='
66
72
  - !ruby/object:Gem::Version
67
73
  version: '0'
68
74
  required_rubygems_version: !ruby/object:Gem::Requirement
75
+ none: false
69
76
  requirements:
70
- - - '>='
77
+ - - ! '>='
71
78
  - !ruby/object:Gem::Version
72
79
  version: '0'
73
80
  requirements: []
74
81
  rubyforge_project:
75
- rubygems_version: 2.0.0
82
+ rubygems_version: 1.8.25
76
83
  signing_key:
77
- specification_version: 4
84
+ specification_version: 3
78
85
  summary: Neo4j client
79
86
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: f75d4fc5f4e3c2ee4ed61b8a59753b95093ac12b
4
- data.tar.gz: 5b8a80aca4dd8cb38dbd62b8c7388dbce8764f98
5
- SHA512:
6
- metadata.gz: cb46f773a05456d871eca3bf65f047cd6fcec80cdc02a21e82ce454ba92f4422b283bd3bc09ac9b69d2a07e67030f0b04cc845079f2961278b49a1cd7f8b9101
7
- data.tar.gz: a2fdf4c49eb49a777ff710d1f6282d3d91e06c476ca7a3d216392f61999c8127ddb24b964a6939bf2f43638fa18eeae95708c5fca046918836639103dae2cc7f