ramaze 2011.10.23 → 2011.12.28

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1 +1,2 @@
1
- rvm use --create 1.9.2@ramaze
1
+ rvm --install --create use 1.9.3@ramaze
2
+ [[ -s .gems ]] && rvm gemset import .gems
@@ -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
- 2726 Michael Fellinger <m.fellinger@gmail.com>
4
+ 2730 Michael Fellinger <m.fellinger@gmail.com>
5
5
  216 Aman Gupta <aman@ramaze.net>
6
- 140 Yorick Peterse <yorickpeterse@gmail.com>
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>
@@ -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.
@@ -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 integrate flash with your application views include {Ramaze::Helper::Flash}
109
- in your controller and call function ``flashbox`` inside the view.
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 generated HTML, use the following trait
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 two lines of code:
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
@@ -84,8 +84,8 @@ module Ramaze
84
84
 
85
85
  controller.setup_procedure
86
86
  else
87
- CONTROLLER_LIST.each do |controller|
88
- controller.setup_procedure
87
+ CONTROLLER_LIST.each do |list_controller|
88
+ list_controller.setup_procedure
89
89
  end
90
90
  end
91
91
  end
@@ -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 => ['>= 2010.03']}
16
+ {:name => 'innate', :version => ['>= 2011.12']}
17
17
  ]
18
18
 
19
19
  # Array containing all the development dependencies.
@@ -52,7 +52,7 @@ module Ramaze
52
52
  # @since 14-03-2009
53
53
  #
54
54
  def sync
55
- file_apps = @roots.map{|root| Rack::File.new(root) }
55
+ file_apps = @roots.map{|root| RackFileWrapper.new(root) }
56
56
  @cascade = Rack::Cascade.new(file_apps)
57
57
  end
58
58
  end # Files
@@ -136,9 +136,9 @@ module Ramaze
136
136
  session[:_csrf] = {
137
137
  :time => time.to_i,
138
138
  :token => token,
139
- :ip => request.env['REMOTE_ADDR'],
139
+ :ip => request.ip,
140
140
  :agent => request.env['HTTP_USER_AGENT'],
141
- :host => request.env['REMOTE_HOST'],
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] == request.env['REMOTE_HOST'] &&
201
- _csrf[:ip] == request.env['REMOTE_ADDR'] &&
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
@@ -15,7 +15,7 @@ module Ramaze
15
15
  def static(path)
16
16
  require 'rack/contrib'
17
17
  Rack::ETag.new(
18
- Rack::ConditionalGet.new(Rack::File.new(path)), 'public'
18
+ Rack::ConditionalGet.new(RackFileWrapper.new(path)), 'public'
19
19
  )
20
20
  end
21
21
 
@@ -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 *args
8
- Thread.new(Thread.current, *args) do |thread, *args|
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(*args)
13
+ yield(*thread_args)
14
14
  end
15
15
  end
16
16
  end # Thread
@@ -1,3 +1,3 @@
1
1
  module Ramaze
2
- VERSION = "2011.10.23"
2
+ VERSION = "2011.12.28"
3
3
  end
@@ -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-23'
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 name.txt", "file name.txt"],
53
+ ["/file+name.txt", "file name.txt"],
54
54
  ["/test/", "test/"],
55
55
  ["/test_download.css", "test_download.css"]
56
56
  ]
