hyperdrive 0.0.4 → 0.0.5

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 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