Pistos-ramaze 2009.04.08 → 2009.06.12
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/MANIFEST +37 -22
- data/{README.markdown → README.md} +5 -24
- data/Rakefile +33 -26
- data/benchmark/bench_templates/bench.rb +67 -0
- data/benchmark/bench_templates/view/large.erb +79 -0
- data/benchmark/bench_templates/view/large.haml +41 -0
- data/benchmark/bench_templates/view/large.xhtml +79 -0
- data/benchmark/bench_templates/view/small.erb +21 -0
- data/benchmark/bench_templates/view/small.haml +12 -0
- data/benchmark/bench_templates/view/small.xhtml +21 -0
- data/benchmark/run.rb +14 -21
- data/benchmark/suite/minimal.rb +3 -5
- data/benchmark/suite/no_informer.rb +0 -2
- data/benchmark/suite/no_sessions.rb +3 -4
- data/benchmark/suite/no_template.rb +1 -3
- data/benchmark/suite/simple.rb +1 -3
- data/benchmark/suite/template_erubis.rb +0 -2
- data/benchmark/suite/template_etanni.rb +8 -0
- data/benchmark/suite/template_ezamar.rb +1 -3
- data/benchmark/suite/template_haml.rb +0 -2
- data/benchmark/suite/template_liquid.rb +0 -2
- data/benchmark/suite/template_markaby.rb +0 -2
- data/benchmark/suite/template_nagoro.rb +1 -3
- data/benchmark/suite/template_redcloth.rb +0 -2
- data/benchmark/suite/template_tenjin.rb +0 -2
- data/bin/ramaze +11 -163
- data/doc/AUTHORS +15 -8
- data/doc/CHANGELOG +10094 -12262
- data/doc/meta/announcement.txt +93 -46
- data/doc/tutorial/todolist.html +22 -58
- data/doc/tutorial/todolist.txt +20 -39
- data/examples/app/auth/layout/{auth.nag → auth.xhtml} +0 -0
- data/examples/app/auth/view/{index.nag → index.xhtml} +0 -0
- data/examples/app/auth/view/{login.nag → login.xhtml} +0 -0
- data/examples/app/auth/view/{secret.nag → secret.xhtml} +0 -0
- data/examples/app/blog/app.rb +1 -1
- data/examples/app/blog/controller/comment.rb +1 -1
- data/examples/app/blog/controller/entry.rb +12 -3
- data/examples/app/blog/model/init.rb +5 -0
- data/examples/app/blog/model/tag.rb +2 -2
- data/examples/app/blog/view/entry/index.nag +3 -3
- data/examples/app/blog/view/feed.atom.nag +1 -1
- data/examples/app/blog/view/feed.rss.nag +1 -1
- data/examples/app/blog/view/index.nag +1 -1
- data/examples/app/blog/view/tag/index.nag +1 -1
- data/examples/app/chat/layout/{default.nag → default.xhtml} +0 -0
- data/examples/app/chat/view/{chat.nag → chat.xhtml} +0 -0
- data/examples/app/chat/view/{index.nag → index.xhtml} +0 -0
- data/examples/app/localization/locale/de.yaml +5 -0
- data/examples/app/localization/locale/en.yaml +5 -0
- data/examples/app/localization/locale/ja.yaml +5 -0
- data/examples/app/localization/start.rb +33 -20
- data/examples/app/wikore/spec/wikore.rb +4 -6
- data/examples/app/wikore/src/controller.rb +9 -11
- data/examples/app/wikore/src/model.rb +7 -10
- data/examples/app/wikore/start.rb +1 -1
- data/examples/app/wikore/{template → view}/index.xhtml +0 -0
- data/examples/helpers/cache.rb +6 -4
- data/examples/misc/css.rb +6 -12
- data/examples/misc/rapp.rb +28 -17
- data/lib/proto/app.rb +14 -0
- data/lib/proto/config.ru +8 -5
- data/lib/proto/controller/init.rb +3 -3
- data/lib/proto/spec/main.rb +9 -11
- data/lib/proto/start.rb +6 -10
- data/lib/ramaze.rb +8 -9
- data/lib/ramaze/app.rb +4 -3
- data/lib/ramaze/cache/localmemcache.rb +2 -2
- data/lib/ramaze/cache/memcache.rb +26 -1
- data/lib/ramaze/cache/sequel.rb +24 -9
- data/lib/ramaze/contrib/addressable_route.rb +56 -0
- data/lib/ramaze/contrib/email.rb +2 -0
- data/lib/ramaze/contrib/facebook/facebook.rb +4 -4
- data/lib/ramaze/contrib/sequel/create_join.rb +1 -0
- data/lib/ramaze/contrib/sequel/form_field.rb +4 -4
- data/lib/ramaze/contrib/sequel/image.rb +9 -11
- data/lib/ramaze/contrib/sequel/relation.rb +17 -3
- data/lib/ramaze/controller.rb +26 -18
- data/lib/ramaze/gestalt.rb +4 -1
- data/lib/ramaze/helper.rb +1 -0
- data/lib/ramaze/helper/auth.rb +0 -5
- data/lib/ramaze/helper/cache.rb +65 -25
- data/lib/ramaze/helper/form.rb +14 -2
- data/lib/ramaze/helper/formatting.rb +3 -1
- data/lib/ramaze/helper/gestalt.rb +32 -0
- data/lib/ramaze/helper/identity.rb +3 -3
- data/lib/ramaze/helper/layout.rb +97 -0
- data/lib/ramaze/helper/link.rb +6 -25
- data/lib/ramaze/helper/localize.rb +13 -3
- data/lib/ramaze/helper/paginate.rb +4 -2
- data/lib/ramaze/helper/ultraviolet.rb +2 -0
- data/lib/ramaze/helper/user.rb +3 -3
- data/lib/ramaze/log/rotatinginformer.rb +10 -10
- data/lib/ramaze/request.rb +3 -5
- data/lib/ramaze/setup.rb +22 -9
- data/lib/ramaze/spec.rb +8 -12
- data/lib/ramaze/spec/bacon.rb +34 -0
- data/lib/ramaze/spec/helper/template_examples.rb +15 -22
- data/lib/ramaze/tool/bin.rb +340 -0
- data/lib/ramaze/tool/project_creator.rb +1 -1
- data/lib/ramaze/version.rb +1 -1
- data/lib/ramaze/view.rb +6 -11
- data/lib/ramaze/view/erubis.rb +2 -2
- data/lib/ramaze/view/ezamar.rb +2 -2
- data/lib/ramaze/view/gestalt.rb +14 -0
- data/lib/ramaze/view/haml.rb +2 -1
- data/lib/ramaze/view/liquid.rb +45 -11
- data/lib/ramaze/view/maruku.rb +2 -1
- data/lib/ramaze/view/nagoro/render_partial.rb +9 -9
- data/lib/ramaze/view/sass.rb +1 -1
- data/lib/ramaze/view/tenjin.rb +7 -4
- data/lib/vendor/etag.rb +4 -2
- data/lib/vendor/route_exceptions.rb +9 -15
- data/ramaze.gemspec +56 -9
- data/spec/contrib/addressable_route.rb +30 -0
- data/spec/contrib/rest.rb +2 -2
- data/spec/examples/caching.rb +5 -7
- data/spec/examples/css.rb +3 -3
- data/spec/examples/element.rb +4 -3
- data/spec/examples/hello.rb +3 -3
- data/spec/examples/helpers/httpdigest.rb +44 -69
- data/spec/examples/linking.rb +3 -3
- data/spec/examples/simple.rb +3 -3
- data/spec/examples/templates/template_erubis.rb +8 -4
- data/spec/examples/templates/template_ezamar.rb +9 -4
- data/spec/examples/templates/template_haml.rb +8 -4
- data/spec/examples/templates/template_liquid.rb +8 -4
- data/spec/examples/templates/template_markaby.rb +9 -5
- data/spec/examples/templates/template_nagoro.rb +9 -5
- data/spec/examples/templates/template_redcloth.rb +8 -4
- data/spec/examples/templates/template_remarkably.rb +8 -4
- data/spec/examples/templates/template_tenjin.rb +8 -4
- data/spec/helper.rb +1 -2
- data/spec/ramaze/action/render.rb +4 -1
- data/spec/ramaze/app.rb +5 -2
- data/spec/ramaze/bin/ramaze.rb +96 -0
- data/spec/ramaze/cache/localmemcache.rb +1 -1
- data/spec/ramaze/cache/memcache.rb +7 -1
- data/spec/ramaze/cache/sequel.rb +1 -1
- data/spec/ramaze/controller/actionless_templates.rb +2 -2
- data/spec/ramaze/controller/lonely_mapping.rb +18 -0
- data/spec/ramaze/controller/mapping.rb +4 -15
- data/spec/ramaze/controller/provide_inheritance.rb +5 -2
- data/spec/ramaze/controller/resolve.rb +2 -2
- data/spec/ramaze/controller/subclass.rb +2 -2
- data/spec/ramaze/controller/template_resolving.rb +2 -2
- data/spec/ramaze/dispatcher/directory.rb +5 -2
- data/spec/ramaze/dispatcher/file.rb +28 -26
- data/spec/ramaze/error.rb +3 -3
- data/spec/ramaze/files.rb +5 -2
- data/spec/ramaze/gestalt.rb +26 -17
- data/spec/ramaze/helper/auth.rb +30 -41
- data/spec/ramaze/helper/bench.rb +6 -2
- data/spec/ramaze/helper/cache.rb +45 -5
- data/spec/ramaze/helper/flash.rb +11 -15
- data/spec/ramaze/helper/form.rb +6 -3
- data/spec/ramaze/helper/formatting.rb +4 -1
- data/spec/ramaze/helper/gestalt.rb +4 -1
- data/spec/ramaze/helper/gravatar.rb +4 -1
- data/spec/ramaze/helper/httpdigest.rb +51 -66
- data/spec/ramaze/helper/layout.rb +79 -0
- data/spec/ramaze/helper/layout/default.xhtml +5 -0
- data/spec/ramaze/helper/link.rb +33 -12
- data/spec/ramaze/helper/localize.rb +9 -4
- data/spec/ramaze/helper/maruku.rb +5 -2
- data/spec/ramaze/helper/pager.rb +2 -2
- data/spec/ramaze/helper/paginate.rb +5 -2
- data/spec/ramaze/helper/request_accessor.rb +5 -2
- data/spec/ramaze/helper/sequel_form.rb +7 -2
- data/spec/ramaze/helper/simple_captcha.rb +10 -14
- data/spec/ramaze/helper/stack.rb +32 -40
- data/spec/ramaze/helper/user.rb +19 -14
- data/spec/ramaze/helper/xhtml.rb +4 -1
- data/spec/ramaze/log/informer.rb +1 -1
- data/spec/ramaze/log/logging.rb +4 -1
- data/spec/ramaze/log/syslog.rb +6 -6
- data/spec/ramaze/params.rb +5 -6
- data/spec/ramaze/request.rb +16 -1
- data/spec/ramaze/session/memcache.rb +66 -0
- data/spec/ramaze/struct.rb +4 -1
- data/spec/ramaze/view.rb +2 -2
- data/spec/ramaze/view/erubis.rb +2 -2
- data/spec/ramaze/view/ezamar.rb +2 -2
- data/spec/ramaze/view/gestalt.rb +94 -0
- data/spec/ramaze/view/gestalt/external.ges +8 -0
- data/spec/ramaze/view/haml.rb +2 -2
- data/spec/ramaze/view/liquid.rb +2 -2
- data/spec/ramaze/view/nagoro.rb +2 -2
- data/spec/ramaze/view/redcloth.rb +2 -2
- data/spec/ramaze/view/remarkably.rb +2 -2
- data/spec/ramaze/view/sass.rb +2 -2
- data/spec/ramaze/view/tagz.rb +2 -2
- data/spec/ramaze/view/tenjin.rb +2 -2
- data/spec/snippets/array/put_within.rb +30 -25
- data/spec/snippets/binding/locals.rb +4 -1
- data/spec/snippets/numeric/filesize_format.rb +4 -1
- data/spec/snippets/numeric/time.rb +5 -2
- data/spec/snippets/object/__dir__.rb +4 -1
- data/spec/snippets/ordered_set.rb +4 -1
- data/spec/snippets/ramaze/acquire.rb +4 -1
- data/spec/snippets/ramaze/dictionary.rb +4 -1
- data/spec/snippets/ramaze/struct.rb +4 -1
- data/spec/snippets/string/camel_case.rb +4 -1
- data/spec/snippets/string/color.rb +4 -1
- data/spec/snippets/string/snake_case.rb +4 -1
- data/spec/snippets/string/unindent.rb +4 -1
- data/spec/snippets/thread/into.rb +4 -1
- data/tasks/bacon.rake +5 -3
- data/tasks/changelog.rake +3 -1
- data/tasks/{gem_installer.rake → gem_setup.rake} +45 -22
- data/tasks/release.rake +12 -27
- data/tasks/setup.rake +6 -0
- data/tasks/todo.rake +2 -4
- metadata +205 -31
- data/CHANGELOG +0 -16546
- data/benchmark/suite/template_builder.rb +0 -12
- data/doc/tutorial/todolist.mkd +0 -787
- data/examples/helpers/provide.rb +0 -23
- data/lib/proto/view/page.xhtml +0 -27
- data/lib/ramaze/snippets/divide.rb +0 -22
- data/lib/ramaze/snippets/kernel/constant.rb +0 -41
- data/lib/ramaze/snippets/object/acquire.rb +0 -37
- data/lib/ramaze/snippets/string/each.rb +0 -19
- data/spec/ramaze/helper/partial.rb +0 -40
- data/spec/snippets/kernel/constant.rb +0 -23
- data/tasks/install_dependencies.rake +0 -6
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/examples/app/blog/app.rb
CHANGED
@@ -25,9 +25,6 @@ module Blog
|
|
25
25
|
@comment_count = number_counter(@entry.comments.count, 'comment')
|
26
26
|
end
|
27
27
|
|
28
|
-
def feed
|
29
|
-
end
|
30
|
-
|
31
28
|
def edit(slug)
|
32
29
|
login_required
|
33
30
|
@entry = Entry.from_slug(slug)
|
@@ -61,6 +58,18 @@ module Blog
|
|
61
58
|
Entry.from_slug(slug).destroy
|
62
59
|
end
|
63
60
|
|
61
|
+
def trackback(slug)
|
62
|
+
render_partial(:index){|a|
|
63
|
+
a.method = :index
|
64
|
+
a.params << slug
|
65
|
+
} + <<-COMMENT.strip
|
66
|
+
I really have not the faintest idea about what this is supposed to do.<br />
|
67
|
+
People tell me it's broken, but nobody tells me how to fix it :)<br />
|
68
|
+
For now I'll just use it to show off how to modify an action that requires a
|
69
|
+
method parameter.
|
70
|
+
COMMENT
|
71
|
+
end
|
72
|
+
|
64
73
|
private
|
65
74
|
|
66
75
|
def fetch_tags
|
@@ -1,10 +1,15 @@
|
|
1
1
|
require 'sequel'
|
2
|
+
require 'sequel/extensions/inflector'
|
2
3
|
|
3
4
|
module Blog
|
4
5
|
DB = Sequel.sqlite("#{__DIR__}/../blog.db")
|
5
6
|
# DB = Sequel.connect("sqlite:///#{__DIR__}/../blog.db")
|
6
7
|
end
|
7
8
|
|
9
|
+
Sequel::Model.plugin :validation_class_methods
|
10
|
+
Sequel::Model.plugin :schema
|
11
|
+
Sequel::Model.plugin :hook_class_methods
|
12
|
+
|
8
13
|
require 'model/tag'
|
9
14
|
require 'model/entry'
|
10
15
|
require 'model/comment'
|
@@ -7,8 +7,8 @@ module Blog
|
|
7
7
|
foreign_key :tag_id
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
many_to_one :entry, :class => 'Blog::Entry'
|
11
|
+
many_to_one :tag, :class => 'Blog::Tag'
|
12
12
|
|
13
13
|
create_table unless table_exists?
|
14
14
|
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
#{ Blog::Entries.
|
1
|
+
#{ Blog::Entries.render_partial(:show, :entry => @entry) }
|
2
2
|
<div id="comments" class="comments">
|
3
3
|
<?r @entry.comments.each do |comment| ?>
|
4
|
-
#{ Blog::Comments.
|
4
|
+
#{ Blog::Comments.render_partial(:show, :comment => comment) }
|
5
5
|
<?r end ?>
|
6
|
-
#{ Blog::Comments.
|
6
|
+
#{ Blog::Comments.render_partial(:form, :entry => @entry) }
|
7
7
|
</div>
|
@@ -13,6 +13,6 @@
|
|
13
13
|
<id>#{ "#{ Blog.options.uuid }/atom" }</id>
|
14
14
|
<generator uri='#{ @generator_uri }'>#{ @generator }</generator>
|
15
15
|
<?r @entries.each do |entry| ?>
|
16
|
-
#{ Blog::Entries.
|
16
|
+
#{ Blog::Entries.render_partial('feed.atom', :entry => entry) }
|
17
17
|
<?end ?>
|
18
18
|
</feed>
|
@@ -19,7 +19,7 @@
|
|
19
19
|
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
|
20
20
|
<ttl>240</ttl>
|
21
21
|
<?r @entries.each do |entry| ?>
|
22
|
-
#{ Blog::Entries.
|
22
|
+
#{ Blog::Entries.render_partial('feed.rss', :entry => entry) }
|
23
23
|
<?r end ?>
|
24
24
|
</channel>
|
25
25
|
</rss>
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,34 +1,47 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
require 'rubygems'
|
2
3
|
require 'ramaze'
|
3
4
|
|
4
5
|
# require YAML based localization
|
5
|
-
require 'ramaze/
|
6
|
-
|
7
|
-
# Activate localization
|
8
|
-
# Setup localization options
|
9
|
-
class Ramaze::Tool::Localize
|
10
|
-
Ramaze::Dispatcher::Action::FILTER << self
|
11
|
-
|
12
|
-
trait :default_language => 'en',
|
13
|
-
:languages => %w[ en ja cn es de it ],
|
14
|
-
:file => lambda{|l| Ramaze::Global.root/"locale/#{l}.yaml" }
|
15
|
-
# alternative, problematic if you want to run from another pwd.
|
16
|
-
# :file => "locale/%s.yaml"
|
17
|
-
end
|
6
|
+
require 'ramaze/helper/localize'
|
18
7
|
|
8
|
+
#
|
9
|
+
# Old Dispatcher::Action::FILTER style localization.
|
10
|
+
#
|
19
11
|
class MainController < Ramaze::Controller
|
12
|
+
helper :localize
|
13
|
+
|
20
14
|
def index
|
21
|
-
# Enclose the strings that have to be localized with
|
22
|
-
|
23
|
-
|
24
|
-
<
|
25
|
-
<a href='/locale/
|
26
|
-
<a href='/locale/de'>
|
15
|
+
# Enclose the strings that have to be localized with {}
|
16
|
+
"<h1>{hello world}</h1>
|
17
|
+
<p>{just for fun}</p>
|
18
|
+
<a href='/locale/en'>{english}</a><br />
|
19
|
+
<a href='/locale/ja'>{japanese}</a><br />
|
20
|
+
<a href='/locale/de'>{german}</a><br />
|
27
21
|
"
|
28
22
|
end
|
29
23
|
|
30
24
|
def locale(name)
|
31
|
-
session[:
|
25
|
+
session[:lang] = name
|
26
|
+
redirect r(:/)
|
27
|
+
end
|
28
|
+
|
29
|
+
# for Localization
|
30
|
+
alias :raw_wrap_action_call :wrap_action_call
|
31
|
+
|
32
|
+
def wrap_action_call(action, &block)
|
33
|
+
localize(raw_wrap_action_call(action, &block))
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
Dictionary = Ramaze::Helper::Localize::Dictionary.new
|
39
|
+
Dir.glob('./locale/*.yaml').each do |path|
|
40
|
+
Dictionary.load(File.basename(path, '.yaml').intern, :yaml => path)
|
41
|
+
end
|
42
|
+
|
43
|
+
def localize_dictionary
|
44
|
+
Dictionary
|
32
45
|
end
|
33
46
|
end
|
34
47
|
|
@@ -1,20 +1,18 @@
|
|
1
1
|
require 'ramaze'
|
2
|
-
require 'ramaze/spec
|
2
|
+
require 'ramaze/spec'
|
3
3
|
|
4
|
-
|
4
|
+
spec_requires 'hpricot', 'sequel'
|
5
5
|
|
6
6
|
$LOAD_PATH.unshift base = __DIR__('..')
|
7
7
|
require 'start'
|
8
8
|
|
9
9
|
describe 'Wikore' do
|
10
|
-
behaves_like
|
11
|
-
ramaze :public_root => base/:public,
|
12
|
-
:view_root => base/:template
|
10
|
+
behaves_like :mock
|
13
11
|
|
14
12
|
def check_redirect(to = '/')
|
15
13
|
response = yield
|
16
14
|
response.status.should == 302
|
17
|
-
response.body.should =~ /<a href=
|
15
|
+
response.body.should =~ /<a href='.*#{to}'>/
|
18
16
|
end
|
19
17
|
|
20
18
|
def page_should_exist(name, *matches)
|
@@ -18,26 +18,28 @@ class MainController < Ramaze::Controller
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
class
|
21
|
+
class Pages < Ramaze::Controller
|
22
22
|
map '/page'
|
23
23
|
|
24
|
-
helper :aspect
|
25
|
-
|
26
24
|
def create
|
25
|
+
redirect_referer unless request.post?
|
26
|
+
|
27
27
|
change "Created Page '%s'" do |title, text|
|
28
28
|
Page.create(:title => title, :text => text, :version => 1)
|
29
|
-
redirect
|
29
|
+
redirect MainController.r(:/, title)
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
33
|
def save
|
34
|
+
redirect_referer unless request.post?
|
35
|
+
|
34
36
|
change "Updated Page '%s'" do |title, text|
|
35
37
|
page = Page[:title => title]
|
36
38
|
page.backup
|
37
39
|
page.text = text
|
38
40
|
page.version += 1
|
39
41
|
page.save
|
40
|
-
redirect
|
42
|
+
redirect MainController.r(:/, title)
|
41
43
|
end
|
42
44
|
end
|
43
45
|
|
@@ -60,11 +62,7 @@ class PageController < Ramaze::Controller
|
|
60
62
|
def revert(title)
|
61
63
|
page = Page[:title => title]
|
62
64
|
page.revert
|
63
|
-
redirect
|
64
|
-
end
|
65
|
-
|
66
|
-
before :create, :save do
|
67
|
-
redirect_referer unless request.post?
|
65
|
+
redirect MainController.r(:/, title)
|
68
66
|
end
|
69
67
|
|
70
68
|
private
|
@@ -75,6 +73,6 @@ class PageController < Ramaze::Controller
|
|
75
73
|
message % title
|
76
74
|
end
|
77
75
|
|
78
|
-
redirect(
|
76
|
+
redirect MainController.r(redirect_to)
|
79
77
|
end
|
80
78
|
end
|
@@ -1,17 +1,14 @@
|
|
1
1
|
require 'sequel'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
DB_FILE = __DIR__('wikore.db')
|
9
|
-
DB = Sequel.connect("sqlite://#{DB_FILE}")
|
10
|
-
end
|
11
|
-
rescue NoMethodError
|
12
|
-
raise LoadError, 'Install latest Sequel gem'
|
3
|
+
if $wikore_db == :memory
|
4
|
+
DB = Sequel.sqlite
|
5
|
+
else
|
6
|
+
DB_FILE = __DIR__('wikore.db')
|
7
|
+
DB = Sequel.connect("sqlite://#{DB_FILE}")
|
13
8
|
end
|
14
9
|
|
10
|
+
Sequel::Model.plugin :schema
|
11
|
+
|
15
12
|
module Model
|
16
13
|
PAGE_SCHEMA = lambda{
|
17
14
|
primary_key :id
|
File without changes
|
data/examples/helpers/cache.rb
CHANGED
@@ -6,12 +6,14 @@ class MainController < Ramaze::Controller
|
|
6
6
|
helper :cache
|
7
7
|
|
8
8
|
def index
|
9
|
-
|
9
|
+
@number = rand * 100
|
10
|
+
|
11
|
+
%q[
|
10
12
|
<html>
|
11
13
|
<head><title>examples/caching</title></head>
|
12
14
|
<body>
|
13
15
|
<p>
|
14
|
-
This action just shows you a random number: #{
|
16
|
+
This action just shows you a random number: #{@number}.<br />
|
15
17
|
If you <a href="/">refresh</a> the page it won't change since you see a cached version.<br />
|
16
18
|
But if you <a href="/invalidate">invalidate</a> it, the page will be regenerated.
|
17
19
|
</p>
|
@@ -20,10 +22,10 @@ class MainController < Ramaze::Controller
|
|
20
22
|
]
|
21
23
|
end
|
22
24
|
|
23
|
-
cache_action :method =>
|
25
|
+
cache_action :method => 'index'
|
24
26
|
|
25
27
|
def invalidate
|
26
|
-
Ramaze::Cache.action.delete(
|
28
|
+
Ramaze::Cache.action.delete('/')
|
27
29
|
redirect :/
|
28
30
|
end
|
29
31
|
end
|
data/examples/misc/css.rb
CHANGED
@@ -10,15 +10,10 @@ module Ramaze::SourceReloadHooks
|
|
10
10
|
end
|
11
11
|
|
12
12
|
class CSSController < Ramaze::Controller
|
13
|
-
|
14
|
-
|
15
|
-
helper :aspect
|
16
|
-
before_all do
|
17
|
-
response['Content-Type'] = 'text/css'
|
18
|
-
nil
|
19
|
-
end
|
13
|
+
helper :cache
|
14
|
+
provide :css, :type => 'text/css', :engine => :Sass
|
20
15
|
|
21
|
-
|
16
|
+
def style
|
22
17
|
%(
|
23
18
|
body
|
24
19
|
font:
|
@@ -29,9 +24,8 @@ body
|
|
29
24
|
)
|
30
25
|
end
|
31
26
|
|
32
|
-
|
33
|
-
cache 'style.css'
|
27
|
+
cache_action :method => 'style'
|
34
28
|
end
|
35
29
|
|
36
|
-
# http://localhost:
|
37
|
-
Ramaze.start :adapter => :mongrel, :port =>
|
30
|
+
# http://localhost:7000/css/style.css
|
31
|
+
Ramaze.start :adapter => :mongrel, :port => 7000
|
data/examples/misc/rapp.rb
CHANGED
@@ -4,10 +4,13 @@
|
|
4
4
|
require 'rubygems'
|
5
5
|
require 'ramaze'
|
6
6
|
require 'sequel'
|
7
|
+
require 'abbrev'
|
7
8
|
|
8
|
-
DB = Sequel.sqlite
|
9
|
+
DB = Sequel.sqlite
|
9
10
|
|
10
11
|
class Post < Sequel::Model
|
12
|
+
plugin :schema
|
13
|
+
plugin :hook_class_methods
|
11
14
|
set_schema{ primary_key :id; time :created_at; text :text }
|
12
15
|
before_create{ self.created_at ||= Time.now }
|
13
16
|
create_table
|
@@ -18,27 +21,35 @@ end
|
|
18
21
|
class MainController < Ramaze::Controller
|
19
22
|
def index
|
20
23
|
@posts = Post.order(:created_at.desc).first(10)
|
21
|
-
|
22
|
-
|
23
|
-
<
|
24
|
-
<
|
25
|
-
|
26
|
-
<
|
27
|
-
|
28
|
-
|
24
|
+
|
25
|
+
<<-'TEMPLATE'.strip
|
26
|
+
<html>
|
27
|
+
<head><title>Rapp</title></head>
|
28
|
+
<body>
|
29
|
+
<h1>Welcome to Rapp</h1>
|
30
|
+
<h2>A minimal chat wall</h2>
|
31
|
+
<p>Recent Posts:</p>
|
32
|
+
<div id="posts" class="container">
|
33
|
+
<?r @posts.each do |post| ?>
|
34
|
+
<div id="post-#{post.id}" class="post">
|
35
|
+
<p class="text">#{post.text}</p>
|
36
|
+
<p class="created">#{post.created_at}</p>
|
37
|
+
</div>
|
38
|
+
<?r end ?>
|
29
39
|
</div>
|
30
|
-
|
31
|
-
|
32
|
-
<
|
33
|
-
<
|
34
|
-
|
35
|
-
|
36
|
-
</
|
40
|
+
<p>Post Something:</p>
|
41
|
+
<form action="#{r(:create)}" method="POST">
|
42
|
+
<input type="text" size="40" name="text" />
|
43
|
+
<input type="submit" value="Post Message!" />
|
44
|
+
</form>
|
45
|
+
</body>
|
46
|
+
</html>
|
47
|
+
TEMPLATE
|
37
48
|
end
|
38
49
|
|
39
50
|
def create
|
40
51
|
Post.create(:text => request[:text])
|
41
|
-
redirect
|
52
|
+
redirect r(:/)
|
42
53
|
end
|
43
54
|
end
|
44
55
|
|