ramaze 0.1.2 → 0.1.3

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 (96) hide show
  1. data/Rakefile +1 -1
  2. data/doc/AUTHORS +2 -0
  3. data/doc/CHANGELOG +173 -0
  4. data/doc/changes.txt +4184 -0
  5. data/doc/changes.xml +4186 -0
  6. data/doc/meta/announcement.txt +22 -25
  7. data/doc/meta/internals.txt +146 -9
  8. data/examples/blog/template/index.xhtml +5 -2
  9. data/examples/fcgi.rb +13 -0
  10. data/examples/wiktacular/main.rb +8 -0
  11. data/examples/wiktacular/mkd/link/2007-07-20_19-45-51.mkd +1 -0
  12. data/examples/wiktacular/mkd/link/current.mkd +1 -0
  13. data/examples/wiktacular/mkd/main/2007-07-20_16-31-33.mkd +1 -0
  14. data/examples/wiktacular/mkd/main/2007-07-20_19-21-12.mkd +1 -0
  15. data/examples/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +2 -0
  16. data/examples/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +2 -0
  17. data/examples/wiktacular/mkd/main/current.mkd +2 -0
  18. data/examples/wiktacular/mkd/markdown/current.mkd +3 -0
  19. data/examples/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +2 -0
  20. data/examples/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd +3 -0
  21. data/examples/wiktacular/mkd/testing/2007-07-21_18-46-01.mkd +11 -0
  22. data/examples/wiktacular/mkd/testing/2007-07-21_18-46-32.mkd +13 -0
  23. data/examples/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd +17 -0
  24. data/examples/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd +17 -0
  25. data/examples/wiktacular/mkd/testing/current.mkd +17 -0
  26. data/examples/wiktacular/public/favicon.ico +0 -0
  27. data/examples/wiktacular/public/screen.css +72 -0
  28. data/examples/wiktacular/src/controller.rb +44 -0
  29. data/examples/wiktacular/src/model.rb +92 -0
  30. data/examples/wiktacular/src/page.rb +66 -0
  31. data/examples/wiktacular/template/edit.xhtml +7 -0
  32. data/examples/wiktacular/template/index.xhtml +11 -0
  33. data/examples/wiktacular/template/new.xhtml +7 -0
  34. data/lib/proto/main.rb +2 -0
  35. data/lib/proto/public/error.zmr +3 -0
  36. data/lib/proto/public/js/jquery.js +1755 -1334
  37. data/lib/proto/template/index.xhtml +2 -2
  38. data/lib/ramaze.rb +8 -3
  39. data/lib/ramaze/action/render.rb +11 -0
  40. data/lib/ramaze/adapter/base.rb +11 -7
  41. data/lib/ramaze/cache.rb +25 -10
  42. data/lib/ramaze/cache/memcached.rb +16 -1
  43. data/lib/ramaze/cache/yaml_store.rb +10 -0
  44. data/lib/ramaze/controller.rb +12 -2
  45. data/lib/ramaze/controller/error.rb +9 -3
  46. data/lib/ramaze/controller/resolve.rb +20 -18
  47. data/lib/ramaze/dispatcher.rb +13 -4
  48. data/lib/ramaze/dispatcher/action.rb +7 -3
  49. data/lib/ramaze/dispatcher/error.rb +24 -2
  50. data/lib/ramaze/dispatcher/file.rb +12 -6
  51. data/lib/ramaze/global.rb +0 -3
  52. data/lib/ramaze/global/dsl.rb +9 -0
  53. data/lib/ramaze/global/globalstruct.rb +7 -1
  54. data/lib/ramaze/helper/aspect.rb +4 -2
  55. data/lib/ramaze/helper/cgi.rb +2 -2
  56. data/lib/ramaze/helper/file.rb +3 -0
  57. data/lib/ramaze/helper/link.rb +20 -0
  58. data/lib/ramaze/helper/markaby.rb +3 -0
  59. data/lib/ramaze/helper/pager.rb +10 -17
  60. data/lib/ramaze/helper/partial.rb +9 -3
  61. data/lib/ramaze/inform/analogger.rb +14 -0
  62. data/lib/ramaze/inform/growl.rb +7 -0
  63. data/lib/ramaze/inform/hub.rb +9 -0
  64. data/lib/ramaze/inform/informer.rb +9 -3
  65. data/lib/ramaze/inform/informing.rb +9 -3
  66. data/lib/ramaze/inform/knotify.rb +5 -1
  67. data/lib/ramaze/inform/syslog.rb +3 -0
  68. data/lib/ramaze/inform/xosd.rb +12 -0
  69. data/lib/ramaze/template.rb +3 -0
  70. data/lib/ramaze/template/amrita2.rb +2 -0
  71. data/lib/ramaze/template/erubis.rb +1 -0
  72. data/lib/ramaze/template/ezamar.rb +1 -0
  73. data/lib/ramaze/template/ezamar/element.rb +17 -11
  74. data/lib/ramaze/template/ezamar/engine.rb +5 -0
  75. data/lib/ramaze/template/ezamar/render_partial.rb +4 -2
  76. data/lib/ramaze/template/haml.rb +4 -0
  77. data/lib/ramaze/template/liquid.rb +4 -0
  78. data/lib/ramaze/template/markaby.rb +4 -0
  79. data/lib/ramaze/template/remarkably.rb +4 -0
  80. data/lib/ramaze/tool.rb +10 -0
  81. data/lib/ramaze/tool/localize.rb +1 -1
  82. data/lib/ramaze/trinity/session.rb +8 -1
  83. data/lib/ramaze/version.rb +1 -1
  84. data/rake_tasks/maintaince.rake +2 -2
  85. data/spec/ramaze/action/basics.rb +1 -1
  86. data/spec/ramaze/cache.rb +11 -0
  87. data/spec/ramaze/controller.rb +0 -14
  88. data/spec/ramaze/dispatcher/file.rb +5 -5
  89. data/spec/ramaze/dispatcher/public/favicon.ico +0 -0
  90. data/spec/ramaze/dispatcher/public/test_download.css +141 -0
  91. data/spec/ramaze/error.rb +21 -7
  92. data/spec/ramaze/helper/link.rb +15 -0
  93. data/spec/ramaze/helper/pager.rb +26 -3
  94. data/spec/ramaze/helper/partial.rb +2 -2
  95. metadata +43 -4
  96. data/doc/COPYING.ja +0 -51
