watts 0.0.7 → 1.0.0

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