ramaze 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +360 -0
- data/bin/ramaze +152 -0
- data/doc/CHANGELOG +2021 -0
- data/doc/COPYING +56 -0
- data/doc/COPYING.ja +51 -0
- data/doc/README +275 -0
- data/doc/TODO +33 -0
- data/doc/allison/LICENSE +184 -0
- data/doc/allison/README +37 -0
- data/doc/allison/allison.css +300 -0
- data/doc/allison/allison.gif +0 -0
- data/doc/allison/allison.js +307 -0
- data/doc/allison/allison.rb +287 -0
- data/doc/allison/cache/BODY +588 -0
- data/doc/allison/cache/CLASS_INDEX +4 -0
- data/doc/allison/cache/CLASS_PAGE +1 -0
- data/doc/allison/cache/FILE_INDEX +4 -0
- data/doc/allison/cache/FILE_PAGE +1 -0
- data/doc/allison/cache/FONTS +1 -0
- data/doc/allison/cache/FR_INDEX_BODY +1 -0
- data/doc/allison/cache/IMGPATH +1 -0
- data/doc/allison/cache/INDEX +1 -0
- data/doc/allison/cache/JAVASCRIPT +307 -0
- data/doc/allison/cache/METHOD_INDEX +4 -0
- data/doc/allison/cache/METHOD_LIST +1 -0
- data/doc/allison/cache/SRC_PAGE +1 -0
- data/doc/allison/cache/STYLE +322 -0
- data/doc/allison/cache/URL +1 -0
- data/examples/blog/main.rb +16 -0
- data/examples/blog/public/screen.css +106 -0
- data/examples/blog/src/controller.rb +50 -0
- data/examples/blog/src/element.rb +53 -0
- data/examples/blog/src/model.rb +29 -0
- data/examples/blog/template/edit.xhtml +6 -0
- data/examples/blog/template/index.xhtml +24 -0
- data/examples/blog/template/new.xhtml +5 -0
- data/examples/blog/template/view.xhtml +15 -0
- data/examples/blog/test/tc_entry.rb +18 -0
- data/examples/caching.rb +23 -0
- data/examples/element.rb +40 -0
- data/examples/hello.rb +23 -0
- data/examples/simple.rb +60 -0
- data/examples/templates/template/external.haml +21 -0
- data/examples/templates/template/external.liquid +28 -0
- data/examples/templates/template/external.mab +27 -0
- data/examples/templates/template/external.rhtml +29 -0
- data/examples/templates/template/external.rmze +24 -0
- data/examples/templates/template_erubis.rb +50 -0
- data/examples/templates/template_haml.rb +48 -0
- data/examples/templates/template_liquid.rb +64 -0
- data/examples/templates/template_markaby.rb +52 -0
- data/examples/templates/template_ramaze.rb +49 -0
- data/examples/whywiki/main.rb +56 -0
- data/examples/whywiki/template/edit.xhtml +14 -0
- data/examples/whywiki/template/show.xhtml +17 -0
- data/lib/proto/conf/benchmark.yaml +35 -0
- data/lib/proto/conf/debug.yaml +34 -0
- data/lib/proto/conf/live.yaml +33 -0
- data/lib/proto/conf/silent.yaml +31 -0
- data/lib/proto/conf/stage.yaml +33 -0
- data/lib/proto/main.rb +18 -0
- data/lib/proto/public/404.jpg +0 -0
- data/lib/proto/public/css/coderay.css +105 -0
- data/lib/proto/public/css/ramaze_error.css +42 -0
- data/lib/proto/public/error.xhtml +74 -0
- data/lib/proto/public/favicon.ico +0 -0
- data/lib/proto/public/js/jquery.js +1923 -0
- data/lib/proto/public/ramaze.png +0 -0
- data/lib/proto/src/controller/main.rb +7 -0
- data/lib/proto/src/element/page.rb +16 -0
- data/lib/proto/src/model.rb +5 -0
- data/lib/proto/template/index.xhtml +6 -0
- data/lib/ramaze.rb +317 -0
- data/lib/ramaze/adapter/mongrel.rb +111 -0
- data/lib/ramaze/adapter/webrick.rb +161 -0
- data/lib/ramaze/cache.rb +11 -0
- data/lib/ramaze/cache/memcached.rb +52 -0
- data/lib/ramaze/cache/memory.rb +6 -0
- data/lib/ramaze/cache/yaml_store.rb +37 -0
- data/lib/ramaze/controller.rb +10 -0
- data/lib/ramaze/dispatcher.rb +315 -0
- data/lib/ramaze/error.rb +11 -0
- data/lib/ramaze/gestalt.rb +108 -0
- data/lib/ramaze/global.rb +120 -0
- data/lib/ramaze/helper.rb +32 -0
- data/lib/ramaze/helper/aspect.rb +189 -0
- data/lib/ramaze/helper/auth.rb +120 -0
- data/lib/ramaze/helper/cache.rb +52 -0
- data/lib/ramaze/helper/feed.rb +135 -0
- data/lib/ramaze/helper/form.rb +204 -0
- data/lib/ramaze/helper/link.rb +80 -0
- data/lib/ramaze/helper/redirect.rb +48 -0
- data/lib/ramaze/helper/stack.rb +67 -0
- data/lib/ramaze/http_status.rb +66 -0
- data/lib/ramaze/inform.rb +166 -0
- data/lib/ramaze/snippets.rb +5 -0
- data/lib/ramaze/snippets/hash/keys_to_sym.rb +19 -0
- data/lib/ramaze/snippets/kernel/aquire.rb +22 -0
- data/lib/ramaze/snippets/kernel/autoreload.rb +79 -0
- data/lib/ramaze/snippets/kernel/caller_lines.rb +58 -0
- data/lib/ramaze/snippets/kernel/constant.rb +24 -0
- data/lib/ramaze/snippets/kernel/rescue_require.rb +12 -0
- data/lib/ramaze/snippets/kernel/self_method.rb +41 -0
- data/lib/ramaze/snippets/kernel/silently.rb +13 -0
- data/lib/ramaze/snippets/object/traits.rb +60 -0
- data/lib/ramaze/snippets/openstruct/temp.rb +10 -0
- data/lib/ramaze/snippets/string/DIVIDE.rb +16 -0
- data/lib/ramaze/snippets/string/camel_case.rb +14 -0
- data/lib/ramaze/snippets/string/snake_case.rb +12 -0
- data/lib/ramaze/snippets/symbol/to_proc.rb +14 -0
- data/lib/ramaze/snippets/thread/deadQUESTIONMARK.rb +11 -0
- data/lib/ramaze/store/default.rb +48 -0
- data/lib/ramaze/template.rb +102 -0
- data/lib/ramaze/template/amrita2.rb +40 -0
- data/lib/ramaze/template/erubis.rb +58 -0
- data/lib/ramaze/template/haml.rb +65 -0
- data/lib/ramaze/template/haml/actionview_stub.rb +20 -0
- data/lib/ramaze/template/liquid.rb +74 -0
- data/lib/ramaze/template/markaby.rb +68 -0
- data/lib/ramaze/template/ramaze.rb +177 -0
- data/lib/ramaze/template/ramaze/element.rb +166 -0
- data/lib/ramaze/template/ramaze/morpher.rb +156 -0
- data/lib/ramaze/tool/create.rb +70 -0
- data/lib/ramaze/tool/tidy.rb +71 -0
- data/lib/ramaze/trinity.rb +38 -0
- data/lib/ramaze/trinity/request.rb +244 -0
- data/lib/ramaze/trinity/response.rb +41 -0
- data/lib/ramaze/trinity/session.rb +129 -0
- data/lib/ramaze/version.rb +14 -0
- data/spec/spec_all.rb +73 -0
- data/spec/spec_helper.rb +215 -0
- data/spec/tc_adapter_mongrel.rb +24 -0
- data/spec/tc_adapter_webrick.rb +22 -0
- data/spec/tc_cache.rb +79 -0
- data/spec/tc_controller.rb +39 -0
- data/spec/tc_element.rb +100 -0
- data/spec/tc_error.rb +23 -0
- data/spec/tc_gestalt.rb +90 -0
- data/spec/tc_global.rb +46 -0
- data/spec/tc_helper_aspect.rb +65 -0
- data/spec/tc_helper_auth.rb +61 -0
- data/spec/tc_helper_cache.rb +81 -0
- data/spec/tc_helper_feed.rb +129 -0
- data/spec/tc_helper_form.rb +146 -0
- data/spec/tc_helper_link.rb +58 -0
- data/spec/tc_helper_redirect.rb +51 -0
- data/spec/tc_helper_stack.rb +55 -0
- data/spec/tc_morpher.rb +90 -0
- data/spec/tc_params.rb +84 -0
- data/spec/tc_request.rb +111 -0
- data/spec/tc_session.rb +56 -0
- data/spec/tc_store.rb +25 -0
- data/spec/tc_template_amrita2.rb +34 -0
- data/spec/tc_template_erubis.rb +41 -0
- data/spec/tc_template_haml.rb +44 -0
- data/spec/tc_template_liquid.rb +98 -0
- data/spec/tc_template_markaby.rb +74 -0
- data/spec/tc_template_ramaze.rb +54 -0
- data/spec/tc_tidy.rb +14 -0
- data/spec/template/amrita2/data.html +6 -0
- data/spec/template/amrita2/index.html +1 -0
- data/spec/template/amrita2/sum.html +1 -0
- data/spec/template/erubis/sum.rhtml +1 -0
- data/spec/template/haml/index.haml +5 -0
- data/spec/template/haml/with_vars.haml +4 -0
- data/spec/template/liquid/index.liquid +1 -0
- data/spec/template/liquid/products.liquid +45 -0
- data/spec/template/markaby/external.mab +8 -0
- data/spec/template/markaby/sum.mab +1 -0
- data/spec/template/ramaze/file_only.rmze +1 -0
- data/spec/template/ramaze/index.rmze +1 -0
- data/spec/template/ramaze/nested.rmze +1 -0
- data/spec/template/ramaze/sum.rmze +1 -0
- metadata +317 -0
data/doc/COPYING
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
2
|
+
You can redistribute it and/or modify it under either the terms of the GPL
|
3
|
+
version 2 (see the file GPL), or the conditions below:
|
4
|
+
|
5
|
+
1. You may make and give away verbatim copies of the source form of the
|
6
|
+
software without restriction, provided that you duplicate all of the
|
7
|
+
original copyright notices and associated disclaimers.
|
8
|
+
|
9
|
+
2. You may modify your copy of the software in any way, provided that
|
10
|
+
you do at least ONE of the following:
|
11
|
+
|
12
|
+
a) place your modifications in the Public Domain or otherwise
|
13
|
+
make them Freely Available, such as by posting said
|
14
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
15
|
+
the author to include your modifications in the software.
|
16
|
+
|
17
|
+
b) use the modified software only within your corporation or
|
18
|
+
organization.
|
19
|
+
|
20
|
+
c) give non-standard binaries non-standard names, with
|
21
|
+
instructions on where to get the original software distribution.
|
22
|
+
|
23
|
+
d) make other distribution arrangements with the author.
|
24
|
+
|
25
|
+
3. You may distribute the software in object code or binary form,
|
26
|
+
provided that you do at least ONE of the following:
|
27
|
+
|
28
|
+
a) distribute the binaries and library files of the software,
|
29
|
+
together with instructions (in the manual page or equivalent)
|
30
|
+
on where to get the original distribution.
|
31
|
+
|
32
|
+
b) accompany the distribution with the machine-readable source of
|
33
|
+
the software.
|
34
|
+
|
35
|
+
c) give non-standard binaries non-standard names, with
|
36
|
+
instructions on where to get the original software distribution.
|
37
|
+
|
38
|
+
d) make other distribution arrangements with the author.
|
39
|
+
|
40
|
+
4. You may modify and include the part of the software into any other
|
41
|
+
software (possibly commercial). But some files in the distribution
|
42
|
+
are not written by the author, so that they are not under these terms.
|
43
|
+
|
44
|
+
For the list of those files and their copying conditions, see the
|
45
|
+
file LEGAL.
|
46
|
+
|
47
|
+
5. The scripts and library files supplied as input to or produced as
|
48
|
+
output from the software do not automatically fall under the
|
49
|
+
copyright of the software, but belong to whomever generated them,
|
50
|
+
and may be sold commercially, and may be aggregated with this
|
51
|
+
software.
|
52
|
+
|
53
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
54
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
55
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
56
|
+
PURPOSE.
|
data/doc/COPYING.ja
ADDED
@@ -0,0 +1,51 @@
|
|
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
|
data/doc/README
ADDED
@@ -0,0 +1,275 @@
|
|
1
|
+
Copyright (c) 2006 Michael Fellinger m.fellinger@gmail.com
|
2
|
+
All files in this distribution are subject to the terms of the Ruby license.
|
3
|
+
|
4
|
+
= Readme for Ramaze
|
5
|
+
|
6
|
+
Ramaze is a very simple and straight-forward web-framework.
|
7
|
+
The philosophy of it could be expressed in a mix of KISS and POLS, trying to
|
8
|
+
make simple things simple and complex things possible.
|
9
|
+
|
10
|
+
This of course is nothing new to anyone who knows some ruby, but is often
|
11
|
+
forgotten in a chase for new functionality and features. Ramaze only tries to
|
12
|
+
give you the ultimate tools, but you have to use them yourself to achieve
|
13
|
+
perfect custom-tailored results.
|
14
|
+
|
15
|
+
Another interesting aspect is that Ramaze tries to provide as much reusable
|
16
|
+
code as possible, as to encourage the use of its code in similar projects and
|
17
|
+
to act as a single point of reference for projects using its components.
|
18
|
+
This tries to tackle the problem that everybody who wants/needs to create a
|
19
|
+
custom web framework always has to reimplement the most basic and common
|
20
|
+
functionality.
|
21
|
+
|
22
|
+
So when for example someone wants a basic example of how to build a comfortable
|
23
|
+
testing environment for a web framework it's hardly leading to the goal if this
|
24
|
+
first has to be reinvented before even the basic testing can start.
|
25
|
+
|
26
|
+
The same goes for the implementation of sessions or the request/response
|
27
|
+
objects which are collected under the module Trinity. Or all the examples
|
28
|
+
of real world-usage of the most popular templating-engines. Within a framework,
|
29
|
+
not to mention the basic need for a Dispatcher.
|
30
|
+
|
31
|
+
Of course most other frameworks will introduce their own paradigms and special
|
32
|
+
implementations, and this is the reason why it is not encouraged to directly
|
33
|
+
require files from Ramaze, they are one working entity together, but with a few
|
34
|
+
modifications it's your very own implementation and fits into your own project.
|
35
|
+
Not to mention that introducing another web framework for your own would be
|
36
|
+
quite odd ;)
|
37
|
+
|
38
|
+
|
39
|
+
== Basic Principles of Ramaze
|
40
|
+
|
41
|
+
There are some basic principles that Ramaze tries to follow:
|
42
|
+
|
43
|
+
* Test everything
|
44
|
+
|
45
|
+
What use is a wonderful application if it doesn't work?
|
46
|
+
|
47
|
+
|
48
|
+
* Document everything
|
49
|
+
|
50
|
+
Documentation is the glue between the code and the programmers brain
|
51
|
+
|
52
|
+
|
53
|
+
* Keep It Super Simple (KISS)
|
54
|
+
|
55
|
+
Most things should be understandable after reading them once
|
56
|
+
|
57
|
+
|
58
|
+
* Principle Of Least Surprise (POLS)
|
59
|
+
|
60
|
+
Going the way of ruby
|
61
|
+
|
62
|
+
|
63
|
+
* Modular design
|
64
|
+
|
65
|
+
Making it as simple as possible to extract parts
|
66
|
+
|
67
|
+
|
68
|
+
* Minimal dependencies
|
69
|
+
|
70
|
+
In case a dependency is not met use a simple fall-back instead
|
71
|
+
|
72
|
+
|
73
|
+
* Provide as many examples as possible
|
74
|
+
|
75
|
+
Examples are a superior way of getting a quick start into everything
|
76
|
+
|
77
|
+
|
78
|
+
* Open development
|
79
|
+
|
80
|
+
I happily accept all patches or feature-requests that you may have,
|
81
|
+
as long as they comply with these principles
|
82
|
+
|
83
|
+
|
84
|
+
== Quick features overview
|
85
|
+
|
86
|
+
Ramaze offers following features at the moment:
|
87
|
+
|
88
|
+
* Adapters
|
89
|
+
* Mongrel
|
90
|
+
http://mongrel.rubyforge.org/
|
91
|
+
Mongrel is a fast HTTP library and server for Ruby that is intended for
|
92
|
+
hosting Ruby web applications of any kind using plain HTTP rather than
|
93
|
+
FastCGI or SCGI.
|
94
|
+
|
95
|
+
* WEBrick
|
96
|
+
http://www.webrick.org/
|
97
|
+
WEBrick is a Ruby library program to build HTTP servers.
|
98
|
+
|
99
|
+
|
100
|
+
* Templates
|
101
|
+
* Amrita2
|
102
|
+
|
103
|
+
http://amrita2.rubyforge.org/
|
104
|
+
Amrita2 is a xml/xhtml template library for Ruby. It makes html documents
|
105
|
+
from a template and a model data.
|
106
|
+
|
107
|
+
* Erubis
|
108
|
+
|
109
|
+
http://rubyforge.org/projects/erubis
|
110
|
+
Erubis is a fast, secure, and very extensible implementation of eRuby.
|
111
|
+
|
112
|
+
* Haml
|
113
|
+
|
114
|
+
http://haml.hamptoncatlin.com/
|
115
|
+
Haml takes your gross, ugly templates and replaces them with veritable Haiku.
|
116
|
+
|
117
|
+
* Liquid
|
118
|
+
|
119
|
+
http://home.leetsoft.com/liquid
|
120
|
+
Liquid's syntax and parse model are inspired by Django templates, as well
|
121
|
+
as PHP's smarty.
|
122
|
+
|
123
|
+
* Markaby
|
124
|
+
|
125
|
+
http://code.whytheluckystiff.net/markaby/
|
126
|
+
Markaby means Markup as Ruby.
|
127
|
+
|
128
|
+
* Ramaze
|
129
|
+
|
130
|
+
A simple homage to Nitros templating. Please check out http://nitroproject.org
|
131
|
+
for more information.
|
132
|
+
|
133
|
+
* Cache
|
134
|
+
* Hash
|
135
|
+
* YAML::Store
|
136
|
+
* MemCache
|
137
|
+
|
138
|
+
* Helper
|
139
|
+
* Aspect
|
140
|
+
* Auth
|
141
|
+
* Cache
|
142
|
+
* Feed
|
143
|
+
* Form
|
144
|
+
* Link
|
145
|
+
* Redirect
|
146
|
+
* Stack
|
147
|
+
|
148
|
+
* Various
|
149
|
+
* Sessions
|
150
|
+
* Global configuration system
|
151
|
+
* Simple request/response handling
|
152
|
+
* Custom Error-handling
|
153
|
+
|
154
|
+
|
155
|
+
== Getting started
|
156
|
+
|
157
|
+
Now that you have a vague idea of what you're about to get into you might just
|
158
|
+
want to get a way to get up and running ASAP.
|
159
|
+
Please read below for more information about installation.
|
160
|
+
|
161
|
+
Depending on what you are planning to do you can either just go and start
|
162
|
+
reading the source or directly get some hands-on experience by trying some of
|
163
|
+
the examples.
|
164
|
+
Most things will require dependencies though. The basic functionality is
|
165
|
+
provided by the WEBrick adapter and the Template::Ramaze, which just run out
|
166
|
+
of the box. For more features you will have to install some templating-engines
|
167
|
+
and mongrel (_very_ recommended). Ramaze will inform you when it needs further
|
168
|
+
dependencies, so just go and try some things.
|
169
|
+
|
170
|
+
Some places to get started are:
|
171
|
+
- Read the documentation.
|
172
|
+
- Run and read the test cases.
|
173
|
+
- Look at the examples and run/modify them.
|
174
|
+
|
175
|
+
|
176
|
+
== Installation
|
177
|
+
|
178
|
+
* via RubyGems
|
179
|
+
|
180
|
+
The simplest way of installing Ramaze is via
|
181
|
+
|
182
|
+
$ gem install ramaze
|
183
|
+
|
184
|
+
in case you have RubyGems installed.
|
185
|
+
(this will work as soon as I have registered on RubyForge ;)
|
186
|
+
|
187
|
+
* via install.rb
|
188
|
+
|
189
|
+
Ramaze provides a basic install.rb that should take care of the installation
|
190
|
+
you can use it like
|
191
|
+
|
192
|
+
$ ruby install.rb
|
193
|
+
|
194
|
+
you may need root-privileges to do
|
195
|
+
that, depending on what options you provide.
|
196
|
+
(please note that I haven't tested the install.rb extensively yet, so if you
|
197
|
+
find some quirks, please send me patches or a simple note)
|
198
|
+
|
199
|
+
* via darcs
|
200
|
+
|
201
|
+
To get the latest and sweetest, you can just pull from the repository and run
|
202
|
+
Ramaze that way.
|
203
|
+
|
204
|
+
$ darcs get http://manveru.mine.nu/darcs/prog/projects/ramaze
|
205
|
+
|
206
|
+
Please read the man page or `darcs help` for more information about updating
|
207
|
+
and creating your own patches.
|
208
|
+
This is at the moment the premier way to use Ramaze, since it is the way I use
|
209
|
+
it.
|
210
|
+
|
211
|
+
|
212
|
+
== Ramaze Examples
|
213
|
+
|
214
|
+
There are some examples for your instant pleasure inside the examples-directory
|
215
|
+
in the Ramaze-distribution.
|
216
|
+
To start up an example, you can use the Ramaze binary located in bin/ramaze
|
217
|
+
for example:
|
218
|
+
|
219
|
+
$ ramaze examples/hello.rb
|
220
|
+
|
221
|
+
Or:
|
222
|
+
|
223
|
+
$ cd examples/blog
|
224
|
+
$ ramaze
|
225
|
+
|
226
|
+
Since ramaze uses the main.rb by default if you don't pass anything else.
|
227
|
+
|
228
|
+
For more information about the usage of ramaze try:
|
229
|
+
|
230
|
+
$ ramaze --help
|
231
|
+
|
232
|
+
|
233
|
+
Examples include:
|
234
|
+
|
235
|
+
* examples/hello.rb
|
236
|
+
Hello, World!
|
237
|
+
|
238
|
+
* examples/simple.rb
|
239
|
+
A bit more advanced than the hello-example, but still very basic.
|
240
|
+
|
241
|
+
* examples/blog
|
242
|
+
Not yet fully functional, but coming along.
|
243
|
+
|
244
|
+
* examples/whywiki
|
245
|
+
A basic examples of a minimalistic application, based on the Wiki of _why in
|
246
|
+
his camping-framework.
|
247
|
+
|
248
|
+
* examples/templates
|
249
|
+
examples of real usage of the templating-engines. Tries to implement the same
|
250
|
+
functionality in each template_*.rb file using a different engine.
|
251
|
+
|
252
|
+
|
253
|
+
== good to know
|
254
|
+
|
255
|
+
* Nicer Error-pages
|
256
|
+
* Install coderay (it's a gem)
|
257
|
+
|
258
|
+
* Performance
|
259
|
+
* Serving
|
260
|
+
|
261
|
+
For best performance you should consider using Mongrel to host your
|
262
|
+
application.
|
263
|
+
|
264
|
+
* Caching
|
265
|
+
|
266
|
+
You can easily cache your pages using the CacheHelper.
|
267
|
+
Also, using MemCache gives you high-end performance and security.
|
268
|
+
|
269
|
+
|
270
|
+
== Getting Help
|
271
|
+
|
272
|
+
For help you can just join #ramaze on irc.freenode.net.
|
273
|
+
|
274
|
+
Or mail me, at m [dot] fellinger [at] gmail [dot] com - I'm happy to provide
|
275
|
+
help on anything related to web-development.
|
data/doc/TODO
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
This list is programmaticly generated by `rake todolist`
|
2
|
+
If you want to add/remove items from the list, change them at the
|
3
|
+
position specified in the list.
|
4
|
+
|
5
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/helper/link.rb
|
6
|
+
- handling of no passed parameters
|
7
|
+
- setting imagelinks
|
8
|
+
- setting of id or class
|
9
|
+
- taking advantae of Gestalt to build links
|
10
|
+
- lots of other minor niceties, for the moment i'm only concerned to keep
|
11
|
+
it as simple as possible
|
12
|
+
|
13
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/dispatcher.rb
|
14
|
+
- find a solution for def x(a = :a) which has arity -1
|
15
|
+
identical to def x(*a) for some odd reason
|
16
|
+
|
17
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/trinity/request.rb
|
18
|
+
- rewrite parsing of multipart
|
19
|
+
- chunk through the body and pipe into tempfile
|
20
|
+
- look at merb for example of correct parsing
|
21
|
+
|
22
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/template/ramaze.rb
|
23
|
+
- maybe add some way to define a custom template-file per action via traits
|
24
|
+
trait :methodname_template => :foo
|
25
|
+
would point to the template-file of action :foo - template_root/foo.ext
|
26
|
+
- add extensive tests!
|
27
|
+
|
28
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/template/ramaze/morpher.rb
|
29
|
+
- Add pure Ruby implementation as a fall-back.
|
30
|
+
|
31
|
+
/home/manveru/prog/projects/ramaze/lib/ramaze/helper/redirect.rb
|
32
|
+
- setting custom status-code, it ignores any preset ones at the moment
|
33
|
+
- maybe some more options, like a delay
|
data/doc/allison/LICENSE
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
Academic Free License (AFL) v. 3.0
|
2
|
+
|
3
|
+
This Academic Free License (the "License") applies to any original work
|
4
|
+
of authorship (the "Original Work") whose owner (the "Licensor") has
|
5
|
+
placed the following licensing notice adjacent to the copyright notice
|
6
|
+
for the Original Work:
|
7
|
+
|
8
|
+
Licensed under the Academic Free License version 3.0
|
9
|
+
|
10
|
+
1) Grant of Copyright License. Licensor grants You a worldwide,
|
11
|
+
royalty-free, non-exclusive, sublicensable license, for the duration of
|
12
|
+
the copyright, to do the following:
|
13
|
+
|
14
|
+
a) to reproduce the Original Work in copies, either alone or as part of
|
15
|
+
a collective work;
|
16
|
+
|
17
|
+
b) to translate, adapt, alter, transform, modify, or arrange the
|
18
|
+
Original Work, thereby creating derivative works ("Derivative Works")
|
19
|
+
based upon the Original Work;
|
20
|
+
|
21
|
+
c) to distribute or communicate copies of the Original Work and
|
22
|
+
Derivative Works to the public, under any license of your choice that
|
23
|
+
does not contradict the terms and conditions, including Licensor's
|
24
|
+
reserved rights and remedies, in this Academic Free License;
|
25
|
+
|
26
|
+
d) to perform the Original Work publicly; and
|
27
|
+
|
28
|
+
e) to display the Original Work publicly.
|
29
|
+
|
30
|
+
2) Grant of Patent License. Licensor grants You a worldwide,
|
31
|
+
royalty-free, non-exclusive, sublicensable license, under patent claims
|
32
|
+
owned or controlled by the Licensor that are embodied in the Original
|
33
|
+
Work as furnished by the Licensor, for the duration of the patents, to
|
34
|
+
make, use, sell, offer for sale, have made, and import the Original Work
|
35
|
+
and Derivative Works.
|
36
|
+
|
37
|
+
3) Grant of Source Code License. The term "Source Code" means the
|
38
|
+
preferred form of the Original Work for making modifications to it and
|
39
|
+
all available documentation describing how to modify the Original Work.
|
40
|
+
Licensor agrees to provide a machine-readable copy of the Source Code of
|
41
|
+
the Original Work along with each copy of the Original Work that
|
42
|
+
Licensor distributes. Licensor reserves the right to satisfy this
|
43
|
+
obligation by placing a machine-readable copy of the Source Code in an
|
44
|
+
information repository reasonably calculated to permit inexpensive and
|
45
|
+
convenient access by You for as long as Licensor continues to distribute
|
46
|
+
the Original Work.
|
47
|
+
|
48
|
+
4) Exclusions From License Grant. Neither the names of Licensor, nor the
|
49
|
+
names of any contributors to the Original Work, nor any of their
|
50
|
+
trademarks or service marks, may be used to endorse or promote products
|
51
|
+
derived from this Original Work without express prior permission of the
|
52
|
+
Licensor. Except as expressly stated herein, nothing in this License
|
53
|
+
grants any license to Licensor's trademarks, copyrights, patents, trade
|
54
|
+
secrets or any other intellectual property. No patent license is granted
|
55
|
+
to make, use, sell, offer for sale, have made, or import embodiments of
|
56
|
+
any patent claims other than the licensed claims defined in Section 2.
|
57
|
+
No license is granted to the trademarks of Licensor even if such marks
|
58
|
+
are included in the Original Work. Nothing in this License shall be
|
59
|
+
interpreted to prohibit Licensor from licensing under terms different
|
60
|
+
from this License any Original Work that Licensor otherwise would have a
|
61
|
+
right to license.
|
62
|
+
|
63
|
+
5) External Deployment. The term "External Deployment" means the use,
|
64
|
+
distribution, or communication of the Original Work or Derivative Works
|
65
|
+
in any way such that the Original Work or Derivative Works may be used
|
66
|
+
by anyone other than You, whether those works are distributed or
|
67
|
+
communicated to those persons or made available as an application
|
68
|
+
intended for use over a network. As an express condition for the grants
|
69
|
+
of license hereunder, You must treat any External Deployment by You of
|
70
|
+
the Original Work or a Derivative Work as a distribution under section
|
71
|
+
1(c).
|
72
|
+
|
73
|
+
6) Attribution Rights. You must retain, in the Source Code of any
|
74
|
+
Derivative Works that You create, all copyright, patent, or trademark
|
75
|
+
notices from the Source Code of the Original Work, as well as any
|
76
|
+
notices of licensing and any descriptive text identified therein as an
|
77
|
+
"Attribution Notice." You must cause the Source Code for any Derivative
|
78
|
+
Works that You create to carry a prominent Attribution Notice reasonably
|
79
|
+
calculated to inform recipients that You have modified the Original
|
80
|
+
Work.
|
81
|
+
|
82
|
+
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants
|
83
|
+
that the copyright in and to the Original Work and the patent rights
|
84
|
+
granted herein by Licensor are owned by the Licensor or are sublicensed
|
85
|
+
to You under the terms of this License with the permission of the
|
86
|
+
contributor(s) of those copyrights and patent rights. Except as
|
87
|
+
expressly stated in the immediately preceding sentence, the Original
|
88
|
+
Work is provided under this License on an "AS IS" BASIS and WITHOUT
|
89
|
+
WARRANTY, either express or implied, including, without limitation, the
|
90
|
+
warranties of non-infringement, merchantability or fitness for a
|
91
|
+
particular purpose. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL
|
92
|
+
WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an essential
|
93
|
+
part of this License. No license to the Original Work is granted by this
|
94
|
+
License except under this disclaimer.
|
95
|
+
|
96
|
+
8) Limitation of Liability. Under no circumstances and under no legal
|
97
|
+
theory, whether in tort (including negligence), contract, or otherwise,
|
98
|
+
shall the Licensor be liable to anyone for any indirect, special,
|
99
|
+
incidental, or consequential damages of any character arising as a
|
100
|
+
result of this License or the use of the Original Work including,
|
101
|
+
without limitation, damages for loss of goodwill, work stoppage,
|
102
|
+
computer failure or malfunction, or any and all other commercial damages
|
103
|
+
or losses. This limitation of liability shall not apply to the extent
|
104
|
+
applicable law prohibits such limitation.
|
105
|
+
|
106
|
+
9) Acceptance and Termination. If, at any time, You expressly assented
|
107
|
+
to this License, that assent indicates your clear and irrevocable
|
108
|
+
acceptance of this License and all of its terms and conditions. If You
|
109
|
+
distribute or communicate copies of the Original Work or a Derivative
|
110
|
+
Work, You must make a reasonable effort under the circumstances to
|
111
|
+
obtain the express assent of recipients to the terms of this License.
|
112
|
+
This License conditions your rights to undertake the activities listed
|
113
|
+
in Section 1, including your right to create Derivative Works based upon
|
114
|
+
the Original Work, and doing so without honoring these terms and
|
115
|
+
conditions is prohibited by copyright law and international treaty.
|
116
|
+
Nothing in this License is intended to affect copyright exceptions and
|
117
|
+
limitations (including "fair use" or "fair dealing"). This License shall
|
118
|
+
terminate immediately and You may no longer exercise any of the rights
|
119
|
+
granted to You by this License upon your failure to honor the conditions
|
120
|
+
in Section 1(c).
|
121
|
+
|
122
|
+
10) Termination for Patent Action. This License shall terminate
|
123
|
+
automatically and You may no longer exercise any of the rights granted
|
124
|
+
to You by this License as of the date You commence an action, including
|
125
|
+
a cross-claim or counterclaim, against Licensor or any licensee alleging
|
126
|
+
that the Original Work infringes a patent. This termination provision
|
127
|
+
shall not apply for an action alleging patent infringement by
|
128
|
+
combinations of the Original Work with other software or hardware.
|
129
|
+
|
130
|
+
11) Jurisdiction, Venue and Governing Law. Any action or suit relating
|
131
|
+
to this License may be brought only in the courts of a jurisdiction
|
132
|
+
wherein the Licensor resides or in which Licensor conducts its primary
|
133
|
+
business, and under the laws of that jurisdiction excluding its
|
134
|
+
conflict-of-law provisions. The application of the United Nations
|
135
|
+
Convention on Contracts for the International Sale of Goods is expressly
|
136
|
+
excluded. Any use of the Original Work outside the scope of this License
|
137
|
+
or after its termination shall be subject to the requirements and
|
138
|
+
penalties of copyright or patent law in the appropriate jurisdiction.
|
139
|
+
This section shall survive the termination of this License.
|
140
|
+
|
141
|
+
12) Attorneys' Fees. In any action to enforce the terms of this License
|
142
|
+
or seeking damages relating thereto, the prevailing party shall be
|
143
|
+
entitled to recover its costs and expenses, including, without
|
144
|
+
limitation, reasonable attorneys' fees and costs incurred in connection
|
145
|
+
with such action, including any appeal of such action. This section
|
146
|
+
shall survive the termination of this License.
|
147
|
+
|
148
|
+
13) Miscellaneous. If any provision of this License is held to be
|
149
|
+
unenforceable, such provision shall be reformed only to the extent
|
150
|
+
necessary to make it enforceable.
|
151
|
+
|
152
|
+
14) Definition of "You" in This License. "You" throughout this License,
|
153
|
+
whether in upper or lower case, means an individual or a legal entity
|
154
|
+
exercising rights under, and complying with all of the terms of, this
|
155
|
+
License. For legal entities, "You" includes any entity that controls, is
|
156
|
+
controlled by, or is under common control with you. For purposes of this
|
157
|
+
definition, "control" means (i) the power, direct or indirect, to cause
|
158
|
+
the direction or management of such entity, whether by contract or
|
159
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
160
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
161
|
+
|
162
|
+
15) Right to Use. You may use the Original Work in all ways not
|
163
|
+
otherwise restricted or conditioned by this License or by law, and
|
164
|
+
Licensor promises not to interfere with or be responsible for such uses
|
165
|
+
by You.
|
166
|
+
|
167
|
+
16) Modification of This License. This License is Copyright (c) 2005
|
168
|
+
Lawrence Rosen. Permission is granted to copy, distribute, or
|
169
|
+
communicate this License without modification. Nothing in this License
|
170
|
+
permits You to modify this License as applied to the Original Work or to
|
171
|
+
Derivative Works. However, You may modify the text of this License and
|
172
|
+
copy, distribute or communicate your modified version (the "Modified
|
173
|
+
License") and apply it to other original works of authorship subject to
|
174
|
+
the following conditions: (i) You may not indicate in any way that your
|
175
|
+
Modified License is the "Academic Free License" or "AFL" and you may not
|
176
|
+
use those names in the name of your Modified License; (ii) You must
|
177
|
+
replace the notice specified in the first paragraph above with the
|
178
|
+
notice "Licensed under <insert your license name here>" or with a notice
|
179
|
+
of your own that is not confusingly similar to the notice in this
|
180
|
+
License; and (iii) You may not claim that your original works are open
|
181
|
+
source software unless your Modified License has been approved by Open
|
182
|
+
Source Initiative (OSI) and You comply with its license review and
|
183
|
+
certification process.
|
184
|
+
|