data/spec/ramaze/error.rb CHANGED
@@ -16,6 +16,14 @@ class TCErrorController < Ramaze::Controller
16
16
  end
17
17
  end
18
18
 
19
+ class TCErrorCustomController < Ramaze::Controller
20
+ map "/custom"
21
+
22
+ def error
23
+ "The error page of custom"
24
+ end
25
+ end
26
+
19
27
  describe "Error" do
20
28
  ramaze :error_page => true, :public_root => 'spec/ramaze/public'
21
29
 
@@ -24,6 +32,12 @@ describe "Error" do
24
32
  @handle_error = Ramaze::Dispatcher::Error::HANDLE_ERROR
25
33
  end
26
34
 
35
+ it 'should resolve custom error pages per controller' do
36
+ response = get("/custom/does_not_exist")
37
+ response.status.should == 404
38
+ response.body.should == "The error page of custom"
39
+ end
40
+
27
41
  it 'should throw errors from rendering' do
28
42
  response = get('/erroring')
29
43
  response.status.should == 500
@@ -32,7 +46,7 @@ describe "Error" do
32
46
  end
33
47
 
34
48
  it 'should give 404 when no action is found' do
35
- response = get('/illegal')
49
+ response = get('/foobar')
36
50
  response.status.should == 404
37
51
  response.body.should =~ %r(No Action found for `/foobar' on TCErrorController)
38
52
  end
@@ -41,22 +55,22 @@ describe "Error" do
41
55
  @handle_error.should_receive(:[]).twice.
42
56
  with(Ramaze::Error::NoAction).and_return{ [707, '/error'] }
43
57
 
44
- response = get('/illegal')
58
+ response = get('/illegal1')
45
59
  response.status.should == 707
46
- response.body.should =~ %r(No Action found for `/illegal' on TCErrorController)
60
+ response.body.should =~ %r(No Action found for `/illegal1' on TCErrorController)
47
61
  end
48
62
 
49
63
  it "should give 404 when no controller is found" do
50
- Ramaze::Global.should_receive(:mapping).once.and_return{ {} }
51
- response = get('/illegal')
64
+ Ramaze::Global.should_receive(:mapping).exactly(3).times.and_return{ {} }
65
+ response = get('/illegal2')
52
66
  response.status.should == 404
53
- response.body.should =~ %r(No Controller found for `/error')
67
+ response.body.should =~ %r(No Controller found for `/illegal2')
54
68
  end
55
69
 
56
70
  it "should return custom error page" do
57
71
  @handle_error.should_receive(:[]).twice.
58
72
  with(Ramaze::Error::NoAction).and_return{ [404, '/error404'] }
59
- response = get('/illegal')
73
+ response = get('/illegal3')
60
74
  response.status.should == 404
61
75
  response.body.should == '404 - not found'
62
76
  end
@@ -31,3 +31,18 @@ describe 'R' do
31
31
  R(TCLink, :foo, :bar => :baz).should == '/foo?bar=baz'
32
32
  end
33
33
  end
34
+
35
+ describe 'breadcrumbs' do
36
+ include Ramaze::LinkHelper
37
+
38
+ it 'should lay out breadcrumbs' do
39
+ breadcrumbs('/file/dir/listing/is/cool').
40
+ should == [
41
+ "<a href=\"/file\">file</a>",
42
+ "<a href=\"/file/dir\">dir</a>",
43
+ "<a href=\"/file/dir/listing\">listing</a>",
44
+ "<a href=\"/file/dir/listing/is\">is</a>",
45
+ "<a href=\"/file/dir/listing/is/cool\">cool</a>"
46
+ ].join('/')
47
+ end
48
+ end
@@ -3,7 +3,9 @@
3
3
 
4
4
  require 'spec/helper'
5
5
 
6
- class TC_PagerController < Ramaze::Controller
6
+ testcase_requires 'hpricot'
7
+
8
+ class TCPagerController < Ramaze::Controller
7
9
  map '/'
8
10
  helper :pager
9
11
 
@@ -17,11 +19,32 @@ class TC_PagerController < Ramaze::Controller
17
19
 
18
20
  end
19
21
 
20
- describe "StackHelper" do
22
+ describe "PagerHelper" do
23
+ include Ramaze::PagerHelper
24
+
21
25
  before(:all){ ramaze }
22
26
 
23
- it "conventional login" do
27
+ # Used internally in Pager to get parameters like: ?_page=1
28
+
29
+ def request
30
+ req = mock("Request")
31
+ req.should_receive(:params).with(no_args).
32
+ once.
33
+ and_return(Ramaze::Pager.trait[:key] => 1)
34
+ req
35
+ end
36
+
37
+ it "should be paginated" do
24
38
  get('/page').body.should == '[1, 2]'
25
39
  get("/page", Ramaze::Pager.trait[:key] => '2').body.should == '[3, 4]'
26
40
  end
41
+
42
+ it "should link to other pages" do
43
+ stuff = [1, 2, 3, 4, 5, 6, 7, 8, 9]
44
+
45
+ items, pager = paginate(stuff, :limit => 2)
46
+ page = Hpricot(pager.navigation)
47
+ (page / 'a').size.should == 6
48
+ end
49
+
27
50
  end
@@ -9,7 +9,7 @@ class TCPartialHelperController < Ramaze::Controller
9
9
  template_root(File.dirname(__FILE__)/:template)
10
10
 
11
11
  def index
12
- '<http><head><title>#{render_partial("/title")}</title></head></http>'
12
+ '<html><head><title>#{render_partial("/title")}</title></head></html>'
13
13
  end
14
14
 
15
15
  def title
@@ -29,7 +29,7 @@ describe "PartialHelper" do
29
29
  end
30
30
 
31
31
  it "should render partials" do
32
- get('/').body.should == '<http><head><title>Title</title></head></http>'
32
+ get('/').body.should == '<html><head><title>Title</title></head></html>'
33
33
  end
34
34
 
35
35
  it 'should be able to render a template in the current scope' do
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: ramaze
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.1.2
7
- date: 2007-06-17 00:00:00 +09:00
6
+ version: 0.1.3
7
+ date: 2007-07-21 00:00:00 +09:00
8
8
  summary: Ramaze tries to be a very simple Webframework without the voodoo
9
9
  require_paths:
10
10
  - lib
@@ -35,7 +35,7 @@ post_install_message: |-
35
35
  ramaze --create yourproject
36
36
 
37
37
  * Browse and try the Examples in
38
- /usr/lib/ruby/gems/1.8/gems/ramaze-0.1.2/examples
38
+ /usr/lib/ruby/gems/1.8/gems/ramaze-0.1.3/examples
39
39
 
40
40
  ============================================================
41
41
  authors:
@@ -62,6 +62,40 @@ files:
62
62
  - examples/blog/public/styles/blog.css
63
63
  - examples/nitro_form.rb
64
64
  - examples/caching.rb
65
+ - examples/wiktacular
66
+ - examples/wiktacular/mkd
67
+ - examples/wiktacular/mkd/link
68
+ - examples/wiktacular/mkd/link/2007-07-20_19-45-51.mkd
69
+ - examples/wiktacular/mkd/link/current.mkd
70
+ - examples/wiktacular/mkd/main
71
+ - examples/wiktacular/mkd/main/2007-07-20_19-45-07.mkd
72
+ - examples/wiktacular/mkd/main/current.mkd
73
+ - examples/wiktacular/mkd/main/2007-07-20_19-21-12.mkd
74
+ - examples/wiktacular/mkd/main/2007-07-20_19-23-10.mkd
75
+ - examples/wiktacular/mkd/main/2007-07-20_16-31-33.mkd
76
+ - examples/wiktacular/mkd/testing
77
+ - examples/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd
78
+ - examples/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd
79
+ - examples/wiktacular/mkd/testing/current.mkd
80
+ - examples/wiktacular/mkd/testing/2007-07-21_18-46-01.mkd
81
+ - examples/wiktacular/mkd/testing/2007-07-21_18-46-32.mkd
82
+ - examples/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd
83
+ - examples/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd
84
+ - examples/wiktacular/mkd/markdown
85
+ - examples/wiktacular/mkd/markdown/current.mkd
86
+ - examples/wiktacular/src
87
+ - examples/wiktacular/src/model.rb
88
+ - examples/wiktacular/src/controller.rb
89
+ - examples/wiktacular/src/page.rb
90
+ - examples/wiktacular/template
91
+ - examples/wiktacular/template/new.xhtml
92
+ - examples/wiktacular/template/edit.xhtml
93
+ - examples/wiktacular/template/index.xhtml
94
+ - examples/wiktacular/main.rb
95
+ - examples/wiktacular/public
96
+ - examples/wiktacular/public/favicon.ico
97
+ - examples/wiktacular/public/screen.css
98
+ - examples/fcgi.rb
65
99
  - examples/memleak_detector.rb
66
100
  - examples/todolist
67
101
  - examples/todolist/src
@@ -125,7 +159,6 @@ files:
125
159
  - doc/readme_chunks/installing.txt
126
160
  - doc/readme_chunks/features.txt
127
161
  - doc/readme_chunks/getting_help.txt
128
- - doc/COPYING.ja
129
162
  - doc/tutorial
130
163
  - doc/tutorial/todolist.html
131
164
  - doc/tutorial/todolist.mkd
@@ -133,6 +166,8 @@ files:
133
166
  - doc/INSTALL
134
167
  - doc/COPYING
135
168
  - doc/ProjectInfo
169
+ - doc/changes.txt
170
+ - doc/changes.xml
136
171
  - spec/helper
137
172
  - spec/helper/context.rb
138
173
  - spec/helper/simple_http.rb
@@ -235,6 +270,9 @@ files:
235
270
  - spec/ramaze/public/error404.xhtml
236
271
  - spec/ramaze/dispatcher
237
272
  - spec/ramaze/dispatcher/file.rb
273
+ - spec/ramaze/dispatcher/public
274
+ - spec/ramaze/dispatcher/public/favicon.ico
275
+ - spec/ramaze/dispatcher/public/test_download.css
238
276
  - spec/ramaze/gestalt.rb
239
277
  - spec/ramaze/session.rb
240
278
  - spec/ramaze/element.rb
@@ -333,6 +371,7 @@ files:
333
371
  - lib/ramaze/helper/nitroform.rb
334
372
  - lib/ramaze/helper/inform.rb
335
373
  - lib/ramaze/adapter.rb
374
+ - lib/ramaze/tool.rb
336
375
  - lib/ramaze/inform
337
376
  - lib/ramaze/inform/informer.rb
338
377
  - lib/ramaze/inform/xosd.rb
data/doc/COPYING.ja DELETED
@@ -1,51 +0,0 @@
1
- $BK\%W%m%0%i%`$O%U%j!<%=%U%H%&%'%"$G$9!%(BGPL(the GNU General
2
- Public License)$B$^$?$O0J2<$K<($9>r7o$GK\%W%m%0%i%`$r:FG[I[$G(B
3
- $B$-$^$9!%(BGPL$B$K$D$$$F$O(BGPL$B%U%!%$%k$r;2>H$7$F2<$5$$!%(B
4
-
5
- 1. $BJ#@=$O@)8B$J$/<+M3$G$9!%(B
6
-
7
- 2. $B0J2<$N>r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$N%=!<%9$r(B
8
- $B<+M3$KJQ99$G$-$^$9!%(B
9
-
10
- (a) $B%M%C%H%K%e!<%:$K%]%9%H$7$?$j!$:n<T$KJQ99$rAwIU$9$k(B
11
- $B$J$I$NJ}K!$G!$JQ99$r8x3+$9$k!%(B
12
-
13
- (b) $BJQ99$7$?K\%W%m%0%i%`$r<+J,$N=jB0$9$kAH?%FbIt$@$1$G(B
14
- $B;H$&!%(B
15
-
16
- (c) $BJQ99E@$rL@<($7$?$&$(!$%=%U%H%&%'%"$NL>A0$rJQ99$9$k!%(B
17
- $B$=$N%=%U%H%&%'%"$rG[I[$9$k;~$K$OJQ99A0$NK\%W%m%0%i(B
18
- $B%`$bF1;~$KG[I[$9$k!%$^$?$OJQ99A0$NK\%W%m%0%i%`$N%=!<(B
19
- $B%9$NF~<jK!$rL@<($9$k!%(B
20
-
21
- (d) $B$=$NB>$NJQ99>r7o$r:n<T$H9g0U$9$k!%(B
22
-
23
- 3. $B0J2<$N>r7o$N$$$:$l$+$rK~$?$9;~$KK\%W%m%0%i%`$r%3%s%Q%$(B
24
- $B%k$7$?%*%V%8%'%/%H%3!<%I$d<B9T7A<0$G$bG[I[$G$-$^$9!%(B
25
-
26
- (a) $B%P%$%J%j$r<u$1<h$C$??M$,%=!<%9$rF~<j$G$-$k$h$&$K!$(B
27
- $B%=!<%9$NF~<jK!$rL@<($9$k!%(B
28
-
29
- (b) $B5!3#2DFI$J%=!<%9%3!<%I$rE:IU$9$k!%(B
30
-
31
- (c) $BJQ99$r9T$C$?%P%$%J%j$OL>A0$rJQ99$7$?$&$(!$%*%j%8%J(B
32
- $B%k$N%=!<%9%3!<%I$NF~<jK!$rL@<($9$k!%(B
33
-
34
- (d) $B$=$NB>$NG[I[>r7o$r:n<T$H9g0U$9$k!%(B
35
-
36
- 4. $BB>$N%W%m%0%i%`$X$N0zMQ$O$$$+$J$kL\E*$G$"$l<+M3$G$9!%$?(B
37
- $B$@$7!$K\%W%m%0%i%`$K4^$^$l$kB>$N:n<T$K$h$k%3!<%I$O!$$=(B
38
- $B$l$>$l$N:n<T$N0U8~$K$h$k@)8B$,2C$($i$l$k>l9g$,$"$j$^$9!%(B
39
-
40
- $B$=$l$i%U%!%$%k$N0lMw$H$=$l$>$l$NG[I[>r7o$J$I$KIU$$$F$O(B
41
- LEGAL$B%U%!%$%k$r;2>H$7$F$/$@$5$$!%(B
42
-
43
- 5. $BK\%W%m%0%i%`$X$NF~NO$H$J$k%9%/%j%W%H$*$h$S!$K\%W%m%0%i(B
44
- $B%`$+$i$N=PNO$N8"Mx$OK\%W%m%0%i%`$N:n<T$G$O$J$/!$$=$l$>(B
45
- $B$l$NF~=PNO$r@8@.$7$??M$KB0$7$^$9!%$^$?!$K\%W%m%0%i%`$K(B
46
- $BAH$_9~$^$l$k$?$a$N3HD%%i%$%V%i%j$K$D$$$F$bF1MM$G$9!%(B
47
-
48
- 6. $BK\%W%m%0%i%`$OL5J]>Z$G$9!%:n<T$OK\%W%m%0%i%`$r%5%]!<%H(B
49
- $B$9$k0U;V$O$"$j$^$9$,!$%W%m%0%i%`<+?H$N%P%0$"$k$$$OK\%W(B
50
- $B%m%0%i%`$N<B9T$J$I$+$iH/@8$9$k$$$+$J$kB;32$KBP$7$F$b@U(B
51
- $BG$$r;}$A$^$;$s!%(B