ramaze 2012.12.08b → 2012.12.08

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -104,6 +104,7 @@ table of contents isn't rendered. You can find all these files in the ``guide/``
104
104
  directory.
105
105
 
106
106
  * {file:general/installation Installation}
107
+ * {file:general/upgrading Upgrading}
107
108
  * {file:general/principles Principles}
108
109
  * {file:general/special_thanks Special Thanks}
109
110
  * {file:general/contributing Contributing To Ramaze}
@@ -2,7 +2,7 @@ Following persons have contributed to ramaze.
2
2
  (Sorted by number of submitted patches, then alphabetically)
3
3
 
4
4
  2740 Michael Fellinger <m.fellinger@gmail.com>
5
- 231 Yorick Peterse <yorickpeterse@gmail.com>
5
+ 238 Yorick Peterse <yorickpeterse@gmail.com>
6
6
  216 Aman Gupta <aman@ramaze.net>
7
7
  89 Jonathan Buch <jonathan.buch@gmail.com>
8
8
  77 Pistos <gitsomegrace.5.pistos@geoshell.com>
@@ -1,3 +1,52 @@
1
+ [679c415 | Sat Dec 08 18:16:36 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
2
+
3
+ * Added a note about upgrading.
4
+
5
+ [ci skip]
6
+
7
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
8
+
9
+ [6191bdf | Sat Dec 08 17:35:15 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
10
+
11
+ * Disable syslog tests on jruby.
12
+
13
+ The Syslog tests can not be executed on jruby due to the use of Process.fork.
14
+
15
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
16
+
17
+ [5be0d61 | Sat Dec 08 17:27:21 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
18
+
19
+ * Enable syslog and disable localmemcache for jruby.
20
+
21
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
22
+
23
+ [d8fdd3d | Sat Dec 08 17:16:47 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
24
+
25
+ * Don't install C extensions for jruby.
26
+
27
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
28
+
29
+ [8c271b7 | Sat Dec 08 17:08:22 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
30
+
31
+ * Replaced hpricot with Nokogiri.
32
+
33
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
34
+
35
+ [c35a729 | Sat Dec 08 01:21:43 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
36
+
37
+ * Don't install localmemcache for jruby.
38
+
39
+ Localmemcache is a C extension and these don't work reliably on Jruby. C
40
+ extension support is also disabled on Travis CI.
41
+
42
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
43
+
44
+ [aad4e3e | Fri Dec 07 23:28:01 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
45
+
46
+ * Release 2012.12.08b
47
+
48
+ Signed-off-by: Yorick Peterse <yorickpeterse@gmail.com>
49
+
1
50
  [d94938b | Fri Dec 07 23:27:39 UTC 2012] Yorick Peterse <yorickpeterse@gmail.com>
2
51
 
3
52
  * Switch back to dates for versions.
@@ -0,0 +1,85 @@
1
+ # @title Upgrading
2
+ # Upgrading
3
+
4
+ Ramaze strives to be backwards compatible between each release. However, some
5
+ releases may contain changes that are *not* backwards compatible. This document
6
+ describes the steps required to upgrade between these releases.
7
+
8
+ ## Upgrading to Ramaze 2012.12.08
9
+
10
+ Ramaze 2012.12.08 is **not** backwards compatible with previous releases due
11
+ to changes made in Innate 2012.12.
12
+
13
+ ### Middleware
14
+
15
+ In previous versions one could add Rack middleware using `Ramaze.middleware!`.
16
+ This method has been renamed to `Ramaze.middleware` (without the `!`) and its
17
+ use has been changed. Instead of calling `run Ramaze.middleware` one now has to
18
+ use `run Ramaze.core`.
19
+
20
+ An example of the old way of defining middleware:
21
+
22
+ Ramaze.middleware! :dev do |m|
23
+ m.use Rack::Lint
24
+ m.run Ramaze.middleware
25
+ end
26
+
27
+ The new way of defining middleware:
28
+
29
+ Ramaze.middleware :dev do
30
+ use Rack::Lint
31
+ run Ramaze.core
32
+ end
33
+
34
+ ### Commands
35
+
36
+ Various executable commands such as `ramaze start` and `ramaze console` have
37
+ been removed in favour of the use of Rake tasks. For existing projects that do
38
+ not have these Rake tasks you'll have to import them manually, new projects
39
+ will have these tasks automatically. These tasks are located [here][rake
40
+ tasks].
41
+
42
+ These commands were removed as they contained a lot of old and rotting code
43
+ without any tests. Some of them, such as `ramaze start` weren't very useful
44
+ either as most people will use the commands for their webservers (e.g. Thin)
45
+ instead. The use of Rake tasks also makes it possible for people to customize
46
+ these to their liking.
47
+
48
+ ### Snippets
49
+
50
+ Ramaze ships with various snippets that extend various core Ruby classes. In
51
+ Ramaze 2012.12.08 a lot of these snippets have been removed. A list of all the
52
+ removed snippets can be found [here][removed snippets].
53
+
54
+ ### Loggers
55
+
56
+ The following logging classes are no longer available:
57
+
58
+ * Ramaze::Logger::Growl
59
+ * Ramaze::Logger::Analogger
60
+ * Ramaze::Logger::Knotify
61
+ * Ramaze::Logger::Xosd
62
+
63
+ ### Helpers
64
+
65
+ The following helpers have been removed:
66
+
67
+ * Ramaze::Helper::Disqus
68
+ * Ramaze::Helper::Ultraviolet
69
+
70
+ ### Core classes
71
+
72
+ The following core classes have been removed:
73
+
74
+ * Ramaze::AppGraph
75
+ * Ramaze::Plugin
76
+ * Ramaze::MiddlewareCompiler (alias of Innate::MiddlewareCompiler)
77
+
78
+ ### Prototypes
79
+
80
+ The prototype generated by `ramaze create` has been changed. It contains a set
81
+ of Rake tasks, a README, a Gemfile and some other small changes compared to the
82
+ previous prototype. Existing projects are not affected.
83
+
84
+ [rake tasks]: https://github.com/Ramaze/ramaze/blob/master/lib/proto/task/ramaze.rake
85
+ [removed snippets]: https://github.com/Ramaze/ramaze/commit/7e966dcdec50d490eb828f7673f101b1a6b087b3
@@ -1,3 +1,3 @@
1
1
  module Ramaze
2
- VERSION = '2012.12.08b'
2
+ VERSION = '2012.12.08'
3
3
  end
@@ -27,29 +27,34 @@ Gem::Specification.new do |s|
27
27
  s.add_development_dependency 'erubis'
28
28
  s.add_development_dependency 'ezamar'
29
29
  s.add_development_dependency 'haml'
30
- s.add_development_dependency 'hpricot'
31
30
  s.add_development_dependency 'liquid'
32
31
  s.add_development_dependency 'locale'
33
32
  s.add_development_dependency 'maruku'
34
33
  s.add_development_dependency 'mustache'
35
34
  s.add_development_dependency 'rack-contrib'
36
35
  s.add_development_dependency 'rack-test'
37
- s.add_development_dependency 'rdiscount'
38
36
  s.add_development_dependency 'redis'
39
37
  s.add_development_dependency 'sass'
40
38
  s.add_development_dependency 'sequel'
41
39
  s.add_development_dependency 'slim'
42
40
  s.add_development_dependency 'slippers'
43
- s.add_development_dependency 'sqlite3'
44
41
  s.add_development_dependency 'tagz'
45
42
  s.add_development_dependency 'tenjin'
46
43
  s.add_development_dependency 'yard'
47
- s.add_development_dependency 'localmemcache'
48
44
 
49
45
  if RUBY_VERSION.to_f >= 1.9
50
46
  s.add_development_dependency 'lokar'
51
47
  end
52
48
 
49
+ # C extensions don't work reliably on jruby and Travis CI doesn't have them
50
+ # enabled.
51
+ if !RUBY_DESCRIPTION.include?('jruby')
52
+ s.add_development_dependency 'localmemcache'
53
+ s.add_development_dependency 'nokogiri'
54
+ s.add_development_dependency 'rdiscount'
55
+ s.add_development_dependency 'sqlite3'
56
+ end
57
+
53
58
  # Nagoro doesn't seem to work on Rbx
54
59
  if !RUBY_DESCRIPTION.include?('rubinius')
55
60
  s.add_development_dependency 'nagoro'
@@ -2,6 +2,8 @@
2
2
  # All files in this distribution are subject to the terms of the MIT license.
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ spec_require 'sqlite3'
5
7
  spec_require 'sequel'
6
8
 
7
9
  DB = Sequel.sqlite(':memory:')
@@ -3,7 +3,7 @@
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
5
 
6
- spec_require 'hpricot'
6
+ spec_require 'nokogiri'
7
7
 
8
8
  Ramaze.middleware(:spec) do
9
9
  run Rack::ETag.new(
@@ -38,23 +38,25 @@ describe 'Directory listing' do
38
38
 
39
39
  def check(url, title, list)
40
40
  got = get(url)
41
- got.status.should == 200
41
+
42
+ got.status.should == 200
42
43
  got['Content-Type'].should == 'text/html; charset=utf-8'
43
44
 
44
- doc = Hpricot(got.body)
45
+ doc = Nokogiri::HTML(got.body)
46
+
45
47
  doc.at(:title).inner_text.should == title
46
48
 
47
- (doc/'td.name/a').map{|a| [a[:href], a.inner_text] }.should == list
49
+ doc.css('td.name a').map{|a| [a[:href], a.inner_text] }.should == list
48
50
  end
49
51
 
50
52
  should 'dry serve root directory' do
51
- files = [
52
- ["../", "Parent Directory"],
53
- ["/favicon.ico", "favicon.ico"],
54
- ["/file+name.txt", "file name.txt"],
55
- ["/test/", "test/"],
56
- ["/test_download.css", "test_download.css"]
57
- ]
53
+ files = [
54
+ ["../", "Parent Directory"],
55
+ ["/favicon.ico", "favicon.ico"],
56
+ ["/file+name.txt", "file name.txt"],
57
+ ["/test/", "test/"],
58
+ ["/test_download.css", "test_download.css"]
59
+ ]
58
60
 
59
61
  check '/', '/', files
60
62
  end
@@ -66,6 +68,7 @@ describe 'Directory listing' do
66
68
  ["/test/five.txt", "five.txt"],
67
69
  ["/test/six.txt", "six.txt"]
68
70
  ]
71
+
69
72
  check '/test', '/test', files
70
73
  end
71
74
 
@@ -2,7 +2,8 @@
2
2
  # All files in this distribution are subject to the terms of the MIT license.
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
- spec_require 'hpricot'
5
+
6
+ spec_require 'nokogiri'
6
7
 
7
8
  class SpecHelperPaginateArray < Ramaze::Controller
8
9
  map '/array'
@@ -38,8 +39,9 @@ describe Ramaze::Helper::Paginate do
38
39
  behaves_like :rack_test
39
40
 
40
41
  it 'shows navigation for page 1' do
41
- doc = Hpricot(get("/array/navigation").body)
42
- (doc/:a).map{|a| [a.inner_text, a[:href]] }.
42
+ doc = Nokogiri::HTML(get("/array/navigation").body)
43
+
44
+ doc.css('a').map{|a| [a.inner_text, a[:href]] }.
43
45
  should == [
44
46
  ['1', '/array/navigation?pager=1'],
45
47
  ['2', '/array/navigation?pager=2'],
@@ -49,8 +51,9 @@ describe Ramaze::Helper::Paginate do
49
51
  end
50
52
 
51
53
  it 'shows navigation for page 2' do
52
- doc = Hpricot(get("/array/navigation?pager=2").body)
53
- (doc/:a).map{|a| [a.inner_text, a[:href]] }.
54
+ doc = Nokogiri::HTML(get("/array/navigation?pager=2").body)
55
+
56
+ doc.css('a').map{|a| [a.inner_text, a[:href]] }.
54
57
  should == [
55
58
  ['<<', '/array/navigation?pager=1'],
56
59
  ['<', '/array/navigation?pager=1'],
@@ -62,8 +65,8 @@ describe Ramaze::Helper::Paginate do
62
65
  end
63
66
 
64
67
  it 'shows navigation for page 3' do
65
- doc = Hpricot(get("/array/navigation?pager=3").body)
66
- (doc/:a).map{|a| [a.inner_text, a[:href]] }.
68
+ doc = Nokogiri::HTML(get("/array/navigation?pager=3").body)
69
+ doc.css('a').map{|a| [a.inner_text, a[:href]] }.
67
70
  should == [
68
71
  ['<<', '/array/navigation?pager=1'],
69
72
  ['<', '/array/navigation?pager=2'],
@@ -78,7 +81,7 @@ describe Ramaze::Helper::Paginate do
78
81
  end
79
82
 
80
83
  it 'sets default css elements on page 1' do
81
- doc = Hpricot(get('/array/navigation').body)
84
+ doc = Nokogiri::HTML(get('/array/navigation').body)
82
85
  # Paginator outputs spans for disabled elements
83
86
  # Since we're on the first page, the first two
84
87
  # elements are spans, then a's
@@ -109,7 +112,7 @@ describe Ramaze::Helper::Paginate do
109
112
  end
110
113
 
111
114
  it 'sets default css elements on page 2' do
112
- doc = Hpricot(get('/array/navigation?pager=2').body)
115
+ doc = Nokogiri::HTML(get('/array/navigation?pager=2').body)
113
116
  # Paginator outputs spans for disabled elements
114
117
  # Since we're on the second page, none are disabled
115
118
  # Note that this is only valid for the second page since
@@ -140,7 +143,7 @@ describe Ramaze::Helper::Paginate do
140
143
  end
141
144
 
142
145
  it 'sets default css elements on page 3' do
143
- doc = Hpricot(get('/array/navigation?pager=3').body)
146
+ doc = Nokogiri::HTML(get('/array/navigation?pager=3').body)
144
147
  # Paginator outputs spans for disabled elements
145
148
  # Since we're on the last page, last and next will be disabled
146
149
  # Note that this is only valid for the third page
@@ -173,7 +176,7 @@ describe Ramaze::Helper::Paginate do
173
176
  end
174
177
 
175
178
  it 'sets our custom css elements for page 1' do
176
- doc = Hpricot(get('/array/custom_navigation').body)
179
+ doc = Nokogiri::HTML(get('/array/custom_navigation').body)
177
180
  # Paginator outputs spans for disabled elements
178
181
  # Since we're on the first page, the first two
179
182
  # elements are spans, then a's
@@ -209,7 +212,7 @@ describe Ramaze::Helper::Paginate do
209
212
  end
210
213
 
211
214
  it 'sets our custom css elements on page 2' do
212
- doc = Hpricot(get('/array/custom_navigation?pager=2').body)
215
+ doc = Nokogiri::HTML(get('/array/custom_navigation?pager=2').body)
213
216
  # Paginator outputs spans for disabled elements
214
217
  # Since we're on the second page, none are disabled
215
218
  # Note that this is only valid for the second page since
@@ -240,7 +243,7 @@ describe Ramaze::Helper::Paginate do
240
243
  end
241
244
 
242
245
  it 'sets our custom css elements on page 3' do
243
- doc = Hpricot(get('/array/custom_navigation?pager=3').body)
246
+ doc = Nokogiri::HTML(get('/array/custom_navigation?pager=3').body)
244
247
  # Paginator outputs spans for disabled elements
245
248
  # Since we're on the last page, last and next will be disabled
246
249
  # Note that this is only valid for the third page
@@ -4,9 +4,9 @@
4
4
 
5
5
  require File.expand_path('../../../../spec/helper', __FILE__)
6
6
 
7
- spec_precondition 'Syslog should be supported' do
7
+ spec_precondition 'Process.fork should be supported' do
8
8
  if RUBY_DESCRIPTION.include?('jruby')
9
- should.flunk 'Forking/Syslog is not supported'
9
+ should.flunk 'These tests use Process.fork which does not work on jruby'
10
10
  end
11
11
  end
12
12
 
@@ -14,70 +14,73 @@ require 'ramaze/log/syslog'
14
14
 
15
15
  describe 'Syslog' do
16
16
 
17
- # close the syslog, if it was open for some reason before we
18
- # start a test.
19
- before do
20
- if ( Syslog.opened? )
21
- ::Syslog.close
22
- end
23
- end
17
+ # close the syslog, if it was open for some reason before we
18
+ # start a test.
19
+ before do
20
+ Syslog.close if Syslog.opened?
21
+ end
22
+
23
+ it 'should default initialize correctly' do
24
+ syslog = Ramaze::Logger::Syslog.new
25
+ ::Syslog.opened?.should == true
26
+ ::Syslog.ident.should == $0
27
+ ::Syslog.options.should == ( ::Syslog::LOG_PID | ::Syslog::LOG_CONS )
28
+ ::Syslog.facility.should == ::Syslog::LOG_USER
29
+ end
30
+
31
+ it 'should handle non default initialization' do
32
+ syslog = Ramaze::Logger::Syslog.new( 'ramaze_syslog_test',
33
+ ::Syslog::LOG_NDELAY | ::Syslog::LOG_NOWAIT,
34
+ ::Syslog::LOG_DAEMON )
35
+ ::Syslog.opened?.should == true
36
+ ::Syslog.ident.should == 'ramaze_syslog_test'
37
+ ::Syslog.options.should == ( ::Syslog::LOG_NDELAY | ::Syslog::LOG_NOWAIT )
38
+ ::Syslog.facility.should == ::Syslog::LOG_DAEMON
39
+ end
24
40
 
25
- it 'should default initialize correctly' do
26
- syslog = Ramaze::Logger::Syslog.new
27
- ::Syslog.opened?.should == true
28
- ::Syslog.ident.should == $0
29
- ::Syslog.options.should == ( ::Syslog::LOG_PID | ::Syslog::LOG_CONS )
30
- ::Syslog.facility.should == ::Syslog::LOG_USER
31
- end
41
+ # We test the actual logging using a trick found in te test code of the
42
+ # syslog module. We create a pipe, fork a child, reroute the childs
43
+ # stderr to the pipe. Then we open the logging using LOG_PERROR, so all
44
+ # log messages are written to stderror. In the parent we read the messages
45
+ # from the pipe and compare them to what we expected.
46
+ def test_log_msg( type, priority, msg )
47
+ logpipe = IO::pipe
48
+ child = fork {
49
+ logpipe[0].close
50
+ STDERR.reopen(logpipe[1])
51
+ syslog = Ramaze::Logger::Syslog.new( 'ramaze_syslog_test',
52
+ ::Syslog::LOG_PID | ::Syslog::LOG_NDELAY | ::Syslog::LOG_PERROR,
53
+ ::Syslog::LOG_USER )
54
+ syslog.send priority, msg
55
+ Process.exit!( 0 )
56
+ }
57
+ logpipe[1].close
58
+ Process.waitpid(child)
32
59
 
33
- it 'should handle non default initialization' do
34
- syslog = Ramaze::Logger::Syslog.new( 'ramaze_syslog_test',
35
- ::Syslog::LOG_NDELAY | ::Syslog::LOG_NOWAIT,
36
- ::Syslog::LOG_DAEMON )
37
- ::Syslog.opened?.should == true
38
- ::Syslog.ident.should == 'ramaze_syslog_test'
39
- ::Syslog.options.should == ( ::Syslog::LOG_NDELAY | ::Syslog::LOG_NOWAIT )
40
- ::Syslog.facility.should == ::Syslog::LOG_DAEMON
41
- end
60
+ logpipe[0].gets.should == "ramaze_syslog_test[#{child}]: #{msg}\n"
61
+ end
42
62
 
43
- # We test the actual logging using a trick found in te test code of the
44
- # syslog module. We create a pipe, fork a child, reroute the childs
45
- # stderr to the pipe. Then we open the logging using LOG_PERROR, so all
46
- # log messages are written to stderror. In the parent we read the messages
47
- # from the pipe and compare them to what we expected.
48
- def test_log_msg( type, priority, msg )
49
- logpipe = IO::pipe
50
- child = fork {
51
- logpipe[0].close
52
- STDERR.reopen(logpipe[1])
53
- syslog = Ramaze::Logger::Syslog.new( 'ramaze_syslog_test',
54
- ::Syslog::LOG_PID | ::Syslog::LOG_NDELAY | ::Syslog::LOG_PERROR,
55
- ::Syslog::LOG_USER )
56
- syslog.send priority, msg
57
- Process.exit!( 0 )
58
- }
59
- logpipe[1].close
60
- Process.waitpid(child)
63
+ it 'should handle debug' do
64
+ test_log_msg :direct, :debug, "Hello Debug World"
65
+ end
61
66
 
62
- logpipe[0].gets.should == "ramaze_syslog_test[#{child}]: #{msg}\n"
63
- end
67
+ it 'should handle dev' do
68
+ test_log_msg :direct, :dev, "Hello Dev World"
69
+ end
64
70
 
65
- it 'should handle debug' do
66
- test_log_msg :direct, :debug, "Hello Debug World"
67
- end
68
- it 'should handle dev' do
69
- test_log_msg :direct, :dev, "Hello Dev World"
70
- end
71
- it 'should handle info' do
72
- test_log_msg :direct, :info, 'Hello Info World!'
73
- end
74
- it 'should handle warn' do
75
- test_log_msg :direct, :warn, 'Hello Warn World!'
76
- end
77
- it 'should handle error' do
78
- test_log_msg :direct, :error, 'Hello Error World!'
79
- end
80
- it 'should escape % sequences' do
81
- test_log_msg :direct, :info, "Hello Cruel |évil| 戈 REAL %s World"
82
- end
71
+ it 'should handle info' do
72
+ test_log_msg :direct, :info, 'Hello Info World!'
73
+ end
74
+
75
+ it 'should handle warn' do
76
+ test_log_msg :direct, :warn, 'Hello Warn World!'
77
+ end
78
+
79
+ it 'should handle error' do
80
+ test_log_msg :direct, :error, 'Hello Error World!'
81
+ end
82
+
83
+ it 'should escape % sequences' do
84
+ test_log_msg :direct, :info, "Hello Cruel |évil| 戈 REAL %s World"
85
+ end
83
86
  end
@@ -1,4 +1,6 @@
1
1
  require File.expand_path('../../../../spec/helper', __FILE__)
2
+
3
+ spec_require 'localmemcache'
2
4
  spec_require 'sequel'
3
5
 
4
6
  class SpecSession < Ramaze::Controller
@@ -1,4 +1,6 @@
1
1
  require File.expand_path('../../../../spec/helper', __FILE__)
2
+
3
+ spec_require 'sqlite3'
2
4
  spec_require 'sequel'
3
5
 
4
6
  class SpecSession < Ramaze::Controller
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ramaze
3
3
  version: !ruby/object:Gem::Version
4
- version: 2012.12.08b
5
- prerelease: 10
4
+ version: 2012.12.08
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Michael 'manveru' Fellinger
@@ -157,7 +157,7 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
159
  - !ruby/object:Gem::Dependency
160
- name: hpricot
160
+ name: liquid
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  none: false
163
163
  requirements:
@@ -173,7 +173,7 @@ dependencies:
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
175
  - !ruby/object:Gem::Dependency
176
- name: liquid
176
+ name: locale
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  none: false
179
179
  requirements:
@@ -189,7 +189,7 @@ dependencies:
189
189
  - !ruby/object:Gem::Version
190
190
  version: '0'
191
191
  - !ruby/object:Gem::Dependency
192
- name: locale
192
+ name: maruku
193
193
  requirement: !ruby/object:Gem::Requirement
194
194
  none: false
195
195
  requirements:
@@ -205,7 +205,7 @@ dependencies:
205
205
  - !ruby/object:Gem::Version
206
206
  version: '0'
207
207
  - !ruby/object:Gem::Dependency
208
- name: maruku
208
+ name: mustache
209
209
  requirement: !ruby/object:Gem::Requirement
210
210
  none: false
211
211
  requirements:
@@ -221,7 +221,7 @@ dependencies:
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
- name: mustache
224
+ name: rack-contrib
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  none: false
227
227
  requirements:
@@ -237,7 +237,7 @@ dependencies:
237
237
  - !ruby/object:Gem::Version
238
238
  version: '0'
239
239
  - !ruby/object:Gem::Dependency
240
- name: rack-contrib
240
+ name: rack-test
241
241
  requirement: !ruby/object:Gem::Requirement
242
242
  none: false
243
243
  requirements:
@@ -253,7 +253,7 @@ dependencies:
253
253
  - !ruby/object:Gem::Version
254
254
  version: '0'
255
255
  - !ruby/object:Gem::Dependency
256
- name: rack-test
256
+ name: redis
257
257
  requirement: !ruby/object:Gem::Requirement
258
258
  none: false
259
259
  requirements:
@@ -269,7 +269,7 @@ dependencies:
269
269
  - !ruby/object:Gem::Version
270
270
  version: '0'
271
271
  - !ruby/object:Gem::Dependency
272
- name: rdiscount
272
+ name: sass
273
273
  requirement: !ruby/object:Gem::Requirement
274
274
  none: false
275
275
  requirements:
@@ -285,7 +285,7 @@ dependencies:
285
285
  - !ruby/object:Gem::Version
286
286
  version: '0'
287
287
  - !ruby/object:Gem::Dependency
288
- name: redis
288
+ name: sequel
289
289
  requirement: !ruby/object:Gem::Requirement
290
290
  none: false
291
291
  requirements:
@@ -301,7 +301,7 @@ dependencies:
301
301
  - !ruby/object:Gem::Version
302
302
  version: '0'
303
303
  - !ruby/object:Gem::Dependency
304
- name: sass
304
+ name: slim
305
305
  requirement: !ruby/object:Gem::Requirement
306
306
  none: false
307
307
  requirements:
@@ -317,7 +317,7 @@ dependencies:
317
317
  - !ruby/object:Gem::Version
318
318
  version: '0'
319
319
  - !ruby/object:Gem::Dependency
320
- name: sequel
320
+ name: slippers
321
321
  requirement: !ruby/object:Gem::Requirement
322
322
  none: false
323
323
  requirements:
@@ -333,7 +333,7 @@ dependencies:
333
333
  - !ruby/object:Gem::Version
334
334
  version: '0'
335
335
  - !ruby/object:Gem::Dependency
336
- name: slim
336
+ name: tagz
337
337
  requirement: !ruby/object:Gem::Requirement
338
338
  none: false
339
339
  requirements:
@@ -349,7 +349,7 @@ dependencies:
349
349
  - !ruby/object:Gem::Version
350
350
  version: '0'
351
351
  - !ruby/object:Gem::Dependency
352
- name: slippers
352
+ name: tenjin
353
353
  requirement: !ruby/object:Gem::Requirement
354
354
  none: false
355
355
  requirements:
@@ -365,7 +365,7 @@ dependencies:
365
365
  - !ruby/object:Gem::Version
366
366
  version: '0'
367
367
  - !ruby/object:Gem::Dependency
368
- name: sqlite3
368
+ name: yard
369
369
  requirement: !ruby/object:Gem::Requirement
370
370
  none: false
371
371
  requirements:
@@ -381,7 +381,7 @@ dependencies:
381
381
  - !ruby/object:Gem::Version
382
382
  version: '0'
383
383
  - !ruby/object:Gem::Dependency
384
- name: tagz
384
+ name: lokar
385
385
  requirement: !ruby/object:Gem::Requirement
386
386
  none: false
387
387
  requirements:
@@ -397,7 +397,7 @@ dependencies:
397
397
  - !ruby/object:Gem::Version
398
398
  version: '0'
399
399
  - !ruby/object:Gem::Dependency
400
- name: tenjin
400
+ name: localmemcache
401
401
  requirement: !ruby/object:Gem::Requirement
402
402
  none: false
403
403
  requirements:
@@ -413,7 +413,7 @@ dependencies:
413
413
  - !ruby/object:Gem::Version
414
414
  version: '0'
415
415
  - !ruby/object:Gem::Dependency
416
- name: yard
416
+ name: nokogiri
417
417
  requirement: !ruby/object:Gem::Requirement
418
418
  none: false
419
419
  requirements:
@@ -429,7 +429,7 @@ dependencies:
429
429
  - !ruby/object:Gem::Version
430
430
  version: '0'
431
431
  - !ruby/object:Gem::Dependency
432
- name: localmemcache
432
+ name: rdiscount
433
433
  requirement: !ruby/object:Gem::Requirement
434
434
  none: false
435
435
  requirements:
@@ -445,7 +445,7 @@ dependencies:
445
445
  - !ruby/object:Gem::Version
446
446
  version: '0'
447
447
  - !ruby/object:Gem::Dependency
448
- name: lokar
448
+ name: sqlite3
449
449
  requirement: !ruby/object:Gem::Requirement
450
450
  none: false
451
451
  requirements:
@@ -647,6 +647,7 @@ files:
647
647
  - guide/general/sessions.md
648
648
  - guide/general/special_thanks.md
649
649
  - guide/general/testing.md
650
+ - guide/general/upgrading.md
650
651
  - guide/general/views.md
651
652
  - lib/proto/Gemfile
652
653
  - lib/proto/README.md