ramaze 0.3.5 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -20
- data/bin/ramaze +0 -4
- data/doc/AUTHORS +5 -0
- data/doc/meta/announcement.txt +2 -1
- data/doc/tutorial/todolist.html +20 -21
- data/doc/tutorial/todolist.mkd +10 -9
- data/examples/blog/{src/controller.rb → controller/main.rb} +2 -0
- data/examples/blog/{src/model.rb → model/entry.rb} +0 -0
- data/examples/blog/spec/blog.rb +3 -3
- data/examples/blog/start.rb +2 -3
- data/examples/blog/view/edit.xhtml +17 -0
- data/examples/blog/view/index.xhtml +17 -0
- data/examples/blog/view/layout.xhtml +11 -0
- data/examples/blog/view/new.xhtml +16 -0
- data/examples/facebook.rb +15 -8
- data/examples/identity.rb +1 -1
- data/examples/memleak_detector.rb +1 -1
- data/examples/rammit/src/model.rb +1 -1
- data/examples/rapaste/controller/paste.rb +7 -7
- data/examples/rapaste/model/paste.rb +1 -3
- data/examples/rapaste/public/css/display.css +2 -1
- data/examples/rapaste/start.rb +2 -3
- data/examples/sourceview/sourceview.rb +1 -1
- data/examples/templates/template/external.tenjin +28 -0
- data/examples/templates/template_amrita2.rb +0 -3
- data/examples/templates/template_tenjin.rb +57 -0
- data/examples/todolist/spec/todolist.rb +13 -2
- data/examples/todolist/src/controller/main.rb +1 -1
- data/examples/todolist/template/index.xhtml +1 -1
- data/examples/wiktacular/spec/wiktacular.rb +18 -0
- data/examples/wiktacular/src/controller.rb +2 -2
- data/examples/wiktacular/src/model.rb +8 -2
- data/lib/proto/public/css/ramaze_error.css +4 -0
- data/lib/proto/public/dispatch.fcgi +11 -0
- data/lib/proto/spec/main.rb +1 -1
- data/lib/proto/start.ru +8 -0
- data/lib/proto/view/error.xhtml +2 -0
- data/lib/ramaze.rb +28 -5
- data/lib/ramaze/action.rb +9 -2
- data/lib/ramaze/action/render.rb +40 -24
- data/lib/ramaze/adapter.rb +10 -17
- data/lib/ramaze/adapter/base.rb +8 -12
- data/lib/ramaze/adapter/cgi.rb +14 -13
- data/lib/ramaze/adapter/ebb.rb +34 -0
- data/lib/ramaze/adapter/evented_mongrel.rb +1 -1
- data/lib/ramaze/adapter/fcgi.rb +14 -14
- data/lib/ramaze/adapter/lsws.rb +15 -11
- data/lib/ramaze/adapter/mongrel.rb +2 -1
- data/lib/ramaze/adapter/scgi.rb +24 -0
- data/lib/ramaze/adapter/swiftiplied_mongrel.rb +1 -1
- data/lib/ramaze/adapter/thin.rb +4 -5
- data/lib/ramaze/adapter/webrick.rb +5 -5
- data/lib/ramaze/cache.rb +1 -1
- data/lib/ramaze/cache/memcached.rb +1 -1
- data/lib/ramaze/contrib.rb +70 -10
- data/lib/ramaze/contrib/auto_params.rb +1 -1
- data/lib/ramaze/contrib/email.rb +15 -15
- data/lib/ramaze/contrib/facebook.rb +2 -2
- data/lib/ramaze/contrib/facebook/facebook.rb +7 -4
- data/lib/ramaze/contrib/file_cache.rb +65 -0
- data/lib/ramaze/contrib/gettext.rb +56 -55
- data/lib/ramaze/contrib/profiling.rb +36 -0
- data/lib/ramaze/contrib/sequel_cache.rb +92 -0
- data/lib/ramaze/controller.rb +80 -47
- data/lib/ramaze/controller/error.rb +10 -5
- data/lib/ramaze/controller/resolve.rb +36 -48
- data/lib/ramaze/current.rb +70 -0
- data/lib/ramaze/{trinity → current}/request.rb +62 -15
- data/lib/ramaze/current/response.rb +19 -0
- data/lib/ramaze/{trinity → current}/session.rb +32 -110
- data/lib/ramaze/current/session/flash.rb +67 -0
- data/lib/ramaze/current/session/hash.rb +65 -0
- data/lib/ramaze/dispatcher.rb +1 -28
- data/lib/ramaze/dispatcher/action.rb +6 -3
- data/lib/ramaze/dispatcher/directory.rb +1 -1
- data/lib/ramaze/dispatcher/error.rb +26 -5
- data/lib/ramaze/dispatcher/file.rb +13 -2
- data/lib/ramaze/gestalt.rb +3 -1
- data/lib/ramaze/global.rb +6 -3
- data/lib/ramaze/global/globalstruct.rb +3 -1
- data/lib/ramaze/helper.rb +66 -20
- data/lib/ramaze/helper/aspect.rb +25 -17
- data/lib/ramaze/helper/auth.rb +4 -3
- data/lib/ramaze/helper/cache.rb +5 -4
- data/lib/ramaze/helper/cgi.rb +11 -9
- data/lib/ramaze/helper/flash.rb +28 -3
- data/lib/ramaze/helper/formatting.rb +1 -3
- data/lib/ramaze/helper/identity.rb +2 -3
- data/lib/ramaze/helper/inform.rb +7 -6
- data/lib/ramaze/helper/link.rb +15 -17
- data/lib/ramaze/helper/markaby.rb +2 -4
- data/lib/ramaze/helper/maruku.rb +1 -1
- data/lib/ramaze/helper/nitroform.rb +4 -4
- data/lib/ramaze/helper/pager.rb +4 -6
- data/lib/ramaze/helper/partial.rb +24 -21
- data/lib/ramaze/helper/redirect.rb +8 -5
- data/lib/ramaze/helper/{file.rb → sendfile.rb} +1 -3
- data/lib/ramaze/helper/sequel.rb +1 -3
- data/lib/ramaze/helper/stack.rb +1 -3
- data/lib/ramaze/helper/tagz.rb +19 -0
- data/lib/ramaze/helper/user.rb +63 -0
- data/lib/ramaze/inform.rb +2 -24
- data/lib/ramaze/log.rb +28 -0
- data/lib/ramaze/{inform → log}/analogger.rb +3 -3
- data/lib/ramaze/{inform → log}/growl.rb +2 -2
- data/lib/ramaze/{inform → log}/hub.rb +4 -6
- data/lib/ramaze/{inform → log}/informer.rb +4 -4
- data/lib/ramaze/{inform → log}/knotify.rb +2 -2
- data/lib/ramaze/log/logger.rb +22 -0
- data/lib/ramaze/{inform/informing.rb → log/logging.rb} +16 -16
- data/lib/ramaze/{inform → log}/syslog.rb +0 -0
- data/lib/ramaze/{inform → log}/xosd.rb +2 -2
- data/lib/ramaze/route.rb +64 -36
- data/lib/ramaze/snippets/array/put_within.rb +13 -0
- data/lib/ramaze/snippets/binding/locals.rb +13 -0
- data/lib/ramaze/snippets/kernel/__dir__.rb +10 -8
- data/lib/ramaze/snippets/kernel/aquire.rb +1 -1
- data/lib/ramaze/snippets/kernel/constant.rb +1 -1
- data/lib/ramaze/snippets/object/pretty.rb +6 -0
- data/lib/ramaze/snippets/object/scope.rb +11 -0
- data/lib/ramaze/snippets/object/thread_accessor.rb +5 -0
- data/lib/ramaze/snippets/ordered_set.rb +1 -1
- data/lib/ramaze/snippets/proc/locals.rb +11 -0
- data/lib/ramaze/snippets/ramaze/thread_accessor.rb +44 -0
- data/lib/ramaze/snippets/string/esc.rb +29 -0
- data/lib/ramaze/snippets/string/start_with.rb +7 -0
- data/lib/ramaze/snippets/string/unindent.rb +6 -1
- data/lib/ramaze/snippets/struct/values_at.rb +1 -5
- data/lib/ramaze/sourcereload.rb +16 -14
- data/lib/ramaze/spec.rb +1 -0
- data/lib/ramaze/spec/helper.rb +11 -3
- data/lib/ramaze/spec/helper/browser.rb +25 -1
- data/lib/ramaze/spec/helper/pretty_output.rb +11 -11
- data/lib/ramaze/template.rb +5 -4
- data/lib/ramaze/template/amrita2.rb +2 -3
- data/lib/ramaze/template/ezamar/element.rb +2 -3
- data/lib/ramaze/template/ezamar/morpher.rb +1 -2
- data/lib/ramaze/template/ezamar/render_partial.rb +1 -1
- data/lib/ramaze/template/haml.rb +5 -2
- data/lib/ramaze/template/markaby.rb +2 -0
- data/lib/ramaze/template/tagz.rb +79 -0
- data/lib/ramaze/template/tenjin.rb +34 -0
- data/lib/ramaze/tool/create.rb +0 -3
- data/lib/ramaze/tool/localize.rb +107 -105
- data/lib/ramaze/tool/mime.rb +0 -2
- data/lib/ramaze/trinity.rb +1 -26
- data/lib/ramaze/version.rb +1 -1
- data/lib/vendor/bacon.rb +47 -41
- data/rake_tasks/conf.rake +18 -0
- data/rake_tasks/darcs.rake +5 -0
- data/rake_tasks/maintenance.rake +37 -24
- data/rake_tasks/spec.rake +1 -1
- data/spec/contrib/auto_params.rb +3 -1
- data/spec/contrib/profiling.rb +26 -0
- data/spec/examples/templates/template_redcloth.rb +1 -1
- data/spec/examples/templates/template_tenjin.rb +28 -0
- data/spec/helper.rb +0 -1
- data/spec/ramaze/action/layout.rb +28 -0
- data/spec/ramaze/controller/actionless_templates.rb +32 -0
- data/spec/ramaze/controller/template/other_wrapper.xhtml +1 -0
- data/spec/ramaze/controller/template_resolving.rb +37 -0
- data/spec/ramaze/{trinity → current}/request.rb +12 -2
- data/spec/ramaze/current/session.rb +97 -0
- data/spec/ramaze/dispatcher/directory.rb +2 -1
- data/spec/ramaze/dispatcher/file.rb +8 -3
- data/spec/ramaze/dispatcher/public/file name.txt +1 -0
- data/spec/ramaze/gestalt.rb +11 -0
- data/spec/ramaze/helper/aspect.rb +28 -22
- data/spec/ramaze/helper/cgi.rb +2 -2
- data/spec/ramaze/helper/flash.rb +33 -15
- data/spec/ramaze/helper/formatting.rb +2 -2
- data/spec/ramaze/helper/link.rb +46 -18
- data/spec/ramaze/helper/pager.rb +8 -5
- data/spec/ramaze/helper/partial.rb +8 -1
- data/spec/ramaze/helper/template/recursive_local_ivars.xhtml +7 -0
- data/spec/ramaze/helper/user.rb +46 -0
- data/spec/ramaze/{inform → log}/informer.rb +0 -0
- data/spec/ramaze/{inform → log}/syslog.rb +1 -1
- data/spec/ramaze/request.rb +14 -10
- data/spec/ramaze/route.rb +23 -0
- data/spec/ramaze/template.rb +48 -1
- data/spec/ramaze/template/haml.rb +6 -16
- data/spec/ramaze/template/haml/locals.haml +2 -1
- data/spec/ramaze/template/tagz.rb +62 -0
- data/spec/ramaze/template/tagz/external.tagz +8 -0
- data/spec/ramaze/template/tagz/sum.tagz +1 -0
- data/spec/ramaze/template/tenjin.rb +49 -0
- data/spec/ramaze/template/tenjin/external.tenjin +1 -0
- data/spec/snippets/string/unindent.rb +15 -0
- metadata +509 -475
- data/doc/README.html +0 -729
- data/doc/changes.txt +0 -5757
- data/doc/changes.xml +0 -5759
- data/examples/blog/src/view.rb +0 -16
- data/examples/blog/template/edit.xhtml +0 -19
- data/examples/blog/template/index.xhtml +0 -19
- data/examples/blog/template/new.xhtml +0 -18
- data/examples/wiktacular/mkd/newpagename/current.mkd +0 -1
- data/examples/wiktacular/mkd/newpagename/current.mkd.bak +0 -1
- data/lib/ramaze/contrib/email.rb-darcs-backup0 +0 -81
- data/lib/ramaze/template/bijou.rb +0 -39
- data/lib/ramaze/trinity/response.rb +0 -32
- data/spec/ramaze/template/bijou.rb +0 -25
- data/spec/ramaze/trinity/session.rb +0 -29
data/examples/blog/src/view.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
class Blog < Ezamar::Element
|
2
|
-
def render
|
3
|
-
%(
|
4
|
-
<html>
|
5
|
-
<head>
|
6
|
-
<title>bl_Og</title>
|
7
|
-
<link rel="stylesheet" href="/styles/blog.css" type="text/css"/>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<h1>#{@title}</h1>
|
11
|
-
#{content}
|
12
|
-
</body>
|
13
|
-
</html>
|
14
|
-
)
|
15
|
-
end
|
16
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<Blog title="bl_Og">
|
2
|
-
<h2>Editing entry</h2>
|
3
|
-
<div id="entries">
|
4
|
-
<div class="entry">
|
5
|
-
<form method="post" action="#{R self,:save}">
|
6
|
-
<input name="id" type="hidden" value="#{@entry.id}"/>
|
7
|
-
<div class="header">
|
8
|
-
<div class="title">
|
9
|
-
<input name="title" type="text" value="#{@entry.title}"/>
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
<div class="content">
|
13
|
-
<textarea name="content">#{@entry.content}</textarea>
|
14
|
-
</div>
|
15
|
-
<input type="submit" value="Update Entry"/>
|
16
|
-
</form>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
</Blog>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<Blog title="bl_Og">
|
2
|
-
<div id="actions">#{A 'new entry', :href => Rs(:new)}</div>
|
3
|
-
<div id="entries">
|
4
|
-
<?r @entries.each do |entry| ?>
|
5
|
-
<div class="entry">
|
6
|
-
<div class="header">
|
7
|
-
<div class="title">#{entry.title}</div>
|
8
|
-
<div class="created">Created: #{entry.created}</div>
|
9
|
-
<ul>
|
10
|
-
<li>#{A 'edit', :href => Rs(:edit, entry.id)}</li>
|
11
|
-
<li>#{A 'delete', :href => Rs(:delete, entry.id)}</li>
|
12
|
-
</ul>
|
13
|
-
</div>
|
14
|
-
<div class="content">#{entry.content}</div>
|
15
|
-
<div class="updated">Last updated: #{entry.updated}</div>
|
16
|
-
</div>
|
17
|
-
<?r end ?>
|
18
|
-
</div>
|
19
|
-
</Blog>
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<Blog title="bl_Og">
|
2
|
-
<h2>New entry</h2>
|
3
|
-
<div id="entries">
|
4
|
-
<div class="entry">
|
5
|
-
<form method="post" action="#{R self,:create}">
|
6
|
-
<div class="header">
|
7
|
-
<div class="title">
|
8
|
-
<input name="title" type="text" value=""/>
|
9
|
-
</div>
|
10
|
-
</div>
|
11
|
-
<div class="content">
|
12
|
-
<textarea name="content"></textarea>
|
13
|
-
</div>
|
14
|
-
<input type="submit" value="Add Entry"/>
|
15
|
-
</form>
|
16
|
-
</div>
|
17
|
-
</div>
|
18
|
-
</Blog>
|
@@ -1 +0,0 @@
|
|
1
|
-
first text
|
@@ -1 +0,0 @@
|
|
1
|
-
second text
|
@@ -1,81 +0,0 @@
|
|
1
|
-
# EmailHelper can be used as a simple way to send basic e-mails from your app.
|
2
|
-
#
|
3
|
-
# Usage:
|
4
|
-
#
|
5
|
-
# require 'ramaze/contrib/email'
|
6
|
-
#
|
7
|
-
# # Set the required traits:
|
8
|
-
# EmailHelper.trait[ :smtp_server ] = 'smtp.your-isp.com'
|
9
|
-
# EmailHelper.trait[ :smtp_helo_domain ] = "originating-server.com"
|
10
|
-
# EmailHelper.trait[ :smtp_username ] = 'username'
|
11
|
-
# EmailHelper.trait[ :smtp_password ] = 'password'
|
12
|
-
# EmailHelper.trait[ :sender_address ] = 'no-reply@your-domain.com'
|
13
|
-
#
|
14
|
-
# # Optionally, set some other traits:
|
15
|
-
# EmailHelper.trait[ :smtp_auth_type ] = :login
|
16
|
-
# EmailHelper.trait[ :bcc_addresses ] = [ 'admin@your-domain.com' ]
|
17
|
-
# EmailHelper.trait[ :sender_full ] = 'MailBot <no-reply@your-domain.com>'
|
18
|
-
# EmailHelper.trait[ :id_generator ] = lambda { "<#{Time.now.to_i}@your-domain.com>" }
|
19
|
-
# EmailHelper.trait[ :subject_prefix ] = "[SiteName]"
|
20
|
-
#
|
21
|
-
# To send an e-mail:
|
22
|
-
#
|
23
|
-
# EmailHelper.send(
|
24
|
-
# "foo@foobarmail.com",
|
25
|
-
# "Your fooness",
|
26
|
-
# "Hey, you are very fooey!"
|
27
|
-
# )
|
28
|
-
|
29
|
-
require 'net/smtp'
|
30
|
-
|
31
|
-
module Ramaze
|
32
|
-
class EmailHelper
|
33
|
-
# Required to be set
|
34
|
-
trait :smtp_server => 'smtp.your-isp.com'
|
35
|
-
trait :smtp_helo_domain => 'your.helo.domain.com'
|
36
|
-
trait :smtp_username => 'no-username-set'
|
37
|
-
trait :smtp_password => ''
|
38
|
-
trait :sender_address => 'no-reply@your-domain.com'
|
39
|
-
|
40
|
-
# Optionally set
|
41
|
-
trait :smtp_port => 25
|
42
|
-
trait :smtp_auth_type => :login
|
43
|
-
trait :bcc_addresses => []
|
44
|
-
trait :sender_full => nil
|
45
|
-
trait :id_generator => lambda { "<" + Time.now.to_i.to_s + "@" + trait[ :smtp_helo_domain ] + ">" }
|
46
|
-
trait :subject_prefix => ""
|
47
|
-
|
48
|
-
class << self
|
49
|
-
def send(recipient, subject, message)
|
50
|
-
{:recipient => recipient, :subject => subject, :message => message}.each do |k,v|
|
51
|
-
raise(ArgumentError, "EmailHelper error: Missing or invalid #{k}: #{v.inspect}")
|
52
|
-
end
|
53
|
-
sender = trait[:sender_full] || "#{trait[:sender_address]} <#{trait[:sender_address]}>"
|
54
|
-
subject = [trait[:subject_prefix], subject].join(' ').strip
|
55
|
-
id = trait[:id_generator].call
|
56
|
-
email = %{From: #{sender}
|
57
|
-
To: <#{recipient}>
|
58
|
-
Date: #{Time.now.rfc2822}
|
59
|
-
Subject: #{subject}
|
60
|
-
Message-Id: #{id}
|
61
|
-
|
62
|
-
#{message}
|
63
|
-
}
|
64
|
-
|
65
|
-
send_smtp(email)
|
66
|
-
end
|
67
|
-
|
68
|
-
def send_smtp(email, recipient, subject, message)
|
69
|
-
options = trait.values_at(:smtp_server, :smtp_port, :smtp_helo_domain,
|
70
|
-
:smtp_username, :smtp_password, :smtp_auth_type)
|
71
|
-
Net::SMTP.start(*options) do |smtp|
|
72
|
-
smtp.send_message(email, sender_address, Array[recipient, *bcc_addresses])
|
73
|
-
Inform.info "E-mail sent to #{recipient} - '#{subject}'"
|
74
|
-
end
|
75
|
-
rescue => e
|
76
|
-
Inform.error "Failed to send e-mail to #{recipient}"
|
77
|
-
Inform.error e
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
-
|
4
|
-
require 'bijou'
|
5
|
-
|
6
|
-
module Ramaze
|
7
|
-
module Template
|
8
|
-
|
9
|
-
# Is responsible for compiling a template using the Bijou templating engine.
|
10
|
-
# Can be found at: http://bijou.rubyforge.org/
|
11
|
-
|
12
|
-
class Bijou < Template
|
13
|
-
|
14
|
-
ENGINES[self] = %w[ bijou rbb ]
|
15
|
-
|
16
|
-
class << self
|
17
|
-
|
18
|
-
# Transform via Haml templating engine
|
19
|
-
|
20
|
-
def transform action
|
21
|
-
compiled = wrap_compile(action)
|
22
|
-
context = ::Bijou::Context.new(::Bijou::Config.new)
|
23
|
-
# context.container_callback = method(:container_callback)
|
24
|
-
# context.component_callback = method(:component_callback)
|
25
|
-
::Bijou::Processor.execute(context, compiled, 'GeneralView', {})
|
26
|
-
end
|
27
|
-
|
28
|
-
# Instantiates Haml::Engine with the template and haml_options trait from
|
29
|
-
# the controller.
|
30
|
-
|
31
|
-
def compile(action, template)
|
32
|
-
parser = ::Bijou::Parser.new
|
33
|
-
parser.parse('GeneralView', template)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com
|
2
|
-
# All files in this distribution are subject to the terms of the Ruby license.
|
3
|
-
|
4
|
-
module Ramaze
|
5
|
-
|
6
|
-
# Subclassing Rack::Response for our own purposes.
|
7
|
-
class Response < ::Rack::Response
|
8
|
-
# build a response, default values are from the current response.
|
9
|
-
|
10
|
-
def build body = body, status = status, head = header
|
11
|
-
Dispatcher.set_cookie if Global.sessions
|
12
|
-
|
13
|
-
head.each do |key, value|
|
14
|
-
self[key] = value
|
15
|
-
end
|
16
|
-
|
17
|
-
self.body, self.status = body, status
|
18
|
-
self
|
19
|
-
end
|
20
|
-
|
21
|
-
class << self
|
22
|
-
|
23
|
-
# get the current response out of Thread.current[:response]
|
24
|
-
#
|
25
|
-
# You can call this from everywhere with Ramaze::Response.current
|
26
|
-
|
27
|
-
def current
|
28
|
-
Thread.current[:response]
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,25 +0,0 @@
|
|
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
|
-
require 'spec/helper'
|
5
|
-
|
6
|
-
class TCTemplateController < Ramaze::Controller
|
7
|
-
map :/
|
8
|
-
template_root __DIR__/:ezamar
|
9
|
-
engine :Bijou
|
10
|
-
|
11
|
-
def hello
|
12
|
-
"<% planet = 'World' %>
|
13
|
-
Hello, <%= planet %>!"
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
describe "Bijou" do
|
19
|
-
behaves_like 'http'
|
20
|
-
ramaze
|
21
|
-
|
22
|
-
it "hello world" do
|
23
|
-
get('/hello').body.strip.should == 'Hello, World!'
|
24
|
-
end
|
25
|
-
end
|
@@ -1,29 +0,0 @@
|
|
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
|
-
require 'spec/helper'
|
5
|
-
|
6
|
-
class TrinitySessionController < Ramaze::Controller
|
7
|
-
map :/
|
8
|
-
|
9
|
-
def index
|
10
|
-
"nothing"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
describe "Session" do
|
15
|
-
behaves_like 'http'
|
16
|
-
ramaze :sessions => false
|
17
|
-
|
18
|
-
it 'should work without sessions' do
|
19
|
-
class Ramaze::Session
|
20
|
-
remove_const :IP_COUNT_LIMIT
|
21
|
-
const_set(:IP_COUNT_LIMIT, 2)
|
22
|
-
end
|
23
|
-
(Ramaze::Session::IP_COUNT_LIMIT + 2).times do
|
24
|
-
r = get('/')
|
25
|
-
r.body.should == "nothing"
|
26
|
-
r.headers.should == {'Content-Type' => 'text/html'}
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|