hobbit 0.2.0 → 0.2.1

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: f680a28141ffc906e11a72dd899d9dc21defb1d5
4
- data.tar.gz: a6296b3812d60e4a72927dc6ec59d97d524bc763
3
+ metadata.gz: 672fdf5ecb22bb543a996b77a3e9075a514ea07f
4
+ data.tar.gz: f6e93b013f31f18c4de763d10198f5c99fe7ec02
5
5
  SHA512:
6
- metadata.gz: ae7659b05503edeac4b9659893ee95a3b5b3600ac4fd84b800c0a4561f41b9482ecfad567792cb6f0d4f55a75122e9a5e3407ceb2e2a5ba190fb8045ef34ca34
7
- data.tar.gz: 88d899534b1103ef23cec457d48c13d210c4dddbbbad85e57296d0fcd569767066dd1e41f2be9134f3f736d379010fe0f1bfb449b46ac6eff0d1f44241f0716c
6
+ metadata.gz: 4b67669025634a181383d1f3b01e6ddab23d90fccc1db1ff00c5c7fdae1dc8aa94c942adcf473e06463ad02fd68b0bd81b49c4d764c3f0b3ed81118b9354b2b1
7
+ data.tar.gz: fb0fe4d2c7e87d76f5adc8ab0dab1cdefd7d63b7fd987035d631a2c05fee99294c9294691eddaede31af0ccf1e0787cc63ea5b5b3bdb2440493bb6d411887b6b
data/lib/hobbit/base.rb CHANGED
@@ -2,7 +2,7 @@ module Hobbit
2
2
  class Base
3
3
  class << self
4
4
  %w(DELETE GET HEAD OPTIONS PATCH POST PUT).each do |verb|
5
- define_method(verb.downcase) { |path = '', &block| routes[verb] << compile_route(path, &block) }
5
+ define_method(verb.downcase) { |path, &block| routes[verb] << compile_route(path, &block) }
6
6
  end
7
7
 
8
8
  def map(path, &block)
@@ -49,6 +49,7 @@ module Hobbit
49
49
  end
50
50
 
51
51
  def _call(env)
52
+ env['PATH_INFO'] = '/' if env['PATH_INFO'].empty?
52
53
  @env = env
53
54
  @request = Rack::Request.new(@env)
54
55
  @response = Hobbit::Response.new
@@ -1,3 +1,3 @@
1
1
  module Hobbit
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
data/spec/base_spec.rb CHANGED
@@ -11,7 +11,6 @@ describe Hobbit::Base do
11
11
  before do
12
12
  mock_app do
13
13
  %w(DELETE GET HEAD OPTIONS PATCH POST PUT).each do |verb|
14
- class_eval "#{verb.downcase} { '#{verb}' }"
15
14
  class_eval "#{verb.downcase}('/') { '#{verb}' }"
16
15
  class_eval "#{verb.downcase}('/route.json') { '#{verb} /route.json' }"
17
16
  class_eval "#{verb.downcase}('/route/:id.json') { request.params[:id] }"
@@ -25,7 +24,7 @@ describe Hobbit::Base do
25
24
  describe "::#{verb.downcase}" do
26
25
  it 'must add a route to @routes' do
27
26
  route = app.to_app.class.routes['#{verb}'].first
28
- route[:path].must_equal ''
27
+ route[:path].must_equal '/'
29
28
  end
30
29
 
31
30
  it 'must extract the extra_params' do
@@ -102,15 +101,6 @@ EOS
102
101
  describe '::compile_route' do
103
102
  let(:block) { block = Proc.new { |env| [200, {}, []] } }
104
103
 
105
- it 'must compile an empty string' do
106
- path = ''
107
- route = Hobbit::Base.send :compile_route, path, &block
108
- route[:block].call({}).must_equal block.call({})
109
- route[:compiled_path].to_s.must_equal /^$/.to_s
110
- route[:extra_params].must_equal []
111
- route[:path].must_equal path
112
- end
113
-
114
104
  it 'must compile /' do
115
105
  path = '/'
116
106
  route = Hobbit::Base.send :compile_route, path, &block
@@ -168,6 +158,12 @@ EOS
168
158
  %w(DELETE GET HEAD OPTIONS PATCH POST PUT).each do |verb|
169
159
  str = <<EOS
170
160
  describe 'when the request matches a route' do
161
+ it 'must match #{verb} ""' do
162
+ #{verb.downcase} ''
163
+ last_response.must_be :ok?
164
+ last_response.body.must_equal '#{verb}'
165
+ end
166
+
171
167
  it 'must match #{verb} /' do
172
168
  #{verb.downcase} '/'
173
169
  last_response.must_be :ok?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hobbit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patricio Mac Adden
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-22 00:00:00.000000000 Z
11
+ date: 2013-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler