watts 0.0.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Rakefile +4 -3
  2. data/lib/watts.rb +11 -1
  3. metadata +33 -52
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'rake/gempackagetask'
2
- require 'rake/rdoctask'
2
+ require 'rdoc/task'
3
3
 
4
4
  $: << "#{File.dirname(__FILE__)}/lib"
5
5
 
@@ -22,7 +22,7 @@ spec = Gem::Specification.new { |s|
22
22
  "Resource-oriented, Rack-based, minimalist web framework."
23
23
  s.homepage = "http://debu.gs/#{s.name}"
24
24
  %w(metaid).each &s.method(:add_dependency)
25
- s.version = '0.0.7'
25
+ s.version = '1.0.0'
26
26
  }
27
27
 
28
28
  Rake::RDocTask.new(:doc) { |t|
@@ -54,5 +54,6 @@ task(:irb) {
54
54
 
55
55
  desc "Runs tests."
56
56
  task(:test) {
57
- system "ruby -Ilib test/*_test.rb"
57
+ tests = Dir['test/*_test.rb'].map { |t| "-r#{t}" }
58
+ system 'ruby', '-Ilib', '-I.', *tests, '-e', ''
58
59
  }
data/lib/watts.rb CHANGED
@@ -211,7 +211,7 @@ module Watts
211
211
  # def methods, as seen below for the options method.
212
212
  HTTPMethods.each { |http_method|
213
213
  meta_def(http_method) { |&b|
214
- http_methods << http_method.to_s.upcase
214
+ (http_methods << http_method.to_s.upcase).uniq!
215
215
  bmname = "__#{http_method}".to_sym
216
216
  define_method(bmname, &b)
217
217
  define_method(http_method) { |*args|
@@ -255,6 +255,16 @@ module Watts
255
255
  c
256
256
  end
257
257
 
258
+ # This method generates a HEAD that just calls #get and only passes
259
+ # back the headers. It's sub-optimal when GET is expensive, so it is
260
+ # disabled by default.
261
+ def self.auto_head
262
+ head { |*a|
263
+ status, headers, = get(*a)
264
+ [status, headers, []]
265
+ }
266
+ end
267
+
258
268
  to_instance :http_methods
259
269
  attr_new Rack::Response, :response
260
270
  attr_accessor :env, :response, :app
metadata CHANGED
@@ -1,86 +1,67 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: watts
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 7
9
- version: 0.0.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Pete Elmore
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-08-01 00:00:00 -07:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2012-06-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: metaid
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &15368000 !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
31
22
  type: :runtime
32
- version_requirements: *id001
23
+ prerelease: false
24
+ version_requirements: *15368000
33
25
  description:
34
26
  email: pete@debu.gs
35
27
  executables: []
36
-
37
28
  extensions: []
38
-
39
- extra_rdoc_files:
40
- - doc/TODO
29
+ extra_rdoc_files:
41
30
  - doc/LICENSE
42
- files:
31
+ - doc/TODO
32
+ files:
43
33
  - lib/watts.rb
44
34
  - lib/watts/monkey_patching.rb
45
- - doc/TODO
46
- - doc/examples/hoshi.ru
47
35
  - doc/examples/environment.ru
48
- - doc/examples/README
36
+ - doc/examples/hoshi.ru
49
37
  - doc/examples/hello_world.ru
38
+ - doc/examples/README
50
39
  - doc/examples/matching.ru
51
40
  - doc/LICENSE
41
+ - doc/TODO
52
42
  - Rakefile
53
- has_rdoc: true
54
43
  homepage: http://debu.gs/watts
55
44
  licenses: []
56
-
57
45
  post_install_message:
58
46
  rdoc_options: []
59
-
60
- require_paths:
47
+ require_paths:
61
48
  - lib
62
- required_ruby_version: !ruby/object:Gem::Requirement
49
+ required_ruby_version: !ruby/object:Gem::Requirement
63
50
  none: false
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- segments:
68
- - 0
69
- version: "0"
70
- required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
56
  none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- segments:
76
- - 0
77
- version: "0"
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
78
61
  requirements: []
79
-
80
62
  rubyforge_project:
81
- rubygems_version: 1.3.7
63
+ rubygems_version: 1.8.6
82
64
  signing_key:
83
65
  specification_version: 3
84
66
  summary: Resource-oriented, Rack-based, minimalist web framework.
85
67
  test_files: []
86
-