bats 0.0.6 → 0.0.7

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.
@@ -14,7 +14,7 @@ module HTTPResponse
14
14
  end
15
15
 
16
16
  def self.body b
17
- headers { 'Content-Length' => b.length }
17
+ headers 'Content-Length' => b.length
18
18
  @traits[ :body ] = b
19
19
  end
20
20
 
@@ -38,4 +38,4 @@ module HTTPResponse
38
38
  )
39
39
  end
40
40
 
41
- end
41
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hans Oksendahl
@@ -33,12 +33,10 @@ extra_rdoc_files:
33
33
  files:
34
34
  - lib/bats.rb
35
35
  - lib/bats/yaml/statuses.yaml
36
- - lib/bats/modules/httpresponse.rb.save
37
36
  - lib/bats/modules/httpresponse.rb
38
37
  - lib/bats/modules/classbaker.rb
39
38
  - lib/bats/modules/wizarding.rb
40
39
  - lib/bats/modules/metaid.rb
41
- - lib/bats.rb.save
42
40
  - README
43
41
  has_rdoc: true
44
42
  homepage: http://hansoksendahl.com/bats
data/lib/bats.rb.save DELETED
@@ -1,73 +0,0 @@
1
- exit
2
- clear
3
- exit
4
- %w( httpresponse wizarding ).each do |f|
5
- require 'bats/modules/httpresponse'
6
- end
7
-
8
- class Bats
9
- extend Wizarding
10
-
11
- traits :routes
12
-
13
- def self.inherited c
14
- c.traits *traits.keys
15
- end
16
-
17
- def self.addRoute m, p, o = nil, &b
18
- @traits[ :routes ] ||= {}
19
- @traits[ :routes ][ m ] ||= {}
20
- @traits[ :routes ][ m ][ p ] = ( block_given? ) ? b : o
21
- end
22
-
23
- def self.get p, o = nil, &b; addRoute( :get, p, o, &b ); end
24
- def self.post p, o = nil, &b; addRoute( :post, p, o, &b ); end
25
- def self.put p, o = nil, &b; addRoute( :put, p, o, &b ); end
26
- def self.delete p, o = nil, &b; addRoute( :delete, p, o, &b ); end
27
-
28
- def self.redirect l, isTemporary = true
29
- i = ( isTemporary ) ? '307' : '301'
30
- statusCode( i ).headers( :Location => l )
31
- end
32
-
33
- def self.statusCode i; ::HTTPResponse.const_get( "Status#{i}" ); end
34
- def statusCode i; ::HTTPResponse.const_get( "Status#{i}" ); end
35
-
36
- def self.call env; new.call( env ); end
37
- def call env
38
- method = env[ 'REQUEST_METHOD' ].downcase.to_sym
39
- path = env[ 'PATH_INFO' ]
40
- matches ||= nil
41
- if @routes && @routes[method] then
42
- if @routes[method].include?( path ) then
43
- route = @routes[method][ path ]
44
- else
45
- @routes[method].each do | p, b |
46
- if p.kind_of?( Regexp ) then
47
- if matches = path.match( p ) then
48
- matches = matches[ 1, matches.length - 1 ]
49
- matches.map! do | i |
50
- i = ( i ) ? i : ''
51
- i = i.to_i if i =~ /^\d+$/
52
- i
53
- end
54
- route = b
55
- break # Eh! give me a break here!
56
- end
57
- end
58
- end
59
- end
60
- end
61
- route ||= statusCode( 404 )
62
- args = ( matches ) ? [ env, *matches ] : [ env ]
63
- begin
64
- route = route.call( args ) if route.kind_of?( Proc )
65
- route.call( env )
66
- rescue
67
- b = '<h1>Ooops... The code broke.</h1>'
68
- b += "<h3>#{$!.to_s}</h3>#{$!.backtrace.join( '<br/>' )}"
69
- route = statusCode(500).body b
70
- route.call( env )
71
- end
72
- end
73
- end
@@ -1,37 +0,0 @@
1
- require 'bats/modules/classbaker'
2
-
3
- module HTTPResponse
4
- extend ClassBaker
5
-
6
- class Response
7
- extend ::Wizarding
8
-
9
- traits :status, :headers, :body
10
-
11
- def self.headers h
12
- @traits[ :headers ] ||= {}
13
- @traits[ :headers ].merge!( h )
14
- end
15
-
16
- def self.call env; new.call( env ); end
17
-
18
- def call env
19
- [ @status, @headers, @body ]
20
- end
21
- end
22
-
23
- require 'yaml'
24
- statuses = YAML.load_file( "#{File.expand_path( '../yaml', File.dirname( __FILE__ ) )}/statuses.yaml" ) # Somewhere in the nether regions beyond column 80!
25
- statuses.each do | k, v |
26
- bakeClass(
27
- "Status#{k}" => {
28
- :inherit => 'Response',
29
- :status => k,
30
- :headers => v[0],
31
- :body => v[1]
32
- }
33
- )
34
- end
35
-
36
- end
37
-