hyperdrive 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 04f0142457c2c2727dc798316907630f2d53c828
4
- data.tar.gz: b1742f5f51b354d1ada859f1b04603e1703396b8
3
+ metadata.gz: 26dee10778c01ac284135a3aeac9a9f33af6741c
4
+ data.tar.gz: f6e4adf3982bef03df48d8fdc333b09fead28833
5
5
  SHA512:
6
- metadata.gz: 165eb035a20d31e3c33c29e82dc71cd856661aa91d58f0b542e5e90bfe700f185dd1262ea6714e203cbc5db1f047b0d5f80e929ac8da491bbca6fb7fa74dd7eb
7
- data.tar.gz: f2b83b37947c9b2bd3ed27c6c7db5b5deb15729714b324c68a6c28dc0520ddb13b28f5ac3f40ae9d1a98e117705b15a1aefa344b72c1fec360d856a5c279bc2d
6
+ metadata.gz: bc67ee73c8f6866e8200bfd861a857a61b95dbb4f5573b361471b6bb7130dce6b04e622a996cf75ff3e047ea98359682922ea21374ab3cf136db49e978f07ae9
7
+ data.tar.gz: eb7e54a97ebd50a00ca77c748bd027987c3f883e5cd9f5c8759bae37f0478cd0bb0e5c01eade331f02261b6019d7dde4b8169235e82f89e98aba46e3059a5311
@@ -21,7 +21,7 @@ module Hyperdrive
21
21
  end
22
22
 
23
23
  def response
24
- @headers.merge({ 'Content-Type' => 'text/plain' })
24
+ @headers.merge({ 'Content-Type' => 'application/json' })
25
25
  status = (http_request_method == 'POST') ? 201 : 200
26
26
  ::Rack::Response.new(resource.request_handler(http_request_method).call(env), status, headers).finish
27
27
  end
@@ -30,7 +30,8 @@ module Hyperdrive
30
30
 
31
31
  def default_headers
32
32
  {
33
- 'Allow' => resource.allowed_methods
33
+ 'Allow' => resource.allowed_methods,
34
+ 'Content-Type' => 'application/json'
34
35
  }
35
36
  end
36
37
 
@@ -10,11 +10,23 @@ module Hyperdrive
10
10
 
11
11
  def self.server
12
12
  Rack::Builder.new do
13
+ use Rack::Runtime
14
+ use Rack::Lint
15
+ use Rack::Head
16
+
17
+ map '/' do
18
+ info = ''
19
+ hyperdrive.resources.each do |type, resource|
20
+ info += %Q({"id":"#{resource.endpoint}","name":"#{resource.name}","desc":"#{resource.desc}","type":"#{type}"})
21
+ end
22
+
23
+ run ->(env) {
24
+ [200, { 'Content-Type' => 'application/json', 'Allow' => Hyperdrive::Values.request_methods.join(",") }, ["[#{info}]"]]
25
+ }
26
+ end
27
+
13
28
  hyperdrive.resources.each do |key, resource|
14
29
  map resource.endpoint do
15
- use Rack::Runtime
16
- use Rack::Lint
17
- use Rack::Head
18
30
  run ->(env) {
19
31
  begin
20
32
  Hyperdrive::Response.new(env, resource).response
@@ -1,3 +1,3 @@
1
1
  module Hyperdrive
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyperdrive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - StyleSeek Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-22 00:00:00.000000000 Z
11
+ date: 2014-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -117,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
117
  version: '0'
118
118
  requirements: []
119
119
  rubyforge_project:
120
- rubygems_version: 2.2.0
120
+ rubygems_version: 2.2.2
121
121
  signing_key:
122
122
  specification_version: 4
123
123
  summary: Hypermedia State Machine