picnic 0.7.1 → 0.8.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 (45) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +30 -13
  3. data/Rakefile +2 -0
  4. data/lib/picnic.rb +5 -120
  5. data/lib/picnic/authentication.rb +40 -4
  6. data/lib/picnic/cli.rb +86 -43
  7. data/lib/picnic/conf.rb +45 -43
  8. data/lib/picnic/logger.rb +41 -0
  9. data/lib/picnic/server.rb +99 -0
  10. data/lib/picnic/version.rb +2 -2
  11. data/picnic.gemspec +44 -0
  12. data/vendor/{camping-1.5.180 → camping-2.0.20090212}/CHANGELOG +17 -10
  13. data/vendor/{camping-1.5.180 → camping-2.0.20090212}/COPYING +0 -0
  14. data/vendor/{camping-1.5.180 → camping-2.0.20090212}/README +2 -2
  15. data/vendor/{camping-1.5.180 → camping-2.0.20090212}/Rakefile +62 -5
  16. data/vendor/camping-2.0.20090212/bin/camping +99 -0
  17. data/vendor/camping-2.0.20090212/doc/camping.1.gz +0 -0
  18. data/vendor/camping-2.0.20090212/examples/README +5 -0
  19. data/vendor/camping-2.0.20090212/examples/blog.rb +375 -0
  20. data/vendor/camping-2.0.20090212/examples/campsh.rb +629 -0
  21. data/vendor/camping-2.0.20090212/examples/tepee.rb +242 -0
  22. data/vendor/camping-2.0.20090212/extras/Camping.gif +0 -0
  23. data/vendor/camping-2.0.20090212/extras/flipbook_rdoc.rb +491 -0
  24. data/vendor/camping-2.0.20090212/extras/permalink.gif +0 -0
  25. data/vendor/{camping-1.5.180 → camping-2.0.20090212}/lib/camping-unabridged.rb +168 -294
  26. data/vendor/camping-2.0.20090212/lib/camping.rb +54 -0
  27. data/vendor/{camping-1.5.180/lib/camping/db.rb → camping-2.0.20090212/lib/camping/ar.rb} +4 -4
  28. data/vendor/{camping-1.5.180/lib/camping → camping-2.0.20090212/lib/camping/ar}/session.rb +23 -14
  29. data/vendor/camping-2.0.20090212/lib/camping/mab.rb +26 -0
  30. data/vendor/camping-2.0.20090212/lib/camping/reloader.rb +163 -0
  31. data/vendor/camping-2.0.20090212/lib/camping/server.rb +158 -0
  32. data/vendor/camping-2.0.20090212/lib/camping/session.rb +74 -0
  33. data/vendor/camping-2.0.20090212/setup.rb +1551 -0
  34. data/vendor/camping-2.0.20090212/test/apps/env_debug.rb +65 -0
  35. data/vendor/camping-2.0.20090212/test/apps/forms.rb +95 -0
  36. data/vendor/camping-2.0.20090212/test/apps/misc.rb +86 -0
  37. data/vendor/camping-2.0.20090212/test/apps/sessions.rb +38 -0
  38. data/vendor/camping-2.0.20090212/test/test_camping.rb +54 -0
  39. metadata +43 -16
  40. data/lib/picnic/postambles.rb +0 -292
  41. data/lib/picnic/utils.rb +0 -36
  42. data/vendor/camping-1.5.180/lib/camping.rb +0 -57
  43. data/vendor/camping-1.5.180/lib/camping/fastcgi.rb +0 -244
  44. data/vendor/camping-1.5.180/lib/camping/reloader.rb +0 -163
  45. data/vendor/camping-1.5.180/lib/camping/webrick.rb +0 -65
@@ -1,65 +0,0 @@
1
- # == About camping/webrick.rb
2
- #
3
- # For many who have Ruby installed, Camping and WEBrick is a great option.
4
- # It's definitely the easiest configuration, however some performance is sacrificed.
5
- # For better speed, check out Mongrel at http://mongrel.rubyforge.org/, which comes
6
- # with Camping hooks and is supported by the Camping Tool.
7
- require 'camping'
8
- require 'webrick/httpservlet/abstract.rb'
9
-
10
- module WEBrick
11
- # WEBrick::CampingHandler is a very simple handle for hosting Camping apps in
12
- # a WEBrick server. It's used much like any other WEBrick handler.
13
- #
14
- # == Mounting a Camping App
15
- #
16
- # Assuming Camping.goes(:Blog), the Blog application can be mounted alongside
17
- # other WEBrick mounts.
18
- #
19
- # s = WEBrick::HTTPServer.new(:BindAddress => host, :Port => port)
20
- # s.mount "/blog", WEBrick::CampingHandler, Blog
21
- # s.mount_proc("/") { ... }
22
- #
23
- # == How Does it Compare?
24
- #
25
- # Compared to other handlers, WEBrick is well-equipped in terms of features.
26
- #
27
- # * The <tt>X-Sendfile</tt> header is supported, along with etags and
28
- # modification time headers for the file served. Since this handler
29
- # is a subclass of WEBrick::HTTPServlet::DefaultFileHandler, all of its
30
- # logic is used.
31
- # * IO is streaming up and down. When you upload a file, it is streamed to
32
- # the server's filesystem. When you download a file, it is streamed to
33
- # your browser.
34
- #
35
- # While WEBrick is a bit slower than Mongrel and FastCGI options, it's
36
- # a decent choice, for sure!
37
- class CampingHandler < WEBrick::HTTPServlet::DefaultFileHandler
38
- # Creates a CampingHandler, which answers for the application within +klass+.
39
- def initialize(server, klass)
40
- super(server, klass)
41
- @klass = klass
42
- end
43
- # Handler for WEBrick requests (also aliased as do_POST).
44
- def service(req, resp)
45
- controller = @klass.run((req.body and StringIO.new(req.body)), req.meta_vars)
46
- resp.status = controller.status
47
- @local_path = nil
48
- controller.headers.each do |k, v|
49
- if k =~ /^X-SENDFILE$/i
50
- @local_path = v
51
- else
52
- [*v].each do |vi|
53
- resp[k] = vi
54
- end
55
- end
56
- end
57
-
58
- if @local_path
59
- do_GET(req, resp)
60
- else
61
- resp.body = controller.body.to_s
62
- end
63
- end
64
- end
65
- end