camping 1.5.180 → 2.0.rc0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/CHANGELOG +35 -0
  2. data/README +43 -68
  3. data/Rakefile +155 -86
  4. data/bin/camping +64 -246
  5. data/book/01_introduction +19 -0
  6. data/book/02_getting_started +443 -0
  7. data/book/51_upgrading +93 -0
  8. data/doc/api.html +1953 -0
  9. data/doc/book.html +73 -0
  10. data/doc/book/01_introduction.html +57 -0
  11. data/doc/book/02_getting_started.html +573 -0
  12. data/doc/book/51_upgrading.html +146 -0
  13. data/doc/created.rid +1 -0
  14. data/{extras → doc/images}/Camping.gif +0 -0
  15. data/doc/images/loadingAnimation.gif +0 -0
  16. data/{extras → doc/images}/permalink.gif +0 -0
  17. data/doc/index.html +148 -0
  18. data/doc/js/camping.js +79 -0
  19. data/doc/js/jquery.js +32 -0
  20. data/doc/rdoc.css +117 -0
  21. data/examples/blog.rb +280 -181
  22. data/extras/images/badge.gif +0 -0
  23. data/extras/images/boys-life.png +0 -0
  24. data/extras/images/deerputer.png +0 -0
  25. data/extras/images/diagram.png +0 -0
  26. data/extras/images/hill.png +0 -0
  27. data/extras/images/i-wish.png +0 -0
  28. data/extras/images/latl.png +0 -0
  29. data/extras/images/little-wheels.png +0 -0
  30. data/extras/images/square-badge.png +0 -0
  31. data/extras/images/uniform.png +0 -0
  32. data/extras/images/whale-bounce.png +0 -0
  33. data/extras/rdoc/generator/singledarkfish.rb +205 -0
  34. data/extras/rdoc/generator/template/flipbook/images/Camping.gif +0 -0
  35. data/extras/rdoc/generator/template/flipbook/images/loadingAnimation.gif +0 -0
  36. data/extras/rdoc/generator/template/flipbook/images/permalink.gif +0 -0
  37. data/extras/rdoc/generator/template/flipbook/js/camping.js +79 -0
  38. data/extras/rdoc/generator/template/flipbook/js/jquery.js +32 -0
  39. data/extras/rdoc/generator/template/flipbook/page.rhtml +30 -0
  40. data/extras/rdoc/generator/template/flipbook/rdoc.css +117 -0
  41. data/extras/rdoc/generator/template/flipbook/readme.rhtml +31 -0
  42. data/extras/rdoc/generator/template/flipbook/reference.rhtml +71 -0
  43. data/extras/rdoc/generator/template/flipbook/toc.rhtml +43 -0
  44. data/lib/camping-unabridged.rb +420 -481
  45. data/lib/camping.rb +40 -55
  46. data/lib/camping/{db.rb → ar.rb} +5 -8
  47. data/lib/camping/mab.rb +26 -0
  48. data/lib/camping/reloader.rb +175 -147
  49. data/lib/camping/server.rb +178 -0
  50. data/lib/camping/session.rb +34 -121
  51. data/test/apps/env_debug.rb +65 -0
  52. data/test/apps/forms.rb +95 -0
  53. data/test/apps/forward_to_other_controller.rb +60 -0
  54. data/test/apps/migrations.rb +97 -0
  55. data/test/apps/misc.rb +86 -0
  56. data/test/apps/sessions.rb +38 -0
  57. metadata +120 -80
  58. data/doc/camping.1.gz +0 -0
  59. data/examples/campsh.rb +0 -630
  60. data/examples/tepee.rb +0 -242
  61. data/extras/flipbook_rdoc.rb +0 -491
  62. data/lib/camping/fastcgi.rb +0 -244
  63. data/lib/camping/webrick.rb +0 -65
  64. data/test/test_xhtml_trans.rb +0 -55
