manveru-ramaze 2009.04.08 → 2009.04.18
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +113 -0
- data/MANIFEST +2 -3
- data/Rakefile +5 -1
- data/bin/ramaze +107 -25
- data/examples/misc/rapp.rb +28 -17
- data/lib/proto/app.rb +15 -0
- data/lib/proto/config.ru +3 -4
- data/lib/proto/controller/init.rb +2 -2
- data/lib/proto/spec/main.rb +7 -8
- data/lib/proto/start.rb +6 -10
- data/lib/ramaze/contrib/email.rb +2 -0
- 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/helper/localize.rb +13 -3
- data/lib/ramaze/helper/paginate.rb +1 -0
- data/lib/ramaze/request.rb +2 -1
- data/lib/ramaze/spec.rb +5 -8
- data/lib/ramaze/version.rb +1 -1
- data/lib/ramaze/view/haml.rb +1 -0
- data/lib/ramaze/view/nagoro/render_partial.rb +9 -9
- data/lib/ramaze.rb +2 -0
- data/ramaze.gemspec +5 -5
- data/spec/examples/helpers/httpdigest.rb +42 -67
- data/spec/ramaze/dispatcher/file.rb +22 -20
- data/spec/ramaze/error.rb +1 -1
- data/spec/ramaze/helper/auth.rb +29 -40
- data/spec/ramaze/helper/flash.rb +10 -14
- data/spec/ramaze/helper/httpdigest.rb +47 -65
- data/spec/ramaze/helper/localize.rb +9 -9
- data/spec/ramaze/helper/simple_captcha.rb +9 -13
- data/spec/ramaze/helper/stack.rb +31 -39
- data/spec/ramaze/helper/user.rb +15 -13
- data/spec/ramaze/request.rb +12 -0
- data/tasks/release.rake +4 -22
- data/tasks/setup.rake +44 -0
- metadata +5 -6
- data/lib/proto/view/page.xhtml +0 -27
- data/lib/ramaze/snippets/string/each.rb +0 -19
- data/spec/ramaze/helper/partial.rb +0 -40
@@ -65,20 +65,34 @@ module SequelRelation
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def belongs_to(model)
|
68
|
-
todo :
|
68
|
+
todo :many_to_one, singular_sym(model), :class => model
|
69
69
|
end
|
70
70
|
|
71
71
|
def has_many(model)
|
72
72
|
todo :create_join, model
|
73
|
-
todo :many_to_many, model
|
73
|
+
todo :many_to_many, plural_sym(model), :class => model
|
74
74
|
end
|
75
75
|
|
76
76
|
def has_one(model)
|
77
|
-
todo :
|
77
|
+
todo :many_to_one, singular_sym(model), :class => model
|
78
78
|
end
|
79
79
|
|
80
80
|
def todo(method, *args)
|
81
81
|
TODO[@left] << [method, *args]
|
82
82
|
end
|
83
|
+
|
84
|
+
private
|
85
|
+
|
86
|
+
def plural_sym(obj)
|
87
|
+
basename(obj).pluralize.to_sym
|
88
|
+
end
|
89
|
+
|
90
|
+
def singular_sym(obj)
|
91
|
+
basename(obj).to_sym
|
92
|
+
end
|
93
|
+
|
94
|
+
def basename(obj)
|
95
|
+
obj.to_s.split('::').last.downcase
|
96
|
+
end
|
83
97
|
end
|
84
98
|
end
|
@@ -19,7 +19,12 @@ module Ramaze
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def locales
|
22
|
-
|
22
|
+
locales = request.env['localize.locales']
|
23
|
+
return locales if locales
|
24
|
+
|
25
|
+
fallback = ancestral_trait[:localize_locale]
|
26
|
+
locales = Parser.new(request).locales(fallback)
|
27
|
+
request.env['localize.locales'] = locales
|
23
28
|
end
|
24
29
|
|
25
30
|
class Dictionary
|
@@ -105,7 +110,7 @@ module Ramaze
|
|
105
110
|
end
|
106
111
|
|
107
112
|
def parse
|
108
|
-
parse_params || parse_cookie || parse_header
|
113
|
+
parse_params || parse_session || parse_cookie || parse_header
|
109
114
|
end
|
110
115
|
|
111
116
|
def parse_params(key = 'lang')
|
@@ -113,13 +118,18 @@ module Ramaze
|
|
113
118
|
::Locale::Tag.parse(lang)
|
114
119
|
end
|
115
120
|
|
121
|
+
def parse_session(key = :lang)
|
122
|
+
return unless lang = Current.session[key]
|
123
|
+
::Locale::Tag.parse(lang)
|
124
|
+
end
|
125
|
+
|
116
126
|
def parse_cookie(key = 'lang')
|
117
127
|
return unless lang = request.cookies[key]
|
118
128
|
::Locale::Tag.parse(lang)
|
119
129
|
end
|
120
130
|
|
121
131
|
def parse_header
|
122
|
-
request.
|
132
|
+
request.accept_language.map{|lang|
|
123
133
|
::Locale::Tag.parse(lang) }
|
124
134
|
end
|
125
135
|
end
|
data/lib/ramaze/request.rb
CHANGED
@@ -27,13 +27,14 @@ module Ramaze
|
|
27
27
|
# @name # => 'manveru'
|
28
28
|
# @lang # => nil
|
29
29
|
|
30
|
-
def
|
30
|
+
def to_instance_variables(*args)
|
31
31
|
instance = Action.current.instance
|
32
32
|
args.each do |arg|
|
33
33
|
next unless value = self[arg]
|
34
34
|
instance.instance_variable_set("@#{arg}", value)
|
35
35
|
end
|
36
36
|
end
|
37
|
+
alias to_ivs to_instance_variables
|
37
38
|
|
38
39
|
def accept_charset(default = 'UTF-8')
|
39
40
|
return default unless charsets = env['HTTP_ACCEPT_CHARSET']
|
data/lib/ramaze/spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require '
|
2
|
-
require 'bacon'
|
1
|
+
begin; require 'rubygems'; rescue LoadError; end
|
3
2
|
|
3
|
+
require(File.expand_path("#{__FILE__}/../")) unless defined?(Ramaze)
|
4
4
|
require 'innate/spec'
|
5
5
|
|
6
6
|
def spec_requires(*libs)
|
@@ -26,12 +26,9 @@ module Ramaze
|
|
26
26
|
middleware!(:spec){|m| m.run(AppMap) }
|
27
27
|
end
|
28
28
|
|
29
|
-
shared :
|
30
|
-
|
31
|
-
|
29
|
+
shared :mock do
|
30
|
+
Ramaze.setup_dependencies
|
32
31
|
extend Rack::Test::Methods
|
33
32
|
|
34
|
-
def app
|
35
|
-
Ramaze.middleware(:spec)
|
36
|
-
end
|
33
|
+
def app; Ramaze.middleware; end
|
37
34
|
end
|
data/lib/ramaze/version.rb
CHANGED
data/lib/ramaze/view/haml.rb
CHANGED
@@ -1,24 +1,24 @@
|
|
1
|
-
require 'innate/helper/
|
1
|
+
require 'innate/helper/render'
|
2
2
|
|
3
3
|
module Nagoro
|
4
4
|
module Pipe
|
5
5
|
# Pipe that transforms <render /> tags.
|
6
6
|
#
|
7
7
|
# the src parameter in the render tag will be used as first parameter to
|
8
|
-
# render_partial, all other paramters are passed on as +
|
8
|
+
# render_partial, all other paramters are passed on as +variables+.
|
9
9
|
#
|
10
|
-
# Example calling render_partial('
|
11
|
-
# <render src="
|
10
|
+
# Example calling render_partial('hello'):
|
11
|
+
# <render src="hello" />
|
12
12
|
#
|
13
|
-
# Example calling render_partial('
|
14
|
-
# <render src="
|
13
|
+
# Example calling render_partial('hello', 'tail' => 'foo'):
|
14
|
+
# <render src="hello" tail="foo" />
|
15
15
|
#
|
16
16
|
class RenderPartial < Base
|
17
|
-
include Innate::Helper::
|
17
|
+
include Innate::Helper::Render
|
18
18
|
|
19
19
|
def tag_start(tag, attrs)
|
20
|
-
if tag == 'render' and
|
21
|
-
append(render_partial(
|
20
|
+
if tag == 'render' and action_name = attrs.delete('src')
|
21
|
+
append(render_partial(action_name, attrs))
|
22
22
|
else
|
23
23
|
super
|
24
24
|
end
|
data/lib/ramaze.rb
CHANGED
@@ -70,6 +70,7 @@ module Ramaze
|
|
70
70
|
m.use Rack::Head
|
71
71
|
m.use Rack::ETag
|
72
72
|
m.use Rack::ConditionalGet
|
73
|
+
m.use Rack::ContentLength
|
73
74
|
m.run Ramaze::AppMap
|
74
75
|
end
|
75
76
|
|
@@ -81,6 +82,7 @@ module Ramaze
|
|
81
82
|
m.use Rack::Head
|
82
83
|
m.use Rack::ETag
|
83
84
|
m.use Rack::ConditionalGet
|
85
|
+
m.use Rack::ContentLength
|
84
86
|
m.run Ramaze::AppMap
|
85
87
|
end
|
86
88
|
end
|
data/ramaze.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ramaze}
|
5
|
-
s.version = "2009.04.
|
5
|
+
s.version = "2009.04.18"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Michael 'manveru' Fellinger"]
|
9
|
-
s.date = %q{2009-04-
|
9
|
+
s.date = %q{2009-04-18}
|
10
10
|
s.default_executable = %q{ramaze}
|
11
11
|
s.description = %q{Ramaze is a simple and modular web framework}
|
12
12
|
s.email = %q{m.fellinger@gmail.com}
|
13
13
|
s.executables = ["ramaze"]
|
14
|
-
s.files = [".mailmap", "CHANGELOG", "MANIFEST", "README.markdown", "Rakefile", "benchmark/results.txt", "benchmark/run.rb", "benchmark/suite/minimal.rb", "benchmark/suite/no_informer.rb", "benchmark/suite/no_sessions.rb", "benchmark/suite/no_template.rb", "benchmark/suite/simple.rb", "benchmark/suite/template_builder.rb", "benchmark/suite/template_erubis.rb", "benchmark/suite/template_ezamar.rb", "benchmark/suite/template_haml.rb", "benchmark/suite/template_liquid.rb", "benchmark/suite/template_markaby.rb", "benchmark/suite/template_nagoro.rb", "benchmark/suite/template_redcloth.rb", "benchmark/suite/template_tenjin.rb", "benchmark/test.rb", "bin/ramaze", "doc/AUTHORS", "doc/CHANGELOG", "doc/COPYING", "doc/FAQ", "doc/GPL", "doc/INSTALL", "doc/LEGAL", "doc/TODO", "doc/meta/announcement.txt", "doc/meta/configuration.txt", "doc/meta/internals.txt", "doc/meta/users.kml", "doc/tutorial/todolist.html", "doc/tutorial/todolist.mkd", "doc/tutorial/todolist.txt", "examples/app/auth/layout/auth.nag", "examples/app/auth/start.rb", "examples/app/auth/view/index.nag", "examples/app/auth/view/login.nag", "examples/app/auth/view/secret.nag", "examples/app/blog/README", "examples/app/blog/app.rb", "examples/app/blog/config.ru", "examples/app/blog/controller/comment.rb", "examples/app/blog/controller/entry.rb", "examples/app/blog/controller/init.rb", "examples/app/blog/controller/main.rb", "examples/app/blog/controller/tag.rb", "examples/app/blog/layout/default.nag", "examples/app/blog/model/comment.rb", "examples/app/blog/model/entry.rb", "examples/app/blog/model/init.rb", "examples/app/blog/model/tag.rb", "examples/app/blog/public/css/screen.css", "examples/app/blog/spec/blog.rb", "examples/app/blog/start.rb", "examples/app/blog/view/comment/form.nag", "examples/app/blog/view/comment/show.nag", "examples/app/blog/view/entry/edit.nag", "examples/app/blog/view/entry/feed.atom.nag", "examples/app/blog/view/entry/feed.rss.nag", "examples/app/blog/view/entry/index.nag", "examples/app/blog/view/entry/new.nag", "examples/app/blog/view/entry/show.nag", "examples/app/blog/view/feed.atom.nag", "examples/app/blog/view/feed.rss.nag", "examples/app/blog/view/index.nag", "examples/app/blog/view/tag/index.nag", "examples/app/chat/layout/default.nag", "examples/app/chat/model/history.rb", "examples/app/chat/model/message.rb", "examples/app/chat/public/css/chat.css", "examples/app/chat/public/js/chat.js", "examples/app/chat/public/js/jquery.js", "examples/app/chat/start.rb", "examples/app/chat/view/chat.nag", "examples/app/chat/view/index.nag", "examples/app/localization/start.rb", "examples/app/sourceview/public/coderay.css", "examples/app/sourceview/public/images/file.gif", "examples/app/sourceview/public/images/folder.gif", "examples/app/sourceview/public/images/tv-collapsable-last.gif", "examples/app/sourceview/public/images/tv-collapsable.gif", "examples/app/sourceview/public/images/tv-expandable-last.gif", "examples/app/sourceview/public/images/tv-expandable.gif", "examples/app/sourceview/public/images/tv-item-last.gif", "examples/app/sourceview/public/images/tv-item.gif", "examples/app/sourceview/public/jquery.js", "examples/app/sourceview/public/jquery.treeview.css", "examples/app/sourceview/public/jquery.treeview.js", "examples/app/sourceview/public/sourceview.js", "examples/app/sourceview/start.rb", "examples/app/sourceview/view/index.haml", "examples/app/todolist/controller/init.rb", "examples/app/todolist/controller/task.rb", "examples/app/todolist/layout/default.xhtml", "examples/app/todolist/model/init.rb", "examples/app/todolist/model/task.rb", "examples/app/todolist/public/css/screen.css", "examples/app/todolist/public/favicon.ico", "examples/app/todolist/start.rb", "examples/app/todolist/view/index.xhtml", "examples/app/upload/start.rb", "examples/app/upload/view/index.xhtml", "examples/app/whywiki/spec/whywiki.rb", "examples/app/whywiki/start.rb", "examples/app/whywiki/template/edit.xhtml", "examples/app/whywiki/template/show.xhtml", "examples/app/wikore/spec/wikore.rb", "examples/app/wikore/src/controller.rb", "examples/app/wikore/src/model.rb", "examples/app/wikore/start.rb", "examples/app/wikore/template/index.xhtml", "examples/app/wiktacular/README", "examples/app/wiktacular/mkd/link/2007-07-20_19-45-51.mkd", "examples/app/wiktacular/mkd/link/current.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_16-31-33.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-21-12.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-23-10.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-45-07.mkd", "examples/app/wiktacular/mkd/main/current.mkd", "examples/app/wiktacular/mkd/markdown/current.mkd", "examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd", "examples/app/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-46-01.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-46-32.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd", "examples/app/wiktacular/mkd/testing/current.mkd", "examples/app/wiktacular/public/favicon.ico", "examples/app/wiktacular/public/screen.css", "examples/app/wiktacular/spec/wiktacular.rb", "examples/app/wiktacular/src/controller.rb", "examples/app/wiktacular/src/model.rb", "examples/app/wiktacular/start.rb", "examples/app/wiktacular/template/edit.xhtml", "examples/app/wiktacular/template/html_layout.xhtml", "examples/app/wiktacular/template/index.xhtml", "examples/app/wiktacular/template/new.xhtml", "examples/basic/element.rb", "examples/basic/gestalt.rb", "examples/basic/hello.rb", "examples/basic/layout.rb", "examples/basic/linking.rb", "examples/basic/partial.rb", "examples/basic/simple.rb", "examples/helpers/cache.rb", "examples/helpers/form_with_sequel.rb", "examples/helpers/httpdigest.rb", "examples/helpers/identity.rb", "examples/helpers/nitro_form.rb", "examples/helpers/paginate.rb", "examples/helpers/provide.rb", "examples/helpers/rest.rb", "examples/helpers/simple_captcha.rb", "examples/misc/css.rb", "examples/misc/facebook.rb", "examples/misc/memleak_detector.rb", "examples/misc/nagoro_element.rb", "examples/misc/ramaise.rb", "examples/misc/rapp.rb", "examples/misc/sequel_scaffolding.rb", "examples/misc/serve_directory.rb", "examples/templates/template_erubis.rb", "examples/templates/template_ezamar.rb", "examples/templates/template_haml.rb", "examples/templates/template_liquid.rb", "examples/templates/template_markaby.rb", "examples/templates/template_nagoro.rb", "examples/templates/template_redcloth.rb", "examples/templates/template_remarkably.rb", "examples/templates/template_tenjin.rb", "examples/templates/view/external.haml", "examples/templates/view/external.liquid", "examples/templates/view/external.mab", "examples/templates/view/external.nag", "examples/templates/view/external.redcloth", "examples/templates/view/external.rem", "examples/templates/view/external.rhtml", "examples/templates/view/external.tenjin", "examples/templates/view/external.zmr", "lib/proto/config.ru", "lib/proto/controller/init.rb", "lib/proto/controller/main.rb", "lib/proto/layout/default.xhtml", "lib/proto/model/init.rb", "lib/proto/public/.htaccess", "lib/proto/public/css/screen.css", "lib/proto/public/dispatch.fcgi", "lib/proto/public/favicon.ico", "lib/proto/public/js/jquery.js", "lib/proto/public/ramaze.png", "lib/proto/spec/main.rb", "lib/proto/start.rb", "lib/proto/view/index.xhtml", "lib/proto/view/page.xhtml", "lib/ramaze.rb", "lib/ramaze/app.rb", "lib/ramaze/cache.rb", "lib/ramaze/cache/localmemcache.rb", "lib/ramaze/cache/memcache.rb", "lib/ramaze/cache/sequel.rb", "lib/ramaze/contrib/app_graph.rb", "lib/ramaze/contrib/email.rb", "lib/ramaze/contrib/facebook.rb", "lib/ramaze/contrib/facebook/facebook.rb", "lib/ramaze/contrib/gettext.rb", "lib/ramaze/contrib/gettext/mo.rb", "lib/ramaze/contrib/gettext/parser.rb", "lib/ramaze/contrib/gettext/po.rb", "lib/ramaze/contrib/gzip_filter.rb", "lib/ramaze/contrib/maruku_uv.rb", "lib/ramaze/contrib/profiling.rb", "lib/ramaze/contrib/rest.rb", "lib/ramaze/contrib/sequel/create_join.rb", "lib/ramaze/contrib/sequel/form_field.rb", "lib/ramaze/contrib/sequel/image.rb", "lib/ramaze/contrib/sequel/relation.rb", "lib/ramaze/controller.rb", "lib/ramaze/controller/default.rb", "lib/ramaze/current.rb", "lib/ramaze/files.rb", "lib/ramaze/gestalt.rb", "lib/ramaze/helper.rb", "lib/ramaze/helper/auth.rb", "lib/ramaze/helper/bench.rb", "lib/ramaze/helper/cache.rb", "lib/ramaze/helper/disqus.rb", "lib/ramaze/helper/flash.rb", "lib/ramaze/helper/form.rb", "lib/ramaze/helper/formatting.rb", "lib/ramaze/helper/gestalt.rb", "lib/ramaze/helper/gravatar.rb", "lib/ramaze/helper/httpdigest.rb", "lib/ramaze/helper/identity.rb", "lib/ramaze/helper/link.rb", "lib/ramaze/helper/localize.rb", "lib/ramaze/helper/markaby.rb", "lib/ramaze/helper/maruku.rb", "lib/ramaze/helper/nitroform.rb", "lib/ramaze/helper/pager.rb", "lib/ramaze/helper/paginate.rb", "lib/ramaze/helper/partial.rb", "lib/ramaze/helper/remarkably.rb", "lib/ramaze/helper/request_accessor.rb", "lib/ramaze/helper/sequel.rb", "lib/ramaze/helper/sequel_form.rb", "lib/ramaze/helper/simple_captcha.rb", "lib/ramaze/helper/stack.rb", "lib/ramaze/helper/tagz.rb", "lib/ramaze/helper/thread.rb", "lib/ramaze/helper/ultraviolet.rb", "lib/ramaze/helper/user.rb", "lib/ramaze/helper/xhtml.rb", "lib/ramaze/log.rb", "lib/ramaze/log/analogger.rb", "lib/ramaze/log/growl.rb", "lib/ramaze/log/hub.rb", "lib/ramaze/log/informer.rb", "lib/ramaze/log/knotify.rb", "lib/ramaze/log/logger.rb", "lib/ramaze/log/logging.rb", "lib/ramaze/log/rotatinginformer.rb", "lib/ramaze/log/syslog.rb", "lib/ramaze/log/xosd.rb", "lib/ramaze/middleware_compiler.rb", "lib/ramaze/plugin.rb", "lib/ramaze/reloader.rb", "lib/ramaze/reloader/watch_inotify.rb", "lib/ramaze/reloader/watch_stat.rb", "lib/ramaze/request.rb", "lib/ramaze/response.rb", "lib/ramaze/setup.rb", "lib/ramaze/snippets.rb", "lib/ramaze/snippets/array/put_within.rb", "lib/ramaze/snippets/binding/locals.rb", "lib/ramaze/snippets/blankslate.rb", "lib/ramaze/snippets/divide.rb", "lib/ramaze/snippets/fiber.rb", "lib/ramaze/snippets/kernel/constant.rb", "lib/ramaze/snippets/kernel/pretty_inspect.rb", "lib/ramaze/snippets/metaid.rb", "lib/ramaze/snippets/numeric/filesize_format.rb", "lib/ramaze/snippets/numeric/time.rb", "lib/ramaze/snippets/object/__dir__.rb", "lib/ramaze/snippets/object/acquire.rb", "lib/ramaze/snippets/object/instance_variable_defined.rb", "lib/ramaze/snippets/object/pretty.rb", "lib/ramaze/snippets/object/scope.rb", "lib/ramaze/snippets/ordered_set.rb", "lib/ramaze/snippets/proc/locals.rb", "lib/ramaze/snippets/ramaze/acquire.rb", "lib/ramaze/snippets/ramaze/deprecated.rb", "lib/ramaze/snippets/ramaze/dictionary.rb", "lib/ramaze/snippets/ramaze/fiber.rb", "lib/ramaze/snippets/ramaze/struct.rb", "lib/ramaze/snippets/string/camel_case.rb", "lib/ramaze/snippets/string/color.rb", "lib/ramaze/snippets/string/each.rb", "lib/ramaze/snippets/string/end_with.rb", "lib/ramaze/snippets/string/esc.rb", "lib/ramaze/snippets/string/ord.rb", "lib/ramaze/snippets/string/snake_case.rb", "lib/ramaze/snippets/string/start_with.rb", "lib/ramaze/snippets/string/unindent.rb", "lib/ramaze/snippets/thread/into.rb", "lib/ramaze/spec.rb", "lib/ramaze/spec/helper/bacon.rb", "lib/ramaze/spec/helper/pretty_output.rb", "lib/ramaze/spec/helper/snippets.rb", "lib/ramaze/spec/helper/template_examples.rb", "lib/ramaze/tool/create.rb", "lib/ramaze/tool/project_creator.rb", "lib/ramaze/version.rb", "lib/ramaze/view.rb", "lib/ramaze/view/erubis.rb", "lib/ramaze/view/ezamar.rb", "lib/ramaze/view/haml.rb", "lib/ramaze/view/liquid.rb", "lib/ramaze/view/maruku.rb", "lib/ramaze/view/nagoro.rb", "lib/ramaze/view/nagoro/render_partial.rb", "lib/ramaze/view/redcloth.rb", "lib/ramaze/view/remarkably.rb", "lib/ramaze/view/sass.rb", "lib/ramaze/view/tagz.rb", "lib/ramaze/view/tenjin.rb", "lib/vendor/etag.rb", "lib/vendor/route_exceptions.rb", "ramaze.gemspec", "spec/contrib/rest.rb", "spec/examples/caching.rb", "spec/examples/css.rb", "spec/examples/element.rb", "spec/examples/hello.rb", "spec/examples/helpers/httpdigest.rb", "spec/examples/linking.rb", "spec/examples/simple.rb", "spec/examples/templates/template_erubis.rb", "spec/examples/templates/template_ezamar.rb", "spec/examples/templates/template_haml.rb", "spec/examples/templates/template_liquid.rb", "spec/examples/templates/template_markaby.rb", "spec/examples/templates/template_nagoro.rb", "spec/examples/templates/template_redcloth.rb", "spec/examples/templates/template_remarkably.rb", "spec/examples/templates/template_tenjin.rb", "spec/helper.rb", "spec/ramaze/action/render.rb", "spec/ramaze/action/view/bar.xhtml", "spec/ramaze/action/view/instancevars/layout.xhtml", "spec/ramaze/action/view/other_wrapper.erb", "spec/ramaze/action/view/other_wrapper.xhtml", "spec/ramaze/action/view/single_wrapper.xhtml", "spec/ramaze/action/view/sub/sub_wrapper.erb", "spec/ramaze/action/view/sub/sub_wrapper.xhtml", "spec/ramaze/app.rb", "spec/ramaze/cache/localmemcache.rb", "spec/ramaze/cache/memcache.rb", "spec/ramaze/cache/sequel.rb", "spec/ramaze/controller/actionless_templates.rb", "spec/ramaze/controller/mapping.rb", "spec/ramaze/controller/provide_inheritance.rb", "spec/ramaze/controller/resolve.rb", "spec/ramaze/controller/subclass.rb", "spec/ramaze/controller/template_resolving.rb", "spec/ramaze/controller/view/bar.xhtml", "spec/ramaze/controller/view/base/another.xhtml", "spec/ramaze/controller/view/greet.xhtml", "spec/ramaze/controller/view/list.xhtml", "spec/ramaze/controller/view/other/greet/other.xhtml", "spec/ramaze/controller/view/other_wrapper.xhtml", "spec/ramaze/dispatcher/directory.rb", "spec/ramaze/dispatcher/file.rb", "spec/ramaze/dispatcher/public/favicon.ico", "spec/ramaze/dispatcher/public/file name.txt", "spec/ramaze/dispatcher/public/test_download.css", "spec/ramaze/error.rb", "spec/ramaze/files.rb", "spec/ramaze/files/public_1/plain.txt", "spec/ramaze/files/public_2/rich.txt", "spec/ramaze/gestalt.rb", "spec/ramaze/helper/auth.rb", "spec/ramaze/helper/bench.rb", "spec/ramaze/helper/cache.rb", "spec/ramaze/helper/flash.rb", "spec/ramaze/helper/form.rb", "spec/ramaze/helper/formatting.rb", "spec/ramaze/helper/gestalt.rb", "spec/ramaze/helper/gravatar.rb", "spec/ramaze/helper/httpdigest.rb", "spec/ramaze/helper/link.rb", "spec/ramaze/helper/localize.rb", "spec/ramaze/helper/maruku.rb", "spec/ramaze/helper/pager.rb", "spec/ramaze/helper/paginate.rb", "spec/ramaze/helper/partial.rb", "spec/ramaze/helper/request_accessor.rb", "spec/ramaze/helper/sequel_form.rb", "spec/ramaze/helper/simple_captcha.rb", "spec/ramaze/helper/stack.rb", "spec/ramaze/helper/user.rb", "spec/ramaze/helper/view/locals.xhtml", "spec/ramaze/helper/view/loop.xhtml", "spec/ramaze/helper/view/num.xhtml", "spec/ramaze/helper/view/partial.xhtml", "spec/ramaze/helper/view/recursive.xhtml", "spec/ramaze/helper/view/recursive_local_ivars.xhtml", "spec/ramaze/helper/view/recursive_locals.xhtml", "spec/ramaze/helper/view/test_template.xhtml", "spec/ramaze/helper/xhtml.rb", "spec/ramaze/log/informer.rb", "spec/ramaze/log/logging.rb", "spec/ramaze/log/syslog.rb", "spec/ramaze/params.rb", "spec/ramaze/public/favicon.ico", "spec/ramaze/public/ramaze.png", "spec/ramaze/public/test_download.css", "spec/ramaze/request.rb", "spec/ramaze/rewrite/file.css", "spec/ramaze/struct.rb", "spec/ramaze/template/ramaze/external.test", "spec/ramaze/view.rb", "spec/ramaze/view/erubis.rb", "spec/ramaze/view/erubis/external.rhtml", "spec/ramaze/view/erubis/sum.rhtml", "spec/ramaze/view/ezamar.rb", "spec/ramaze/view/ezamar/external.zmr", "spec/ramaze/view/ezamar/sum.zmr", "spec/ramaze/view/haml.rb", "spec/ramaze/view/haml/external.haml", "spec/ramaze/view/haml/sum.haml", "spec/ramaze/view/liquid.rb", "spec/ramaze/view/liquid/external.liquid", "spec/ramaze/view/liquid/sum.liquid", "spec/ramaze/view/nagoro.rb", "spec/ramaze/view/nagoro/external.nag", "spec/ramaze/view/nagoro/sum.nag", "spec/ramaze/view/redcloth.rb", "spec/ramaze/view/redcloth/external.redcloth", "spec/ramaze/view/remarkably.rb", "spec/ramaze/view/remarkably/external.rem", "spec/ramaze/view/remarkably/sum.rem", "spec/ramaze/view/sass.rb", "spec/ramaze/view/sass/file.css.sass", "spec/ramaze/view/tagz.rb", "spec/ramaze/view/tagz/external.tagz", "spec/ramaze/view/tagz/sum.tagz", "spec/ramaze/view/tenjin.rb", "spec/ramaze/view/tenjin/external.rbhtml", "spec/ramaze/view/tenjin/sum.rbhtml", "spec/snippets/array/put_within.rb", "spec/snippets/binding/locals.rb", "spec/snippets/kernel/constant.rb", "spec/snippets/numeric/filesize_format.rb", "spec/snippets/numeric/time.rb", "spec/snippets/object/__dir__.rb", "spec/snippets/ordered_set.rb", "spec/snippets/ramaze/acquire.rb", "spec/snippets/ramaze/dictionary.rb", "spec/snippets/ramaze/struct.rb", "spec/snippets/string/camel_case.rb", "spec/snippets/string/color.rb", "spec/snippets/string/snake_case.rb", "spec/snippets/string/unindent.rb", "spec/snippets/thread/into.rb", "tasks/authors.rake", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/copyright.rake", "tasks/gem.rake", "tasks/gem_installer.rake", "tasks/git.rake", "tasks/grancher.rake", "tasks/install_dependencies.rake", "tasks/jquery.rake", "tasks/manifest.rake", "tasks/metric_changes.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/todo.rake", "tasks/traits.rake", "tasks/yard.rake"]
|
14
|
+
s.files = [".mailmap", "CHANGELOG", "MANIFEST", "README.markdown", "Rakefile", "benchmark/results.txt", "benchmark/run.rb", "benchmark/suite/minimal.rb", "benchmark/suite/no_informer.rb", "benchmark/suite/no_sessions.rb", "benchmark/suite/no_template.rb", "benchmark/suite/simple.rb", "benchmark/suite/template_builder.rb", "benchmark/suite/template_erubis.rb", "benchmark/suite/template_ezamar.rb", "benchmark/suite/template_haml.rb", "benchmark/suite/template_liquid.rb", "benchmark/suite/template_markaby.rb", "benchmark/suite/template_nagoro.rb", "benchmark/suite/template_redcloth.rb", "benchmark/suite/template_tenjin.rb", "benchmark/test.rb", "bin/ramaze", "doc/AUTHORS", "doc/CHANGELOG", "doc/COPYING", "doc/FAQ", "doc/GPL", "doc/INSTALL", "doc/LEGAL", "doc/TODO", "doc/meta/announcement.txt", "doc/meta/configuration.txt", "doc/meta/internals.txt", "doc/meta/users.kml", "doc/tutorial/todolist.html", "doc/tutorial/todolist.mkd", "doc/tutorial/todolist.txt", "examples/app/auth/layout/auth.nag", "examples/app/auth/start.rb", "examples/app/auth/view/index.nag", "examples/app/auth/view/login.nag", "examples/app/auth/view/secret.nag", "examples/app/blog/README", "examples/app/blog/app.rb", "examples/app/blog/config.ru", "examples/app/blog/controller/comment.rb", "examples/app/blog/controller/entry.rb", "examples/app/blog/controller/init.rb", "examples/app/blog/controller/main.rb", "examples/app/blog/controller/tag.rb", "examples/app/blog/layout/default.nag", "examples/app/blog/model/comment.rb", "examples/app/blog/model/entry.rb", "examples/app/blog/model/init.rb", "examples/app/blog/model/tag.rb", "examples/app/blog/public/css/screen.css", "examples/app/blog/spec/blog.rb", "examples/app/blog/start.rb", "examples/app/blog/view/comment/form.nag", "examples/app/blog/view/comment/show.nag", "examples/app/blog/view/entry/edit.nag", "examples/app/blog/view/entry/feed.atom.nag", "examples/app/blog/view/entry/feed.rss.nag", "examples/app/blog/view/entry/index.nag", "examples/app/blog/view/entry/new.nag", "examples/app/blog/view/entry/show.nag", "examples/app/blog/view/feed.atom.nag", "examples/app/blog/view/feed.rss.nag", "examples/app/blog/view/index.nag", "examples/app/blog/view/tag/index.nag", "examples/app/chat/layout/default.nag", "examples/app/chat/model/history.rb", "examples/app/chat/model/message.rb", "examples/app/chat/public/css/chat.css", "examples/app/chat/public/js/chat.js", "examples/app/chat/public/js/jquery.js", "examples/app/chat/start.rb", "examples/app/chat/view/chat.nag", "examples/app/chat/view/index.nag", "examples/app/localization/start.rb", "examples/app/sourceview/public/coderay.css", "examples/app/sourceview/public/images/file.gif", "examples/app/sourceview/public/images/folder.gif", "examples/app/sourceview/public/images/tv-collapsable-last.gif", "examples/app/sourceview/public/images/tv-collapsable.gif", "examples/app/sourceview/public/images/tv-expandable-last.gif", "examples/app/sourceview/public/images/tv-expandable.gif", "examples/app/sourceview/public/images/tv-item-last.gif", "examples/app/sourceview/public/images/tv-item.gif", "examples/app/sourceview/public/jquery.js", "examples/app/sourceview/public/jquery.treeview.css", "examples/app/sourceview/public/jquery.treeview.js", "examples/app/sourceview/public/sourceview.js", "examples/app/sourceview/start.rb", "examples/app/sourceview/view/index.haml", "examples/app/todolist/controller/init.rb", "examples/app/todolist/controller/task.rb", "examples/app/todolist/layout/default.xhtml", "examples/app/todolist/model/init.rb", "examples/app/todolist/model/task.rb", "examples/app/todolist/public/css/screen.css", "examples/app/todolist/public/favicon.ico", "examples/app/todolist/start.rb", "examples/app/todolist/view/index.xhtml", "examples/app/upload/start.rb", "examples/app/upload/view/index.xhtml", "examples/app/whywiki/spec/whywiki.rb", "examples/app/whywiki/start.rb", "examples/app/whywiki/template/edit.xhtml", "examples/app/whywiki/template/show.xhtml", "examples/app/wikore/spec/wikore.rb", "examples/app/wikore/src/controller.rb", "examples/app/wikore/src/model.rb", "examples/app/wikore/start.rb", "examples/app/wikore/template/index.xhtml", "examples/app/wiktacular/README", "examples/app/wiktacular/mkd/link/2007-07-20_19-45-51.mkd", "examples/app/wiktacular/mkd/link/current.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_16-31-33.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-21-12.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-23-10.mkd", "examples/app/wiktacular/mkd/main/2007-07-20_19-45-07.mkd", "examples/app/wiktacular/mkd/main/current.mkd", "examples/app/wiktacular/mkd/markdown/current.mkd", "examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd", "examples/app/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-46-01.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-46-32.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd", "examples/app/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd", "examples/app/wiktacular/mkd/testing/current.mkd", "examples/app/wiktacular/public/favicon.ico", "examples/app/wiktacular/public/screen.css", "examples/app/wiktacular/spec/wiktacular.rb", "examples/app/wiktacular/src/controller.rb", "examples/app/wiktacular/src/model.rb", "examples/app/wiktacular/start.rb", "examples/app/wiktacular/template/edit.xhtml", "examples/app/wiktacular/template/html_layout.xhtml", "examples/app/wiktacular/template/index.xhtml", "examples/app/wiktacular/template/new.xhtml", "examples/basic/element.rb", "examples/basic/gestalt.rb", "examples/basic/hello.rb", "examples/basic/layout.rb", "examples/basic/linking.rb", "examples/basic/partial.rb", "examples/basic/simple.rb", "examples/helpers/cache.rb", "examples/helpers/form_with_sequel.rb", "examples/helpers/httpdigest.rb", "examples/helpers/identity.rb", "examples/helpers/nitro_form.rb", "examples/helpers/paginate.rb", "examples/helpers/provide.rb", "examples/helpers/rest.rb", "examples/helpers/simple_captcha.rb", "examples/misc/css.rb", "examples/misc/facebook.rb", "examples/misc/memleak_detector.rb", "examples/misc/nagoro_element.rb", "examples/misc/ramaise.rb", "examples/misc/rapp.rb", "examples/misc/sequel_scaffolding.rb", "examples/misc/serve_directory.rb", "examples/templates/template_erubis.rb", "examples/templates/template_ezamar.rb", "examples/templates/template_haml.rb", "examples/templates/template_liquid.rb", "examples/templates/template_markaby.rb", "examples/templates/template_nagoro.rb", "examples/templates/template_redcloth.rb", "examples/templates/template_remarkably.rb", "examples/templates/template_tenjin.rb", "examples/templates/view/external.haml", "examples/templates/view/external.liquid", "examples/templates/view/external.mab", "examples/templates/view/external.nag", "examples/templates/view/external.redcloth", "examples/templates/view/external.rem", "examples/templates/view/external.rhtml", "examples/templates/view/external.tenjin", "examples/templates/view/external.zmr", "lib/proto/app.rb", "lib/proto/config.ru", "lib/proto/controller/init.rb", "lib/proto/controller/main.rb", "lib/proto/layout/default.xhtml", "lib/proto/model/init.rb", "lib/proto/public/.htaccess", "lib/proto/public/css/screen.css", "lib/proto/public/dispatch.fcgi", "lib/proto/public/favicon.ico", "lib/proto/public/js/jquery.js", "lib/proto/public/ramaze.png", "lib/proto/spec/main.rb", "lib/proto/start.rb", "lib/proto/view/index.xhtml", "lib/ramaze.rb", "lib/ramaze/app.rb", "lib/ramaze/cache.rb", "lib/ramaze/cache/localmemcache.rb", "lib/ramaze/cache/memcache.rb", "lib/ramaze/cache/sequel.rb", "lib/ramaze/contrib/app_graph.rb", "lib/ramaze/contrib/email.rb", "lib/ramaze/contrib/facebook.rb", "lib/ramaze/contrib/facebook/facebook.rb", "lib/ramaze/contrib/gettext.rb", "lib/ramaze/contrib/gettext/mo.rb", "lib/ramaze/contrib/gettext/parser.rb", "lib/ramaze/contrib/gettext/po.rb", "lib/ramaze/contrib/gzip_filter.rb", "lib/ramaze/contrib/maruku_uv.rb", "lib/ramaze/contrib/profiling.rb", "lib/ramaze/contrib/rest.rb", "lib/ramaze/contrib/sequel/create_join.rb", "lib/ramaze/contrib/sequel/form_field.rb", "lib/ramaze/contrib/sequel/image.rb", "lib/ramaze/contrib/sequel/relation.rb", "lib/ramaze/controller.rb", "lib/ramaze/controller/default.rb", "lib/ramaze/current.rb", "lib/ramaze/files.rb", "lib/ramaze/gestalt.rb", "lib/ramaze/helper.rb", "lib/ramaze/helper/auth.rb", "lib/ramaze/helper/bench.rb", "lib/ramaze/helper/cache.rb", "lib/ramaze/helper/disqus.rb", "lib/ramaze/helper/flash.rb", "lib/ramaze/helper/form.rb", "lib/ramaze/helper/formatting.rb", "lib/ramaze/helper/gestalt.rb", "lib/ramaze/helper/gravatar.rb", "lib/ramaze/helper/httpdigest.rb", "lib/ramaze/helper/identity.rb", "lib/ramaze/helper/link.rb", "lib/ramaze/helper/localize.rb", "lib/ramaze/helper/markaby.rb", "lib/ramaze/helper/maruku.rb", "lib/ramaze/helper/nitroform.rb", "lib/ramaze/helper/pager.rb", "lib/ramaze/helper/paginate.rb", "lib/ramaze/helper/partial.rb", "lib/ramaze/helper/remarkably.rb", "lib/ramaze/helper/request_accessor.rb", "lib/ramaze/helper/sequel.rb", "lib/ramaze/helper/sequel_form.rb", "lib/ramaze/helper/simple_captcha.rb", "lib/ramaze/helper/stack.rb", "lib/ramaze/helper/tagz.rb", "lib/ramaze/helper/thread.rb", "lib/ramaze/helper/ultraviolet.rb", "lib/ramaze/helper/user.rb", "lib/ramaze/helper/xhtml.rb", "lib/ramaze/log.rb", "lib/ramaze/log/analogger.rb", "lib/ramaze/log/growl.rb", "lib/ramaze/log/hub.rb", "lib/ramaze/log/informer.rb", "lib/ramaze/log/knotify.rb", "lib/ramaze/log/logger.rb", "lib/ramaze/log/logging.rb", "lib/ramaze/log/rotatinginformer.rb", "lib/ramaze/log/syslog.rb", "lib/ramaze/log/xosd.rb", "lib/ramaze/middleware_compiler.rb", "lib/ramaze/plugin.rb", "lib/ramaze/reloader.rb", "lib/ramaze/reloader/watch_inotify.rb", "lib/ramaze/reloader/watch_stat.rb", "lib/ramaze/request.rb", "lib/ramaze/response.rb", "lib/ramaze/setup.rb", "lib/ramaze/snippets.rb", "lib/ramaze/snippets/array/put_within.rb", "lib/ramaze/snippets/binding/locals.rb", "lib/ramaze/snippets/blankslate.rb", "lib/ramaze/snippets/divide.rb", "lib/ramaze/snippets/fiber.rb", "lib/ramaze/snippets/kernel/constant.rb", "lib/ramaze/snippets/kernel/pretty_inspect.rb", "lib/ramaze/snippets/metaid.rb", "lib/ramaze/snippets/numeric/filesize_format.rb", "lib/ramaze/snippets/numeric/time.rb", "lib/ramaze/snippets/object/__dir__.rb", "lib/ramaze/snippets/object/acquire.rb", "lib/ramaze/snippets/object/instance_variable_defined.rb", "lib/ramaze/snippets/object/pretty.rb", "lib/ramaze/snippets/object/scope.rb", "lib/ramaze/snippets/ordered_set.rb", "lib/ramaze/snippets/proc/locals.rb", "lib/ramaze/snippets/ramaze/acquire.rb", "lib/ramaze/snippets/ramaze/deprecated.rb", "lib/ramaze/snippets/ramaze/dictionary.rb", "lib/ramaze/snippets/ramaze/fiber.rb", "lib/ramaze/snippets/ramaze/struct.rb", "lib/ramaze/snippets/string/camel_case.rb", "lib/ramaze/snippets/string/color.rb", "lib/ramaze/snippets/string/end_with.rb", "lib/ramaze/snippets/string/esc.rb", "lib/ramaze/snippets/string/ord.rb", "lib/ramaze/snippets/string/snake_case.rb", "lib/ramaze/snippets/string/start_with.rb", "lib/ramaze/snippets/string/unindent.rb", "lib/ramaze/snippets/thread/into.rb", "lib/ramaze/spec.rb", "lib/ramaze/spec/helper/bacon.rb", "lib/ramaze/spec/helper/pretty_output.rb", "lib/ramaze/spec/helper/snippets.rb", "lib/ramaze/spec/helper/template_examples.rb", "lib/ramaze/tool/create.rb", "lib/ramaze/tool/project_creator.rb", "lib/ramaze/version.rb", "lib/ramaze/view.rb", "lib/ramaze/view/erubis.rb", "lib/ramaze/view/ezamar.rb", "lib/ramaze/view/haml.rb", "lib/ramaze/view/liquid.rb", "lib/ramaze/view/maruku.rb", "lib/ramaze/view/nagoro.rb", "lib/ramaze/view/nagoro/render_partial.rb", "lib/ramaze/view/redcloth.rb", "lib/ramaze/view/remarkably.rb", "lib/ramaze/view/sass.rb", "lib/ramaze/view/tagz.rb", "lib/ramaze/view/tenjin.rb", "lib/vendor/etag.rb", "lib/vendor/route_exceptions.rb", "ramaze.gemspec", "spec/contrib/rest.rb", "spec/examples/caching.rb", "spec/examples/css.rb", "spec/examples/element.rb", "spec/examples/hello.rb", "spec/examples/helpers/httpdigest.rb", "spec/examples/linking.rb", "spec/examples/simple.rb", "spec/examples/templates/template_erubis.rb", "spec/examples/templates/template_ezamar.rb", "spec/examples/templates/template_haml.rb", "spec/examples/templates/template_liquid.rb", "spec/examples/templates/template_markaby.rb", "spec/examples/templates/template_nagoro.rb", "spec/examples/templates/template_redcloth.rb", "spec/examples/templates/template_remarkably.rb", "spec/examples/templates/template_tenjin.rb", "spec/helper.rb", "spec/ramaze/action/render.rb", "spec/ramaze/action/view/bar.xhtml", "spec/ramaze/action/view/instancevars/layout.xhtml", "spec/ramaze/action/view/other_wrapper.erb", "spec/ramaze/action/view/other_wrapper.xhtml", "spec/ramaze/action/view/single_wrapper.xhtml", "spec/ramaze/action/view/sub/sub_wrapper.erb", "spec/ramaze/action/view/sub/sub_wrapper.xhtml", "spec/ramaze/app.rb", "spec/ramaze/cache/localmemcache.rb", "spec/ramaze/cache/memcache.rb", "spec/ramaze/cache/sequel.rb", "spec/ramaze/controller/actionless_templates.rb", "spec/ramaze/controller/mapping.rb", "spec/ramaze/controller/provide_inheritance.rb", "spec/ramaze/controller/resolve.rb", "spec/ramaze/controller/subclass.rb", "spec/ramaze/controller/template_resolving.rb", "spec/ramaze/controller/view/bar.xhtml", "spec/ramaze/controller/view/base/another.xhtml", "spec/ramaze/controller/view/greet.xhtml", "spec/ramaze/controller/view/list.xhtml", "spec/ramaze/controller/view/other/greet/other.xhtml", "spec/ramaze/controller/view/other_wrapper.xhtml", "spec/ramaze/dispatcher/directory.rb", "spec/ramaze/dispatcher/file.rb", "spec/ramaze/dispatcher/public/favicon.ico", "spec/ramaze/dispatcher/public/file name.txt", "spec/ramaze/dispatcher/public/test_download.css", "spec/ramaze/error.rb", "spec/ramaze/files.rb", "spec/ramaze/files/public_1/plain.txt", "spec/ramaze/files/public_2/rich.txt", "spec/ramaze/gestalt.rb", "spec/ramaze/helper/auth.rb", "spec/ramaze/helper/bench.rb", "spec/ramaze/helper/cache.rb", "spec/ramaze/helper/flash.rb", "spec/ramaze/helper/form.rb", "spec/ramaze/helper/formatting.rb", "spec/ramaze/helper/gestalt.rb", "spec/ramaze/helper/gravatar.rb", "spec/ramaze/helper/httpdigest.rb", "spec/ramaze/helper/link.rb", "spec/ramaze/helper/localize.rb", "spec/ramaze/helper/maruku.rb", "spec/ramaze/helper/pager.rb", "spec/ramaze/helper/paginate.rb", "spec/ramaze/helper/request_accessor.rb", "spec/ramaze/helper/sequel_form.rb", "spec/ramaze/helper/simple_captcha.rb", "spec/ramaze/helper/stack.rb", "spec/ramaze/helper/user.rb", "spec/ramaze/helper/view/locals.xhtml", "spec/ramaze/helper/view/loop.xhtml", "spec/ramaze/helper/view/num.xhtml", "spec/ramaze/helper/view/partial.xhtml", "spec/ramaze/helper/view/recursive.xhtml", "spec/ramaze/helper/view/recursive_local_ivars.xhtml", "spec/ramaze/helper/view/recursive_locals.xhtml", "spec/ramaze/helper/view/test_template.xhtml", "spec/ramaze/helper/xhtml.rb", "spec/ramaze/log/informer.rb", "spec/ramaze/log/logging.rb", "spec/ramaze/log/syslog.rb", "spec/ramaze/params.rb", "spec/ramaze/public/favicon.ico", "spec/ramaze/public/ramaze.png", "spec/ramaze/public/test_download.css", "spec/ramaze/request.rb", "spec/ramaze/rewrite/file.css", "spec/ramaze/struct.rb", "spec/ramaze/template/ramaze/external.test", "spec/ramaze/view.rb", "spec/ramaze/view/erubis.rb", "spec/ramaze/view/erubis/external.rhtml", "spec/ramaze/view/erubis/sum.rhtml", "spec/ramaze/view/ezamar.rb", "spec/ramaze/view/ezamar/external.zmr", "spec/ramaze/view/ezamar/sum.zmr", "spec/ramaze/view/haml.rb", "spec/ramaze/view/haml/external.haml", "spec/ramaze/view/haml/sum.haml", "spec/ramaze/view/liquid.rb", "spec/ramaze/view/liquid/external.liquid", "spec/ramaze/view/liquid/sum.liquid", "spec/ramaze/view/nagoro.rb", "spec/ramaze/view/nagoro/external.nag", "spec/ramaze/view/nagoro/sum.nag", "spec/ramaze/view/redcloth.rb", "spec/ramaze/view/redcloth/external.redcloth", "spec/ramaze/view/remarkably.rb", "spec/ramaze/view/remarkably/external.rem", "spec/ramaze/view/remarkably/sum.rem", "spec/ramaze/view/sass.rb", "spec/ramaze/view/sass/file.css.sass", "spec/ramaze/view/tagz.rb", "spec/ramaze/view/tagz/external.tagz", "spec/ramaze/view/tagz/sum.tagz", "spec/ramaze/view/tenjin.rb", "spec/ramaze/view/tenjin/external.rbhtml", "spec/ramaze/view/tenjin/sum.rbhtml", "spec/snippets/array/put_within.rb", "spec/snippets/binding/locals.rb", "spec/snippets/kernel/constant.rb", "spec/snippets/numeric/filesize_format.rb", "spec/snippets/numeric/time.rb", "spec/snippets/object/__dir__.rb", "spec/snippets/ordered_set.rb", "spec/snippets/ramaze/acquire.rb", "spec/snippets/ramaze/dictionary.rb", "spec/snippets/ramaze/struct.rb", "spec/snippets/string/camel_case.rb", "spec/snippets/string/color.rb", "spec/snippets/string/snake_case.rb", "spec/snippets/string/unindent.rb", "spec/snippets/thread/into.rb", "tasks/authors.rake", "tasks/bacon.rake", "tasks/changelog.rake", "tasks/copyright.rake", "tasks/gem.rake", "tasks/gem_installer.rake", "tasks/git.rake", "tasks/grancher.rake", "tasks/install_dependencies.rake", "tasks/jquery.rake", "tasks/manifest.rake", "tasks/metric_changes.rake", "tasks/rcov.rake", "tasks/release.rake", "tasks/reversion.rake", "tasks/setup.rake", "tasks/todo.rake", "tasks/traits.rake", "tasks/yard.rake"]
|
15
15
|
s.has_rdoc = true
|
16
16
|
s.homepage = %q{http://github.com/manveru/org}
|
17
17
|
s.post_install_message = %q{============================================================
|
@@ -23,12 +23,12 @@ You can now do create a new project:
|
|
23
23
|
============================================================}
|
24
24
|
s.require_paths = ["lib"]
|
25
25
|
s.rubyforge_project = %q{ramaze}
|
26
|
-
s.rubygems_version = %q{1.3.
|
26
|
+
s.rubygems_version = %q{1.3.2}
|
27
27
|
s.summary = %q{Ramaze is a simple and modular web framework}
|
28
28
|
|
29
29
|
if s.respond_to? :specification_version then
|
30
30
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
31
|
-
s.specification_version =
|
31
|
+
s.specification_version = 3
|
32
32
|
|
33
33
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
34
34
|
else
|
@@ -1,89 +1,64 @@
|
|
1
1
|
require 'spec/helper'
|
2
2
|
require 'examples/helpers/httpdigest'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
end
|
13
|
-
super
|
14
|
-
end
|
15
|
-
|
16
|
-
def method
|
17
|
-
@params['method']
|
18
|
-
end
|
19
|
-
|
20
|
-
def response(password)
|
21
|
-
Rack::Auth::Digest::MD5.new(nil).send(:digest, self, password)
|
22
|
-
end
|
23
|
-
end
|
4
|
+
# Not sure if we should change the behaviour of digest_authorize, it keeps
|
5
|
+
# challenging the authorization even after a logout, which will log us in right
|
6
|
+
# away again.
|
7
|
+
#
|
8
|
+
# IMHO, digest_authorize should only be valid for the following request.
|
9
|
+
#
|
10
|
+
# So for now, we have to reset the values of @digest_username and
|
11
|
+
# @digest_password before we make a request.
|
24
12
|
|
25
13
|
describe Ramaze::Helper do
|
26
|
-
behaves_like :
|
27
|
-
|
28
|
-
def auth_for(got, uri, username, password)
|
29
|
-
challenge = got['WWW-Authenticate'].split(' ', 2).last
|
30
|
-
params = Rack::Auth::Digest::Params.parse(challenge)
|
31
|
-
params.merge!('cnonce' => 'nonsensenonce', 'method' => 'GET',
|
32
|
-
'nc' => '00000001', 'uri' => uri, 'username' => username)
|
33
|
-
params['response'] = MockDigestRequest.new(params).response(password)
|
34
|
-
|
35
|
-
"Digest #{params}"
|
36
|
-
end
|
14
|
+
behaves_like :mock
|
37
15
|
|
38
16
|
it 'authorizes request for /eyes_only' do
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
17
|
+
digest_authorize nil, nil
|
18
|
+
get '/eyes_only'
|
19
|
+
last_response.status.should == 401
|
20
|
+
last_response.body.should == "Unauthorized"
|
43
21
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
end
|
22
|
+
digest_authorize 'foo', 'oof'
|
23
|
+
get '/eyes_only'
|
24
|
+
last_response.status.should == 200
|
25
|
+
last_response.body.should == "Shhhh don't tell anyone"
|
49
26
|
end
|
50
27
|
|
51
28
|
it 'authorizes request for /secret as admin' do
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
29
|
+
digest_authorize nil, nil
|
30
|
+
get '/secret'
|
31
|
+
last_response.status.should == 401
|
32
|
+
last_response.body.should == 'Unauthorized'
|
33
|
+
|
34
|
+
digest_authorize 'admin', 'secret'
|
35
|
+
get '/secret'
|
56
36
|
|
57
|
-
|
58
|
-
|
59
|
-
got.status.should == 200
|
60
|
-
got.body.should == "Hello <em>admin</em>, welcome to SECRET world."
|
61
|
-
end
|
37
|
+
last_response.status.should == 200
|
38
|
+
last_response.body.should == "Hello <em>admin</em>, welcome to SECRET world."
|
62
39
|
end
|
63
40
|
|
64
41
|
it 'authorizes request for /secret as root' do
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
42
|
+
digest_authorize nil, nil
|
43
|
+
get '/secret'
|
44
|
+
last_response.status.should == 401
|
45
|
+
last_response.body.should == 'Unauthorized'
|
69
46
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
end
|
47
|
+
digest_authorize 'root', 'password'
|
48
|
+
get '/secret'
|
49
|
+
last_response.status.should == 200
|
50
|
+
last_response.body.should == "Hello <em>root</em>, welcome to SECRET world."
|
75
51
|
end
|
76
52
|
|
77
53
|
it 'authorizes request for /guest' do
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
54
|
+
digest_authorize nil, nil
|
55
|
+
get '/guest'
|
56
|
+
last_response.status.should == 401
|
57
|
+
last_response.body.should == 'Unauthorized'
|
82
58
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
end
|
59
|
+
digest_authorize 'guest', 'access'
|
60
|
+
get '/guest'
|
61
|
+
last_response.status.should == 200
|
62
|
+
last_response.body.should == "Hello <em>guest</em>, welcome to GUEST world."
|
88
63
|
end
|
89
64
|
end
|
@@ -21,49 +21,51 @@ describe 'Serving static files' do
|
|
21
21
|
|
22
22
|
it 'serves from public root' do
|
23
23
|
css = File.read(__DIR__('public/test_download.css'))
|
24
|
-
|
25
|
-
|
26
|
-
|
24
|
+
get '/test_download.css'
|
25
|
+
last_response.body.should == css
|
26
|
+
last_response.status.should == 200
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'serves files with spaces' do
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
get '/file%20name.txt'
|
31
|
+
last_response.status.should == 200
|
32
|
+
last_response.body.should == 'hi'
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'sends ETag for string bodies' do
|
36
|
-
|
37
|
-
|
36
|
+
get '/'
|
37
|
+
last_response['ETag'].size.should == 34
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'sends Last-Modified for file bodies' do
|
41
|
-
|
41
|
+
get '/test_download.css'
|
42
42
|
|
43
43
|
mtime = File.mtime(__DIR__('public/test_download.css'))
|
44
44
|
|
45
|
-
|
45
|
+
last_response['Last-Modified'].should == mtime.httpdate
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'respects ETag with HTTP_IF_NONE_MATCH' do
|
49
|
-
|
49
|
+
get '/'
|
50
50
|
|
51
|
-
etag =
|
51
|
+
etag = last_response['ETag']
|
52
52
|
etag.should.not.be.nil
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
54
|
+
header 'HTTP_IF_NONE_MATCH', etag
|
55
|
+
get '/'
|
56
|
+
last_response.status.should == 304
|
57
|
+
last_response.body.should == ''
|
57
58
|
end
|
58
59
|
|
59
60
|
it 'respects Last-Modified with HTTP_IF_MODIFIED_SINCE' do
|
60
|
-
|
61
|
+
get '/test_download.css'
|
61
62
|
|
62
|
-
mtime =
|
63
|
+
mtime = last_response['Last-Modified']
|
63
64
|
mtime.should.not.be.nil
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
header 'HTTP_IF_MODIFIED_SINCE', mtime
|
67
|
+
get '/test_download.css'
|
68
|
+
last_response.status.should == 304
|
69
|
+
last_response.body.should == ''
|
68
70
|
end
|
69
71
|
end
|