ramaze 2011.10.23 → 2011.12.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rvmrc +2 -1
- data/guide/AUTHORS +2 -2
- data/guide/CHANGELOG +52 -0
- data/guide/general/sessions.md +4 -3
- data/guide/tutorials/introduction.md +5 -1
- data/lib/ramaze/controller.rb +2 -2
- data/lib/ramaze/dependencies.rb +1 -1
- data/lib/ramaze/files.rb +1 -1
- data/lib/ramaze/helper/csrf.rb +4 -4
- data/lib/ramaze/middleware_compiler.rb +1 -1
- data/lib/ramaze/snippets/thread/into.rb +3 -3
- data/lib/ramaze/version.rb +1 -1
- data/ramaze.gemspec +1 -1
- data/spec/ramaze/dispatcher/directory.rb +1 -1
- data/spec/ramaze/helper/csrf.rb +23 -33
- metadata +59 -60
data/.rvmrc
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
rvm
|
|
1
|
+
rvm --install --create use 1.9.3@ramaze
|
|
2
|
+
[[ -s .gems ]] && rvm gemset import .gems
|
data/guide/AUTHORS
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Following persons have contributed to ramaze.
|
|
2
2
|
(Sorted by number of submitted patches, then alphabetically)
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
2730 Michael Fellinger <m.fellinger@gmail.com>
|
|
5
5
|
216 Aman Gupta <aman@ramaze.net>
|
|
6
|
-
|
|
6
|
+
146 Yorick Peterse <yorickpeterse@gmail.com>
|
|
7
7
|
89 Jonathan Buch <jonathan.buch@gmail.com>
|
|
8
8
|
77 Pistos <gitsomegrace.5.pistos@geoshell.com>
|
|
9
9
|
69 Clive Crous <clive@crous.co.za>
|
data/guide/CHANGELOG
CHANGED
|
@@ -1,3 +1,55 @@
|
|
|
1
|
+
[4553e0b | Wed Dec 28 05:13:22 UTC 2011] Michael Fellinger <m.fellinger@gmail.com>
|
|
2
|
+
|
|
3
|
+
* Wrap Rack::File so we can continue to use Rack::Cascade
|
|
4
|
+
|
|
5
|
+
[f52f010 | Wed Dec 28 03:07:49 UTC 2011] Michael Fellinger <m.fellinger@gmail.com>
|
|
6
|
+
|
|
7
|
+
* avoid shadow warning in controller
|
|
8
|
+
|
|
9
|
+
[c64833c | Wed Dec 28 02:58:55 UTC 2011] Michael Fellinger <m.fellinger@gmail.com>
|
|
10
|
+
|
|
11
|
+
* fix shadowed variables in Thread#into
|
|
12
|
+
|
|
13
|
+
[4c66220 | Sat Dec 24 12:32:17 UTC 2011] Michael Fellinger <m.fellinger@gmail.com>
|
|
14
|
+
|
|
15
|
+
* Update rvmrc to 1.9.3 and new convention
|
|
16
|
+
|
|
17
|
+
[de1a871 | Sat Dec 24 12:33:11 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
18
|
+
|
|
19
|
+
* Don't specify the exact amount of lines.
|
|
20
|
+
|
|
21
|
+
Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
|
|
22
|
+
|
|
23
|
+
[3b17e67 | Sat Dec 24 12:24:29 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
24
|
+
|
|
25
|
+
* Set Ramaze.options.roots in the intro tutorial.
|
|
26
|
+
|
|
27
|
+
Without this Ramaze won't be able to properly locate your root directories and
|
|
28
|
+
thus will fail to load views, layouts, etc.
|
|
29
|
+
|
|
30
|
+
Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
|
|
31
|
+
|
|
32
|
+
[88c5a38 | Wed Nov 09 18:26:11 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
33
|
+
|
|
34
|
+
* Use request.ip/request.host instead of request.env
|
|
35
|
+
|
|
36
|
+
Using request.env['REMOTE_ADDR'] and request.env['REMOTE_HOST'] can break on
|
|
37
|
+
certain environments (e.g. Heroku). Thanks to @stas for reporting the issue.
|
|
38
|
+
|
|
39
|
+
Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
|
|
40
|
+
|
|
41
|
+
[51c8d43 | Sun Oct 23 18:11:57 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
42
|
+
|
|
43
|
+
* Minor style changes to the Flash documentation.
|
|
44
|
+
|
|
45
|
+
Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
|
|
46
|
+
|
|
47
|
+
[2877b07 | Sun Oct 23 17:03:50 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
48
|
+
|
|
49
|
+
* Release 2011.10.23.
|
|
50
|
+
|
|
51
|
+
Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
|
|
52
|
+
|
|
1
53
|
[7c6cd3d | Sun Oct 23 17:01:27 UTC 2011] Yorick Peterse <yorickpeterse@gmail.com>
|
|
2
54
|
|
|
3
55
|
* Added Michael to the Email list for Travis.
|
data/guide/general/sessions.md
CHANGED
|
@@ -105,10 +105,11 @@ Note that due to the nature of the flash data you'd have to do this before the
|
|
|
105
105
|
client requests a new resource as the data will be deleted automatically at
|
|
106
106
|
that point.
|
|
107
107
|
|
|
108
|
-
To
|
|
109
|
-
|
|
108
|
+
To make it easier to display flash based messages you can use
|
|
109
|
+
{Ramaze::Helper::Flash#flashbox}. You can load this helper by calling
|
|
110
|
+
``helper(:flash)`` inside your controller.
|
|
110
111
|
|
|
111
|
-
To change the markup of the flashbox
|
|
112
|
+
To change the markup of the flashbox' HTML you can use the following trait
|
|
112
113
|
inside your controller:
|
|
113
114
|
|
|
114
115
|
trait :flashbox => "<div class=\"alert-message %key\"><p>%value</p></div>"
|
|
@@ -61,11 +61,15 @@ The next step is to create our app.rb file. Note that this file can be named
|
|
|
61
61
|
anything you like but in all the tutorials "app.rb" will be used, on top of
|
|
62
62
|
that it's somewhat of a standard so it's best to just stick with the name. The
|
|
63
63
|
contents of this file can be anything you like as long as it contains the
|
|
64
|
-
following
|
|
64
|
+
following lines of code:
|
|
65
65
|
|
|
66
66
|
require 'rubygems' # Only required on Ruby < 1.9
|
|
67
67
|
require 'ramaze' # Always required
|
|
68
68
|
|
|
69
|
+
# Sets the root directory to the current directory by default. Feel free to
|
|
70
|
+
# add more directories when needed.
|
|
71
|
+
Ramaze.options.roots = [__DIR__]
|
|
72
|
+
|
|
69
73
|
This will load the Ramaze gem, without it you won't be able to create a Ramaze
|
|
70
74
|
application. Besides this you'll obviously need to load a few more files in
|
|
71
75
|
order to get a working application. Let's create our first controller and load
|
data/lib/ramaze/controller.rb
CHANGED
data/lib/ramaze/dependencies.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Ramaze
|
|
|
13
13
|
# Array containing the names and versions of all the gems required by Ramaze
|
|
14
14
|
# along with the name of how the gem should be required.
|
|
15
15
|
DEPENDENCIES = [
|
|
16
|
-
{:name => 'innate', :version => ['>=
|
|
16
|
+
{:name => 'innate', :version => ['>= 2011.12']}
|
|
17
17
|
]
|
|
18
18
|
|
|
19
19
|
# Array containing all the development dependencies.
|
data/lib/ramaze/files.rb
CHANGED
data/lib/ramaze/helper/csrf.rb
CHANGED
|
@@ -136,9 +136,9 @@ module Ramaze
|
|
|
136
136
|
session[:_csrf] = {
|
|
137
137
|
:time => time.to_i,
|
|
138
138
|
:token => token,
|
|
139
|
-
:ip => request.
|
|
139
|
+
:ip => request.ip,
|
|
140
140
|
:agent => request.env['HTTP_USER_AGENT'],
|
|
141
|
-
:host => request.
|
|
141
|
+
:host => request.host,
|
|
142
142
|
:ttl => ttl
|
|
143
143
|
}
|
|
144
144
|
|
|
@@ -197,8 +197,8 @@ module Ramaze
|
|
|
197
197
|
# Mirror mirror on the wall, who's the most secure of them all?
|
|
198
198
|
session[:_csrf][:token] == input_token &&
|
|
199
199
|
(Time.now.to_f - _csrf[:time]) <= _csrf[:ttl] &&
|
|
200
|
-
_csrf[:host]
|
|
201
|
-
_csrf[:ip]
|
|
200
|
+
_csrf[:host] == request.host &&
|
|
201
|
+
_csrf[:ip] == request.ip &&
|
|
202
202
|
_csrf[:agent] == request.env['HTTP_USER_AGENT']
|
|
203
203
|
end
|
|
204
204
|
end # CSRF
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
# Extensions for Thread
|
|
5
5
|
class Thread
|
|
6
6
|
# Copy all thread variables into the new thread
|
|
7
|
-
def self.into
|
|
8
|
-
Thread.new(Thread.current, *args) do |thread, *
|
|
7
|
+
def self.into(*args)
|
|
8
|
+
Thread.new(Thread.current, *args) do |thread, *thread_args|
|
|
9
9
|
thread.keys.each do |k|
|
|
10
10
|
Thread.current[k] = thread[k] unless k.to_s =~ /^__/
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
yield(*
|
|
13
|
+
yield(*thread_args)
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
16
|
end # Thread
|
data/lib/ramaze/version.rb
CHANGED
data/ramaze.gemspec
CHANGED
|
@@ -7,7 +7,7 @@ path = File.expand_path('../', __FILE__)
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = 'ramaze'
|
|
9
9
|
s.version = Ramaze::VERSION
|
|
10
|
-
s.date = '2011-
|
|
10
|
+
s.date = '2011-12-28'
|
|
11
11
|
s.authors = ['Michael \'manveru\' Fellinger']
|
|
12
12
|
s.email = 'm.fellinger@gmail.com'
|
|
13
13
|
s.summary = 'Ramaze is a simple and modular web framework'
|
|
@@ -50,7 +50,7 @@ describe 'Directory listing' do
|
|
|
50
50
|
files = [
|
|
51
51
|
["../", "Parent Directory"],
|
|
52
52
|
["/favicon.ico", "favicon.ico"],
|
|
53
|
-
["/file
|
|
53
|
+
["/file+name.txt", "file name.txt"],
|
|
54
54
|
["/test/", "test/"],
|
|
55
55
|
["/test_download.css", "test_download.css"]
|
|
56
56
|
]
|
data/spec/ramaze/helper/csrf.rb
CHANGED
|
@@ -10,10 +10,10 @@ require 'ramaze/helper/csrf'
|
|
|
10
10
|
# - Yorick Peterse
|
|
11
11
|
#
|
|
12
12
|
class SpecHelperCSRF < Ramaze::Controller
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
engine :none
|
|
15
15
|
helper :csrf
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
before_all do
|
|
18
18
|
csrf_protection :check_post, :protect_me do
|
|
19
19
|
respond("The specified CSRF token is incorrect.", 401)
|
|
@@ -24,18 +24,18 @@ class SpecHelperCSRF < Ramaze::Controller
|
|
|
24
24
|
def index
|
|
25
25
|
generate_csrf_token
|
|
26
26
|
end
|
|
27
|
-
|
|
27
|
+
|
|
28
28
|
# Retrieve the current value of the CSRF token
|
|
29
29
|
def get
|
|
30
30
|
return get_csrf_token
|
|
31
31
|
end
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
# Check if the token isn't regenerated
|
|
34
34
|
def dont_regenerate
|
|
35
35
|
$token_sess = session[:_csrf][:token]
|
|
36
36
|
$token_method = get_csrf_token
|
|
37
37
|
end
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
# Check the TTL
|
|
40
40
|
def check_ttl
|
|
41
41
|
generate_csrf_token :ttl => 3
|
|
@@ -43,67 +43,57 @@ class SpecHelperCSRF < Ramaze::Controller
|
|
|
43
43
|
sleep 4
|
|
44
44
|
$new_token = get_csrf_token
|
|
45
45
|
end
|
|
46
|
-
|
|
46
|
+
|
|
47
47
|
# Check if the before_all block works
|
|
48
48
|
def check_post
|
|
49
49
|
"POST allowed."
|
|
50
50
|
end
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
describe Ramaze::Helper::CSRF do
|
|
55
55
|
behaves_like :rack_test
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
# General validation
|
|
59
|
-
|
|
60
|
-
it 'Generate a new CSRF token' do
|
|
56
|
+
|
|
57
|
+
it 'generate a new csrf token' do
|
|
61
58
|
got = get '/'
|
|
62
|
-
|
|
59
|
+
|
|
63
60
|
got.status.should.equal 200
|
|
64
61
|
got.body.should.equal ''
|
|
65
62
|
end
|
|
66
|
-
|
|
67
|
-
it '
|
|
63
|
+
|
|
64
|
+
it 'retrieve the current CSRF token' do
|
|
68
65
|
got = get '/get'
|
|
69
|
-
|
|
66
|
+
|
|
70
67
|
got.status.should.equal 200
|
|
71
68
|
got.body.length.should.equal 128
|
|
72
69
|
end
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
# Validate the token expiration
|
|
76
|
-
|
|
77
|
-
it 'Check if the token is regenerated (it shouldn\'t)' do
|
|
70
|
+
|
|
71
|
+
it 'do not generate a new token' do
|
|
78
72
|
got = get '/dont_regenerate'
|
|
79
|
-
|
|
73
|
+
|
|
80
74
|
got.status.should.equal 200
|
|
81
75
|
$token_sess.should.equal $token_method
|
|
82
76
|
end
|
|
83
|
-
|
|
84
|
-
it '
|
|
77
|
+
|
|
78
|
+
it 'expire token after 3 seconds' do
|
|
85
79
|
got = get '/check_ttl'
|
|
86
|
-
|
|
80
|
+
|
|
87
81
|
got.status.should.equal 200
|
|
88
82
|
$old_token.should.not.equal $new_token
|
|
89
83
|
end
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
# Validate all HTTP requests (GET, POST, etc)
|
|
93
|
-
|
|
94
|
-
it 'Validate all HTTP requests (GET, POST, etc)' do
|
|
84
|
+
|
|
85
|
+
it 'validate all HTTP requests' do
|
|
95
86
|
methods = [:get, :post, :put, :delete]
|
|
96
|
-
|
|
87
|
+
|
|
97
88
|
methods.each do |method|
|
|
98
89
|
got_invalid = self.send(method, '/check_post', :name => "Yorick Peterse")
|
|
99
90
|
got_valid = self.send(method, '/check_post', :csrf_token => $new_token)
|
|
100
91
|
|
|
101
92
|
got_invalid.status.should.equal 401
|
|
102
93
|
got_invalid.body.should.equal "The specified CSRF token is incorrect."
|
|
103
|
-
|
|
94
|
+
|
|
104
95
|
got_valid.status.should.equal 200
|
|
105
96
|
got_valid.body.should.equal "POST allowed."
|
|
106
97
|
end
|
|
107
98
|
end
|
|
108
|
-
|
|
109
99
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ramaze
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2011.
|
|
4
|
+
version: 2011.12.28
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,23 +9,22 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2011-
|
|
13
|
-
default_executable:
|
|
12
|
+
date: 2011-12-28 00:00:00.000000000 Z
|
|
14
13
|
dependencies:
|
|
15
14
|
- !ruby/object:Gem::Dependency
|
|
16
15
|
name: innate
|
|
17
|
-
requirement: &
|
|
16
|
+
requirement: &2152388220 !ruby/object:Gem::Requirement
|
|
18
17
|
none: false
|
|
19
18
|
requirements:
|
|
20
19
|
- - ! '>='
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: '
|
|
21
|
+
version: '2011.12'
|
|
23
22
|
type: :runtime
|
|
24
23
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *2152388220
|
|
26
25
|
- !ruby/object:Gem::Dependency
|
|
27
26
|
name: bacon
|
|
28
|
-
requirement: &
|
|
27
|
+
requirement: &2152387280 !ruby/object:Gem::Requirement
|
|
29
28
|
none: false
|
|
30
29
|
requirements:
|
|
31
30
|
- - ! '>='
|
|
@@ -33,10 +32,10 @@ dependencies:
|
|
|
33
32
|
version: 1.1.0
|
|
34
33
|
type: :development
|
|
35
34
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *2152387280
|
|
37
36
|
- !ruby/object:Gem::Dependency
|
|
38
37
|
name: dalli
|
|
39
|
-
requirement: &
|
|
38
|
+
requirement: &2152386120 !ruby/object:Gem::Requirement
|
|
40
39
|
none: false
|
|
41
40
|
requirements:
|
|
42
41
|
- - ! '>='
|
|
@@ -44,10 +43,10 @@ dependencies:
|
|
|
44
43
|
version: 1.0.5
|
|
45
44
|
type: :development
|
|
46
45
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *2152386120
|
|
48
47
|
- !ruby/object:Gem::Dependency
|
|
49
48
|
name: erector
|
|
50
|
-
requirement: &
|
|
49
|
+
requirement: &2152383400 !ruby/object:Gem::Requirement
|
|
51
50
|
none: false
|
|
52
51
|
requirements:
|
|
53
52
|
- - ! '>='
|
|
@@ -55,10 +54,10 @@ dependencies:
|
|
|
55
54
|
version: 0.8.2
|
|
56
55
|
type: :development
|
|
57
56
|
prerelease: false
|
|
58
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *2152383400
|
|
59
58
|
- !ruby/object:Gem::Dependency
|
|
60
59
|
name: erubis
|
|
61
|
-
requirement: &
|
|
60
|
+
requirement: &2152382860 !ruby/object:Gem::Requirement
|
|
62
61
|
none: false
|
|
63
62
|
requirements:
|
|
64
63
|
- - ! '>='
|
|
@@ -66,10 +65,10 @@ dependencies:
|
|
|
66
65
|
version: 2.7.0
|
|
67
66
|
type: :development
|
|
68
67
|
prerelease: false
|
|
69
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *2152382860
|
|
70
69
|
- !ruby/object:Gem::Dependency
|
|
71
70
|
name: ezamar
|
|
72
|
-
requirement: &
|
|
71
|
+
requirement: &2152382340 !ruby/object:Gem::Requirement
|
|
73
72
|
none: false
|
|
74
73
|
requirements:
|
|
75
74
|
- - ! '>='
|
|
@@ -77,10 +76,10 @@ dependencies:
|
|
|
77
76
|
version: '2009.06'
|
|
78
77
|
type: :development
|
|
79
78
|
prerelease: false
|
|
80
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *2152382340
|
|
81
80
|
- !ruby/object:Gem::Dependency
|
|
82
81
|
name: sass
|
|
83
|
-
requirement: &
|
|
82
|
+
requirement: &2152381600 !ruby/object:Gem::Requirement
|
|
84
83
|
none: false
|
|
85
84
|
requirements:
|
|
86
85
|
- - ! '>='
|
|
@@ -88,10 +87,10 @@ dependencies:
|
|
|
88
87
|
version: 3.1.4
|
|
89
88
|
type: :development
|
|
90
89
|
prerelease: false
|
|
91
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *2152381600
|
|
92
91
|
- !ruby/object:Gem::Dependency
|
|
93
92
|
name: haml
|
|
94
|
-
requirement: &
|
|
93
|
+
requirement: &2152380920 !ruby/object:Gem::Requirement
|
|
95
94
|
none: false
|
|
96
95
|
requirements:
|
|
97
96
|
- - ! '>='
|
|
@@ -99,10 +98,10 @@ dependencies:
|
|
|
99
98
|
version: 3.1.2
|
|
100
99
|
type: :development
|
|
101
100
|
prerelease: false
|
|
102
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *2152380920
|
|
103
102
|
- !ruby/object:Gem::Dependency
|
|
104
103
|
name: hpricot
|
|
105
|
-
requirement: &
|
|
104
|
+
requirement: &2152378680 !ruby/object:Gem::Requirement
|
|
106
105
|
none: false
|
|
107
106
|
requirements:
|
|
108
107
|
- - ! '>='
|
|
@@ -110,10 +109,10 @@ dependencies:
|
|
|
110
109
|
version: 0.8.4
|
|
111
110
|
type: :development
|
|
112
111
|
prerelease: false
|
|
113
|
-
version_requirements: *
|
|
112
|
+
version_requirements: *2152378680
|
|
114
113
|
- !ruby/object:Gem::Dependency
|
|
115
114
|
name: liquid
|
|
116
|
-
requirement: &
|
|
115
|
+
requirement: &2152378180 !ruby/object:Gem::Requirement
|
|
117
116
|
none: false
|
|
118
117
|
requirements:
|
|
119
118
|
- - ! '>='
|
|
@@ -121,10 +120,10 @@ dependencies:
|
|
|
121
120
|
version: 2.2.2
|
|
122
121
|
type: :development
|
|
123
122
|
prerelease: false
|
|
124
|
-
version_requirements: *
|
|
123
|
+
version_requirements: *2152378180
|
|
125
124
|
- !ruby/object:Gem::Dependency
|
|
126
125
|
name: locale
|
|
127
|
-
requirement: &
|
|
126
|
+
requirement: &2152377740 !ruby/object:Gem::Requirement
|
|
128
127
|
none: false
|
|
129
128
|
requirements:
|
|
130
129
|
- - ! '>='
|
|
@@ -132,10 +131,10 @@ dependencies:
|
|
|
132
131
|
version: 2.0.5
|
|
133
132
|
type: :development
|
|
134
133
|
prerelease: false
|
|
135
|
-
version_requirements: *
|
|
134
|
+
version_requirements: *2152377740
|
|
136
135
|
- !ruby/object:Gem::Dependency
|
|
137
136
|
name: maruku
|
|
138
|
-
requirement: &
|
|
137
|
+
requirement: &2152376680 !ruby/object:Gem::Requirement
|
|
139
138
|
none: false
|
|
140
139
|
requirements:
|
|
141
140
|
- - ! '>='
|
|
@@ -143,10 +142,10 @@ dependencies:
|
|
|
143
142
|
version: 0.6.0
|
|
144
143
|
type: :development
|
|
145
144
|
prerelease: false
|
|
146
|
-
version_requirements: *
|
|
145
|
+
version_requirements: *2152376680
|
|
147
146
|
- !ruby/object:Gem::Dependency
|
|
148
147
|
name: mustache
|
|
149
|
-
requirement: &
|
|
148
|
+
requirement: &2152375720 !ruby/object:Gem::Requirement
|
|
150
149
|
none: false
|
|
151
150
|
requirements:
|
|
152
151
|
- - ! '>='
|
|
@@ -154,10 +153,10 @@ dependencies:
|
|
|
154
153
|
version: 0.99.4
|
|
155
154
|
type: :development
|
|
156
155
|
prerelease: false
|
|
157
|
-
version_requirements: *
|
|
156
|
+
version_requirements: *2152375720
|
|
158
157
|
- !ruby/object:Gem::Dependency
|
|
159
158
|
name: rack-contrib
|
|
160
|
-
requirement: &
|
|
159
|
+
requirement: &2152375200 !ruby/object:Gem::Requirement
|
|
161
160
|
none: false
|
|
162
161
|
requirements:
|
|
163
162
|
- - ! '>='
|
|
@@ -165,10 +164,10 @@ dependencies:
|
|
|
165
164
|
version: 1.1.0
|
|
166
165
|
type: :development
|
|
167
166
|
prerelease: false
|
|
168
|
-
version_requirements: *
|
|
167
|
+
version_requirements: *2152375200
|
|
169
168
|
- !ruby/object:Gem::Dependency
|
|
170
169
|
name: rack-test
|
|
171
|
-
requirement: &
|
|
170
|
+
requirement: &2152374240 !ruby/object:Gem::Requirement
|
|
172
171
|
none: false
|
|
173
172
|
requirements:
|
|
174
173
|
- - ! '>='
|
|
@@ -176,10 +175,10 @@ dependencies:
|
|
|
176
175
|
version: 0.6.0
|
|
177
176
|
type: :development
|
|
178
177
|
prerelease: false
|
|
179
|
-
version_requirements: *
|
|
178
|
+
version_requirements: *2152374240
|
|
180
179
|
- !ruby/object:Gem::Dependency
|
|
181
180
|
name: Remarkably
|
|
182
|
-
requirement: &
|
|
181
|
+
requirement: &2152373060 !ruby/object:Gem::Requirement
|
|
183
182
|
none: false
|
|
184
183
|
requirements:
|
|
185
184
|
- - ! '>='
|
|
@@ -187,10 +186,10 @@ dependencies:
|
|
|
187
186
|
version: 0.6.1
|
|
188
187
|
type: :development
|
|
189
188
|
prerelease: false
|
|
190
|
-
version_requirements: *
|
|
189
|
+
version_requirements: *2152373060
|
|
191
190
|
- !ruby/object:Gem::Dependency
|
|
192
191
|
name: sequel
|
|
193
|
-
requirement: &
|
|
192
|
+
requirement: &2152371580 !ruby/object:Gem::Requirement
|
|
194
193
|
none: false
|
|
195
194
|
requirements:
|
|
196
195
|
- - ! '>='
|
|
@@ -198,10 +197,10 @@ dependencies:
|
|
|
198
197
|
version: 3.25.0
|
|
199
198
|
type: :development
|
|
200
199
|
prerelease: false
|
|
201
|
-
version_requirements: *
|
|
200
|
+
version_requirements: *2152371580
|
|
202
201
|
- !ruby/object:Gem::Dependency
|
|
203
202
|
name: slippers
|
|
204
|
-
requirement: &
|
|
203
|
+
requirement: &2152371080 !ruby/object:Gem::Requirement
|
|
205
204
|
none: false
|
|
206
205
|
requirements:
|
|
207
206
|
- - ! '>='
|
|
@@ -209,10 +208,10 @@ dependencies:
|
|
|
209
208
|
version: 0.0.14
|
|
210
209
|
type: :development
|
|
211
210
|
prerelease: false
|
|
212
|
-
version_requirements: *
|
|
211
|
+
version_requirements: *2152371080
|
|
213
212
|
- !ruby/object:Gem::Dependency
|
|
214
213
|
name: sqlite3
|
|
215
|
-
requirement: &
|
|
214
|
+
requirement: &2152370600 !ruby/object:Gem::Requirement
|
|
216
215
|
none: false
|
|
217
216
|
requirements:
|
|
218
217
|
- - ! '>='
|
|
@@ -220,10 +219,10 @@ dependencies:
|
|
|
220
219
|
version: 1.3.3
|
|
221
220
|
type: :development
|
|
222
221
|
prerelease: false
|
|
223
|
-
version_requirements: *
|
|
222
|
+
version_requirements: *2152370600
|
|
224
223
|
- !ruby/object:Gem::Dependency
|
|
225
224
|
name: tagz
|
|
226
|
-
requirement: &
|
|
225
|
+
requirement: &2152370160 !ruby/object:Gem::Requirement
|
|
227
226
|
none: false
|
|
228
227
|
requirements:
|
|
229
228
|
- - ! '>='
|
|
@@ -231,10 +230,10 @@ dependencies:
|
|
|
231
230
|
version: 9.0.0
|
|
232
231
|
type: :development
|
|
233
232
|
prerelease: false
|
|
234
|
-
version_requirements: *
|
|
233
|
+
version_requirements: *2152370160
|
|
235
234
|
- !ruby/object:Gem::Dependency
|
|
236
235
|
name: tenjin
|
|
237
|
-
requirement: &
|
|
236
|
+
requirement: &2152369620 !ruby/object:Gem::Requirement
|
|
238
237
|
none: false
|
|
239
238
|
requirements:
|
|
240
239
|
- - ! '>='
|
|
@@ -242,10 +241,10 @@ dependencies:
|
|
|
242
241
|
version: 0.6.1
|
|
243
242
|
type: :development
|
|
244
243
|
prerelease: false
|
|
245
|
-
version_requirements: *
|
|
244
|
+
version_requirements: *2152369620
|
|
246
245
|
- !ruby/object:Gem::Dependency
|
|
247
246
|
name: yard
|
|
248
|
-
requirement: &
|
|
247
|
+
requirement: &2152369080 !ruby/object:Gem::Requirement
|
|
249
248
|
none: false
|
|
250
249
|
requirements:
|
|
251
250
|
- - ! '>='
|
|
@@ -253,10 +252,10 @@ dependencies:
|
|
|
253
252
|
version: 0.7.2
|
|
254
253
|
type: :development
|
|
255
254
|
prerelease: false
|
|
256
|
-
version_requirements: *
|
|
255
|
+
version_requirements: *2152369080
|
|
257
256
|
- !ruby/object:Gem::Dependency
|
|
258
257
|
name: redis
|
|
259
|
-
requirement: &
|
|
258
|
+
requirement: &2152368480 !ruby/object:Gem::Requirement
|
|
260
259
|
none: false
|
|
261
260
|
requirements:
|
|
262
261
|
- - ! '>='
|
|
@@ -264,10 +263,10 @@ dependencies:
|
|
|
264
263
|
version: 2.2.2
|
|
265
264
|
type: :development
|
|
266
265
|
prerelease: false
|
|
267
|
-
version_requirements: *
|
|
266
|
+
version_requirements: *2152368480
|
|
268
267
|
- !ruby/object:Gem::Dependency
|
|
269
268
|
name: rdiscount
|
|
270
|
-
requirement: &
|
|
269
|
+
requirement: &2152367820 !ruby/object:Gem::Requirement
|
|
271
270
|
none: false
|
|
272
271
|
requirements:
|
|
273
272
|
- - ! '>='
|
|
@@ -275,10 +274,10 @@ dependencies:
|
|
|
275
274
|
version: 1.6.8
|
|
276
275
|
type: :development
|
|
277
276
|
prerelease: false
|
|
278
|
-
version_requirements: *
|
|
277
|
+
version_requirements: *2152367820
|
|
279
278
|
- !ruby/object:Gem::Dependency
|
|
280
279
|
name: lokar
|
|
281
|
-
requirement: &
|
|
280
|
+
requirement: &2152367180 !ruby/object:Gem::Requirement
|
|
282
281
|
none: false
|
|
283
282
|
requirements:
|
|
284
283
|
- - ! '>='
|
|
@@ -286,10 +285,10 @@ dependencies:
|
|
|
286
285
|
version: 0.2.1
|
|
287
286
|
type: :development
|
|
288
287
|
prerelease: false
|
|
289
|
-
version_requirements: *
|
|
288
|
+
version_requirements: *2152367180
|
|
290
289
|
- !ruby/object:Gem::Dependency
|
|
291
290
|
name: ruby-growl
|
|
292
|
-
requirement: &
|
|
291
|
+
requirement: &2152366740 !ruby/object:Gem::Requirement
|
|
293
292
|
none: false
|
|
294
293
|
requirements:
|
|
295
294
|
- - ! '>='
|
|
@@ -297,10 +296,10 @@ dependencies:
|
|
|
297
296
|
version: '3.0'
|
|
298
297
|
type: :development
|
|
299
298
|
prerelease: false
|
|
300
|
-
version_requirements: *
|
|
299
|
+
version_requirements: *2152366740
|
|
301
300
|
- !ruby/object:Gem::Dependency
|
|
302
301
|
name: nagoro
|
|
303
|
-
requirement: &
|
|
302
|
+
requirement: &2152366040 !ruby/object:Gem::Requirement
|
|
304
303
|
none: false
|
|
305
304
|
requirements:
|
|
306
305
|
- - ! '>='
|
|
@@ -308,7 +307,7 @@ dependencies:
|
|
|
308
307
|
version: '2009.05'
|
|
309
308
|
type: :development
|
|
310
309
|
prerelease: false
|
|
311
|
-
version_requirements: *
|
|
310
|
+
version_requirements: *2152366040
|
|
312
311
|
description: Ramaze is a simple and modular web framework
|
|
313
312
|
email: m.fellinger@gmail.com
|
|
314
313
|
executables:
|
|
@@ -798,7 +797,6 @@ files:
|
|
|
798
797
|
- tasks/setup.rake
|
|
799
798
|
- tasks/todo.rake
|
|
800
799
|
- tasks/yard.rake
|
|
801
|
-
has_rdoc: yard
|
|
802
800
|
homepage: http://ramaze.net/
|
|
803
801
|
licenses: []
|
|
804
802
|
post_install_message:
|
|
@@ -819,8 +817,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
819
817
|
version: 1.3.5
|
|
820
818
|
requirements: []
|
|
821
819
|
rubyforge_project:
|
|
822
|
-
rubygems_version: 1.
|
|
820
|
+
rubygems_version: 1.8.10
|
|
823
821
|
signing_key:
|
|
824
822
|
specification_version: 3
|
|
825
823
|
summary: Ramaze is a simple and modular web framework
|
|
826
824
|
test_files: []
|
|
825
|
+
has_rdoc: yard
|