@@ -0,0 +1,60 @@
1
+ require 'camping'
2
+
3
+ Camping.goes :ForwardToOtherController
4
+
5
+ module ForwardToOtherController
6
+
7
+ module Controllers
8
+
9
+ class Index < R '/'
10
+ attr_accessor :msg
11
+
12
+ def get
13
+ puts "msg=#{@msg}"
14
+ puts "input=#{input.inspect}"
15
+ render :index
16
+ end
17
+ end
18
+
19
+ class Start < R '/start'
20
+ def get
21
+ render :start
22
+ end
23
+ end
24
+
25
+ class Welcome < R '/welcome'
26
+ def post
27
+ if input.name == '_why'
28
+ msg = "Wow you're back _why! This is front-page news!"
29
+ r *ForwardToOtherController.get(:Index, :msg => msg, :input => input )
30
+ end
31
+
32
+ @result = "Welcome #{input.name}!"
33
+ render :welcome
34
+ end
35
+ end
36
+
37
+ end
38
+
39
+ module Views
40
+ def index
41
+ h1 @msg if @msg && !@msg.empty?
42
+ a "Start", :href=> "/start"
43
+ end
44
+
45
+ def start
46
+ h3 "Start"
47
+
48
+ form :action=>R(Welcome), :method=>:post do
49
+ label "Who are you?", :for=>:name
50
+ div "Note: type _why if you want to test the forward logic otherwise just type your name", :style=>"color:green;font-size:8pt;"
51
+ input :type=>:text, :name=>:name; br
52
+ input :type=>:submit
53
+ end
54
+ end
55
+
56
+ def welcome
57
+ div "#{@result}"
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,97 @@
1
+ require "camping"
2
+
3
+ Camping.goes :Migrations
4
+
5
+ module Migrations
6
+ module Models
7
+ class BadDude < Base; end
8
+ class TableCreation < V 1.0
9
+ def self.up
10
+ puts "FORCE THE TABLES"
11
+ create_table BadDude.table_name, :force=>true do |t|
12
+ t.string :name, :limit => 255
13
+ t.integer :bad
14
+ t.timestamps
15
+ end
16
+ end
17
+ def self.down
18
+ drop_table BadDude.table_name
19
+ end
20
+ end
21
+ class StartingDudes < V 1.3
22
+ def self.up
23
+ puts "There is only one way to make sure Bruce is the baddest"
24
+ BadDude.create :name => "Bruce", :bad => 1
25
+ BadDude.create :name => "Bruce", :bad => 2
26
+ BadDude.create :name => "Bruce", :bad => 5
27
+ end
28
+ def self.down
29
+ BadDude.delete_by_name "Bruce"
30
+ end
31
+ end
32
+ class WeNeedMoreDudes < V 2.7
33
+ def self.up
34
+ puts "Maybe a non Bruce would help our worst case scenario planning"
35
+ BadDude.create :name => "Bob", :bad => 3
36
+ BadDude.create :name => "Samantha", :bad => 3
37
+ end
38
+ def self.down
39
+ BadDude.delete_by_name "Bob"
40
+ BadDude.delete_by_name "Samantha"
41
+ end
42
+ end
43
+ class NoIMeanWeNeedBadderDudes < V 3.14159
44
+ def self.up
45
+ puts "just in case things get ugly"
46
+ sam = BadDude.find_by_name "Samantha"
47
+ sam.bad = 9001
48
+ sam.save
49
+ end
50
+ def self.down
51
+ sam = BadDude.find_by_name "Samantha"
52
+ sam.bad = 3
53
+ sam.save
54
+ end
55
+ end
56
+ class WaitWeShouldDoThisEarlier < V 3.11
57
+ def self.up
58
+ puts "for workgroups"
59
+ bruce = BadDude.find_by_name "Bob"
60
+ bruce.bad = 45
61
+ bruce.save
62
+ end
63
+ def self.down
64
+ bruce = BadDude.find_by_name "Bob"
65
+ bruce.bad = 3
66
+ bruce.save
67
+ end
68
+ end
69
+ end
70
+ module Controllers
71
+ class Bad < R '/(\d+)?'
72
+ def get enough
73
+ @dudes = BadDude.all :conditions => ["bad >= ?", enough.to_i]
74
+ @howbad = enough
75
+ render :savethepresident
76
+ end
77
+ end
78
+ end
79
+ module Views
80
+ def savethepresident
81
+ h1.ohnoes "The President Has Been Kidnapped By #{@howbad} Ninjas!"
82
+ if @dudes.empty?
83
+ div "None of the dudes are bad enough to rescue him, We are doomed!"
84
+ else
85
+ div "Please get the following dudes:"
86
+ ul.dudes do
87
+ @dudes.each do |dude|
88
+ li.dude dude.name
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
95
+ def Migrations.create
96
+ Migrations::Models.create_schema
97
+ end
data/test/apps/misc.rb ADDED
@@ -0,0 +1,86 @@
1
+ require "camping"
2
+
3
+ Camping.goes :Misc
4
+
5
+ module Misc
6
+ module Controllers
7
+ class Index < R '/'
8
+ def get; render :index end
9
+ end
10
+ class RenderPartial
11
+ def get; render :_partial; end
12
+ end
13
+ class Xsendfile
14
+ def get
15
+ @headers["X-Sendfile"] = File.expand_path(__FILE__)
16
+ "You shouldn't get this text"
17
+ end
18
+ end
19
+ class Links < R '/links', '/links/(\w+)/with/(\d+)/args'
20
+ def get(*args); render :links; end
21
+ end
22
+ class Redirect
23
+ def get; redirect(RR) end
24
+ end
25
+ class RR
26
+ def get; render :rr; end
27
+ end
28
+ class BadLinks
29
+ def get; render :bad_links; end
30
+ end
31
+ class BadMethod; end
32
+ end
33
+
34
+ module Views
35
+ def layout
36
+ html do
37
+ head{ title C }
38
+ body do
39
+ ul do
40
+ li{ a "index", :href=>R(Index)}
41
+ li{ a "render partial", :href=>R(RenderPartial)}
42
+ li{ a "X-Sendfile", :href=>R(Xsendfile)}
43
+ li{ a "Links", :href=>R(Links)}
44
+ li{ a "BadLinks", :href=>R(BadLinks)}
45
+ li{ a "Redirect", :href=>R(Redirect)}
46
+ li{ a "BadMethod", :href=>R(BadMethod)}
47
+ end
48
+ p { yield }
49
+ end
50
+ end
51
+ end
52
+
53
+ def _partial
54
+ a "go back to index", :href=>R(Index)
55
+ end
56
+
57
+ def index
58
+ h1 "Welcome on the Camping test app"
59
+ end
60
+
61
+ def links
62
+ a "plain", :href=>R(Links); br
63
+ a "with args and hash", :href=>R(Links, "moo", 3, :with=>"Hash"); br
64
+ a "with args and mult. hash", :href=>R(Links, "hoi", 8, :with=>"multiple", 3=>"hash"); br
65
+ # TODO : with <AR::Base object
66
+ end
67
+
68
+ def bad_links
69
+ a "null controller", :href=>R(nil)
70
+ a "bad arity", :href=>R(RR, :moo)
71
+ a "bad args", :href=>R(Links, 3, "moo")
72
+ end
73
+
74
+ def rr
75
+ p "got redirected"
76
+ end
77
+
78
+
79
+ end
80
+ end
81
+
82
+ # For CGI
83
+ if $0 == __FILE__
84
+ Misc.create
85
+ Misc.run
86
+ end
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "rubygems"
4
+ require "camping"
5
+
6
+ Camping.goes :Sessions
7
+ require 'camping/session'
8
+
9
+ module Sessions
10
+ include Camping::Session
11
+ module Controllers
12
+ class One < R('/')
13
+ def get
14
+ @state = C::H['one',rand(100)]
15
+ puts "1:" + @state.inspect
16
+ redirect R(Two)
17
+ end
18
+ end
19
+
20
+ class Two < R('/steptwo')
21
+ def get
22
+ @state['two'] = "This is in two"
23
+ puts "2:" + @state.inspect
24
+ redirect R(Three)
25
+ end
26
+ end
27
+
28
+ class Three < R('/stepthree')
29
+ def get
30
+ @state['three'] = "This is in three"
31
+ puts "3:" + @state.inspect
32
+ return "Accumulated state across redirects: #{@state.inspect}"
33
+ redirect R(Three)
34
+ end
35
+ end
36
+ end
37
+ end
38
+
metadata CHANGED
@@ -1,106 +1,146 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0.8
3
- specification_version: 1
4
2
  name: camping
