restrack-client 0.0.0 → 0.1.4
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/Gemfile.lock +1 -1
- data/Rakefile +1 -1
- data/lib/restrack-client/version.rb +1 -1
- data/lib/restrack-client.rb +9 -10
- metadata +2 -2
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
data/lib/restrack-client.rb
CHANGED
@@ -6,37 +6,37 @@ require 'xmlsimple'
|
|
6
6
|
|
7
7
|
module RESTRack
|
8
8
|
class Client
|
9
|
-
|
9
|
+
|
10
10
|
def initialize(uri, format=:JSON)
|
11
11
|
@uri = URI.parse(uri) unless uri.is_a? URI
|
12
12
|
@path = ''
|
13
13
|
@format = format
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def method_missing(resource_name, *args)
|
17
17
|
@path << '/' + resource_name.to_s + '/' + args.join('/')
|
18
18
|
self
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
def get
|
22
22
|
request = Net::HTTP::Get.new(@path)
|
23
23
|
response = send request
|
24
24
|
parse response
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def delete
|
28
28
|
request = Net::HTTP::Delete.new(@path)
|
29
29
|
response = send request
|
30
30
|
parse response
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
def post(data=nil)
|
34
34
|
request = Net::HTTP::Post.new(@path, {'Content-Type' => content_type })
|
35
35
|
request.body = prepare data unless data.nil?
|
36
36
|
response = send request
|
37
37
|
parse response
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
def put(data=nil)
|
41
41
|
request = Net::HTTP::Put.new(@path, {'Content-Type' => content_type })
|
42
42
|
request.body = prepare data unless data.nil?
|
@@ -48,7 +48,7 @@ module RESTRack
|
|
48
48
|
def content_type
|
49
49
|
RESTRack.mime_type_for(@format).to_s
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
def prepare(data)
|
53
53
|
case @format
|
54
54
|
when :JSON
|
@@ -62,7 +62,7 @@ module RESTRack
|
|
62
62
|
end
|
63
63
|
data
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
def send(request)
|
67
67
|
response = Net::HTTP.start(@uri.host, @uri.port) { |http| http.request(request) }
|
68
68
|
unless response.kind_of?(Net::HTTPSuccess)
|
@@ -71,7 +71,7 @@ module RESTRack
|
|
71
71
|
end
|
72
72
|
response
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
def parse(response)
|
76
76
|
mime_type = MIME::Type.new( response.content_type )#response['content-type'] )
|
77
77
|
if mime_type.like?( RESTRack.mime_type_for( :JSON ) )
|
@@ -85,7 +85,6 @@ module RESTRack
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
# XXX - code smells this is also in RESTRack lib/support.rb
|
89
88
|
module RESTRack
|
90
89
|
def self.mime_type_for(format)
|
91
90
|
MIME::Types.type_for(format.to_s.downcase)[0]
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: restrack-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.1.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Chris St. John
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-03-27 00:00:00 -04:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|