@@ -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 'Retrieve the current CSRF token' do
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 'Check if the token successfully expires after 3 seconds' do
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.10.23
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-10-23 00:00:00.000000000 +02:00
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: &2153832700 !ruby/object:Gem::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: '2010.03'
21
+ version: '2011.12'
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2153832700
24
+ version_requirements: *2152388220
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: bacon
28
- requirement: &2153832240 !ruby/object:Gem::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: *2153832240
35
+ version_requirements: *2152387280
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: dalli
39
- requirement: &2153831820 !ruby/object:Gem::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: *2153831820
46
+ version_requirements: *2152386120
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: erector
50
- requirement: &2153831400 !ruby/object:Gem::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: *2153831400
57
+ version_requirements: *2152383400
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: erubis
61
- requirement: &2153830980 !ruby/object:Gem::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: *2153830980
68
+ version_requirements: *2152382860
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: ezamar
72
- requirement: &2153830560 !ruby/object:Gem::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: *2153830560
79
+ version_requirements: *2152382340
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: sass
83
- requirement: &2153830140 !ruby/object:Gem::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: *2153830140
90
+ version_requirements: *2152381600
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: haml
94
- requirement: &2153829720 !ruby/object:Gem::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: *2153829720
101
+ version_requirements: *2152380920
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: hpricot
105
- requirement: &2153845680 !ruby/object:Gem::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: *2153845680
112
+ version_requirements: *2152378680
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: liquid
116
- requirement: &2153845260 !ruby/object:Gem::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: *2153845260
123
+ version_requirements: *2152378180
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: locale
127
- requirement: &2153844840 !ruby/object:Gem::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: *2153844840
134
+ version_requirements: *2152377740
136
135
  - !ruby/object:Gem::Dependency
137
136
  name: maruku
138
- requirement: &2153844420 !ruby/object:Gem::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: *2153844420
145
+ version_requirements: *2152376680
147
146
  - !ruby/object:Gem::Dependency
148
147
  name: mustache
149
- requirement: &2153844000 !ruby/object:Gem::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: *2153844000
156
+ version_requirements: *2152375720
158
157
  - !ruby/object:Gem::Dependency
159
158
  name: rack-contrib
160
- requirement: &2153843580 !ruby/object:Gem::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: *2153843580
167
+ version_requirements: *2152375200
169
168
  - !ruby/object:Gem::Dependency
170
169
  name: rack-test
171
- requirement: &2153843160 !ruby/object:Gem::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: *2153843160
178
+ version_requirements: *2152374240
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: Remarkably
182
- requirement: &2153842740 !ruby/object:Gem::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: *2153842740
189
+ version_requirements: *2152373060
191
190
  - !ruby/object:Gem::Dependency
192
191
  name: sequel
193
- requirement: &2153842320 !ruby/object:Gem::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: *2153842320
200
+ version_requirements: *2152371580
202
201
  - !ruby/object:Gem::Dependency
203
202
  name: slippers
204
- requirement: &2153841900 !ruby/object:Gem::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: *2153841900
211
+ version_requirements: *2152371080
213
212
  - !ruby/object:Gem::Dependency
214
213
  name: sqlite3
215
- requirement: &2153841480 !ruby/object:Gem::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: *2153841480
222
+ version_requirements: *2152370600
224
223
  - !ruby/object:Gem::Dependency
225
224
  name: tagz
226
- requirement: &2153841060 !ruby/object:Gem::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: *2153841060
233
+ version_requirements: *2152370160
235
234
  - !ruby/object:Gem::Dependency
236
235
  name: tenjin
237
- requirement: &2153840640 !ruby/object:Gem::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: *2153840640
244
+ version_requirements: *2152369620
246
245
  - !ruby/object:Gem::Dependency
247
246
  name: yard
248
- requirement: &2153840220 !ruby/object:Gem::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: *2153840220
255
+ version_requirements: *2152369080
257
256
  - !ruby/object:Gem::Dependency
258
257
  name: redis
259
- requirement: &2153839800 !ruby/object:Gem::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: *2153839800
266
+ version_requirements: *2152368480
268
267
  - !ruby/object:Gem::Dependency
269
268
  name: rdiscount
270
- requirement: &2153839380 !ruby/object:Gem::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: *2153839380
277
+ version_requirements: *2152367820
279
278
  - !ruby/object:Gem::Dependency
280
279
  name: lokar
281
- requirement: &2153838960 !ruby/object:Gem::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: *2153838960
288
+ version_requirements: *2152367180
290
289
  - !ruby/object:Gem::Dependency
291
290
  name: ruby-growl
292
- requirement: &2153838540 !ruby/object:Gem::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: *2153838540
299
+ version_requirements: *2152366740
301
300
  - !ruby/object:Gem::Dependency
302
301
  name: nagoro
303
- requirement: &2153838120 !ruby/object:Gem::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: *2153838120
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.6.2
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