5
3
  version: !ruby/object:Gem::Version
6
- version: 1.5.180
7
- date: 2007-01-06 00:00:00 -07:00
8
- summary: minature rails for stay-at-home moms
9
- require_paths:
10
- - lib
11
- email: why@ruby-lang.org
12
- homepage: http://code.whytheluckystiff.net/camping/
13
- rubyforge_project:
14
- description: minature rails for stay-at-home moms
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.8.2
24
- version:
4
+ prerelease: true
5
+ segments:
6
+ - 2
7
+ - 0
8
+ - rc0
9
+ version: 2.0.rc0
25
10
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
11
  authors:
30
12
  - why the lucky stiff
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-04-03 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rack
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 0
30
+ version: "1.0"
31
+ type: :runtime
32
+ version_requirements: *id001
33
+ description:
34
+ email: why@ruby-lang.org
35
+ executables:
36
+ - camping
37
+ extensions: []
38
+
39
+ extra_rdoc_files:
40
+ - README
41
+ - CHANGELOG
42
+ - COPYING
43
+ - book/01_introduction
44
+ - book/02_getting_started
45
+ - book/51_upgrading
31
46
  files:
32
47
  - COPYING
33
48
  - README
34
49
  - Rakefile
35
50
  - bin/camping
36
- - doc/camping.1.gz
37
- - test/test_xhtml_trans.rb
38
- - lib/camping
39
- - lib/camping.rb
40
- - lib/camping-unabridged.rb
51
+ - doc/api.html
52
+ - doc/book/01_introduction.html
53
+ - doc/book/02_getting_started.html
54
+ - doc/book/51_upgrading.html
55
+ - doc/book.html
56
+ - doc/created.rid
57
+ - doc/images/Camping.gif
58
+ - doc/images/loadingAnimation.gif
59
+ - doc/images/permalink.gif
60
+ - doc/index.html
61
+ - doc/js/camping.js
62
+ - doc/js/jquery.js
63
+ - doc/rdoc.css
64
+ - test/apps/env_debug.rb
65
+ - test/apps/forms.rb
66
+ - test/apps/forward_to_other_controller.rb
67
+ - test/apps/migrations.rb
68
+ - test/apps/misc.rb
69
+ - test/apps/sessions.rb
70
+ - lib/camping/ar.rb
71
+ - lib/camping/mab.rb
41
72
  - lib/camping/reloader.rb
42
- - lib/camping/fastcgi.rb
73
+ - lib/camping/server.rb
43
74
  - lib/camping/session.rb
44
- - lib/camping/db.rb
45
- - lib/camping/webrick.rb
46
- - extras/permalink.gif
47
- - extras/Camping.gif
48
- - extras/flipbook_rdoc.rb
49
- - examples/campsh.rb
50
- - examples/tepee.rb
75
+ - lib/camping-unabridged.rb
76
+ - lib/camping.rb
77
+ - extras/images/badge.gif
78
+ - extras/images/boys-life.png
79
+ - extras/images/deerputer.png
80
+ - extras/images/diagram.png
81
+ - extras/images/hill.png
82
+ - extras/images/i-wish.png
83
+ - extras/images/latl.png
84
+ - extras/images/little-wheels.png
85
+ - extras/images/square-badge.png
86
+ - extras/images/uniform.png
87
+ - extras/images/whale-bounce.png
88
+ - extras/rdoc/generator/singledarkfish.rb
89
+ - extras/rdoc/generator/template/flipbook/images/Camping.gif
90
+ - extras/rdoc/generator/template/flipbook/images/loadingAnimation.gif
91
+ - extras/rdoc/generator/template/flipbook/images/permalink.gif
92
+ - extras/rdoc/generator/template/flipbook/js/camping.js
93
+ - extras/rdoc/generator/template/flipbook/js/jquery.js
94
+ - extras/rdoc/generator/template/flipbook/page.rhtml
95
+ - extras/rdoc/generator/template/flipbook/rdoc.css
96
+ - extras/rdoc/generator/template/flipbook/readme.rhtml
97
+ - extras/rdoc/generator/template/flipbook/reference.rhtml
98
+ - extras/rdoc/generator/template/flipbook/toc.rhtml
99
+ - book/01_introduction
100
+ - book/02_getting_started
101
+ - book/51_upgrading
51
102
  - examples/blog.rb
52
103
  - CHANGELOG
53
- test_files: []
104
+ has_rdoc: true
105
+ homepage: http://camping.rubyforge.org/
106
+ licenses: []
54
107
 
108
+ post_install_message:
55
109
  rdoc_options:
56
- - --quiet
57
- - --title
58
- - Camping, the Documentation
59
- - --opname
60
- - index.html
61
110
  - --line-numbers
111
+ - --quiet
62
112
  - --main
63
113
  - README
64
- - --inline-source
65
114
  - --exclude
66
115
  - ^(examples|extras)\/
67
116
  - --exclude
68
117
  - lib/camping.rb
69
- extra_rdoc_files:
70
- - README
71
- - CHANGELOG
72
- - COPYING
73
- executables:
74
- - camping
75
- extensions: []
76
-
118
+ require_paths:
119
+ - lib
120
+ required_ruby_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ segments:
125
+ - 1
126
+ - 8
127
+ - 2
128
+ version: 1.8.2
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">"
132
+ - !ruby/object:Gem::Version
133
+ segments:
134
+ - 1
135
+ - 3
136
+ - 1
137
+ version: 1.3.1
77
138
  requirements: []
78
139
 
79
- dependencies:
80
- - !ruby/object:Gem::Dependency
81
- name: activesupport
82
- version_requirement:
83
- version_requirements: !ruby/object:Gem::Version::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: 1.3.1
88
- version:
89
- - !ruby/object:Gem::Dependency
90
- name: markaby
91
- version_requirement:
92
- version_requirements: !ruby/object:Gem::Version::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: "0.5"
97
- version:
98
- - !ruby/object:Gem::Dependency
99
- name: metaid
100
- version_requirement:
101
- version_requirements: !ruby/object:Gem::Version::Requirement
102
- requirements:
103
- - - ">"
104
- - !ruby/object:Gem::Version
105
- version: 0.0.0
106
- version:
140
+ rubyforge_project: camping
141
+ rubygems_version: 1.3.6
142
+ signing_key:
143
+ specification_version: 3
144
+ summary: minature rails for stay-at-home moms
145
+ test_files: []
146
+