ramaze 2011.07.25 → 2011.10.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. data/.gitignore +3 -0
  2. data/.mailmap +3 -2
  3. data/.travis.yml +17 -0
  4. data/.yardopts +13 -0
  5. data/README.md +95 -352
  6. data/examples/app/blog/app.rb +25 -64
  7. data/examples/app/blog/config.ru +11 -9
  8. data/examples/app/blog/controller/init.rb +29 -86
  9. data/examples/app/blog/controller/posts.rb +232 -0
  10. data/examples/app/blog/controller/users.rb +160 -0
  11. data/examples/app/blog/layout/default.xhtml +61 -0
  12. data/examples/app/blog/migrations/01_create_schema.rb +50 -0
  13. data/examples/app/blog/model/comment.rb +41 -54
  14. data/examples/app/blog/model/init.rb +41 -13
  15. data/examples/app/blog/model/post.rb +35 -0
  16. data/examples/app/blog/model/user.rb +105 -0
  17. data/examples/app/blog/public/.htaccess +24 -0
  18. data/examples/app/blog/public/css/grid.css +107 -0
  19. data/examples/app/blog/public/css/layout.css +203 -0
  20. data/examples/app/blog/public/css/reset.css +123 -0
  21. data/examples/app/blog/public/css/text.css +109 -0
  22. data/examples/app/blog/public/dispatch.fcgi +11 -0
  23. data/examples/app/blog/public/favicon.ico +0 -0
  24. data/examples/app/blog/public/images/bg.png +0 -0
  25. data/examples/app/blog/start.rb +18 -3
  26. data/examples/app/blog/view/feed.xhtml +23 -0
  27. data/examples/app/blog/view/form.xhtml +11 -0
  28. data/examples/app/blog/view/index.xhtml +44 -0
  29. data/examples/app/blog/view/users/form.xhtml +12 -0
  30. data/examples/app/blog/view/users/index.xhtml +30 -0
  31. data/examples/app/blog/view/users/login.xhtml +8 -0
  32. data/examples/app/blog/view/view.xhtml +68 -0
  33. data/{doc → guide}/AUTHORS +5 -3
  34. data/{doc → guide}/CHANGELOG +428 -0
  35. data/{doc/GPL → guide/GPL_LICENSE} +0 -0
  36. data/{doc/COPYING → guide/RUBY_LICENSE} +3 -6
  37. data/guide/_static/logo.png +0 -0
  38. data/guide/_static/logo.svg +49 -0
  39. data/guide/_static/ramaze_console.png +0 -0
  40. data/guide/css/common.css +20 -0
  41. data/guide/general/cache.md +167 -0
  42. data/guide/general/configuration.md +168 -0
  43. data/guide/general/contributing.md +108 -0
  44. data/guide/general/controllers.md +115 -0
  45. data/guide/general/helpers.md +76 -0
  46. data/guide/general/installation.md +58 -0
  47. data/guide/general/logging.md +99 -0
  48. data/guide/general/middlewares.md +100 -0
  49. data/guide/general/models.md +78 -0
  50. data/guide/general/principles.md +53 -0
  51. data/guide/general/ramaze_command.md +155 -0
  52. data/guide/general/routes.md +81 -0
  53. data/guide/general/sessions.md +140 -0
  54. data/guide/general/special_thanks.md +67 -0
  55. data/guide/general/testing.md +61 -0
  56. data/guide/general/views.md +322 -0
  57. data/guide/tutorials/introduction.md +259 -0
  58. data/lib/proto/config.ru +1 -1
  59. data/lib/proto/public/favicon.ico +0 -0
  60. data/lib/proto/view/index.xhtml +7 -7
  61. data/lib/ramaze.rb +4 -4
  62. data/lib/ramaze/app.rb +11 -11
  63. data/lib/ramaze/app_graph.rb +2 -4
  64. data/lib/ramaze/bin/console.rb +3 -3
  65. data/lib/ramaze/bin/create.rb +2 -2
  66. data/lib/ramaze/bin/restart.rb +4 -4
  67. data/lib/ramaze/bin/runner.rb +5 -5
  68. data/lib/ramaze/bin/start.rb +19 -4
  69. data/lib/ramaze/bin/status.rb +3 -3
  70. data/lib/ramaze/bin/stop.rb +3 -3
  71. data/lib/ramaze/cache.rb +1 -0
  72. data/lib/ramaze/cache/lru.rb +8 -4
  73. data/lib/ramaze/cache/memcache.rb +32 -13
  74. data/lib/ramaze/cache/redis.rb +164 -0
  75. data/lib/ramaze/cache/sequel.rb +43 -28
  76. data/lib/ramaze/controller.rb +1 -2
  77. data/lib/ramaze/dependencies.rb +40 -3
  78. data/lib/ramaze/helper/bench.rb +26 -16
  79. data/lib/ramaze/helper/blue_form.rb +46 -73
  80. data/lib/ramaze/helper/cache.rb +10 -6
  81. data/lib/ramaze/helper/csrf.rb +35 -39
  82. data/lib/ramaze/helper/disqus.rb +5 -4
  83. data/lib/ramaze/helper/email.rb +35 -24
  84. data/lib/ramaze/helper/erector.rb +9 -13
  85. data/lib/ramaze/helper/flash.rb +7 -9
  86. data/lib/ramaze/helper/formatting.rb +194 -179
  87. data/lib/ramaze/helper/gravatar.rb +4 -8
  88. data/lib/ramaze/helper/identity.rb +3 -3
  89. data/lib/ramaze/helper/layout.rb +23 -8
  90. data/lib/ramaze/helper/markaby.rb +1 -1
  91. data/lib/ramaze/helper/paginate.rb +46 -39
  92. data/lib/ramaze/helper/request_accessor.rb +3 -1
  93. data/lib/ramaze/helper/simple_captcha.rb +18 -17
  94. data/lib/ramaze/helper/stack.rb +1 -1
  95. data/lib/ramaze/helper/tagz.rb +4 -2
  96. data/lib/ramaze/helper/upload.rb +523 -0
  97. data/lib/ramaze/helper/user.rb +4 -8
  98. data/lib/ramaze/helper/xhtml.rb +11 -15
  99. data/lib/ramaze/log.rb +9 -6
  100. data/lib/ramaze/log/rotatinginformer.rb +62 -27
  101. data/lib/ramaze/log/syslog.rb +20 -15
  102. data/lib/ramaze/log/xosd.rb +2 -1
  103. data/lib/ramaze/reloader.rb +2 -0
  104. data/lib/ramaze/request.rb +11 -10
  105. data/lib/ramaze/setup.rb +23 -6
  106. data/lib/ramaze/snippets/array/put_within.rb +3 -9
  107. data/lib/ramaze/snippets/binding/locals.rb +5 -10
  108. data/lib/ramaze/snippets/fiber.rb +1 -23
  109. data/lib/ramaze/snippets/kernel/pretty_inspect.rb +3 -6
  110. data/lib/ramaze/snippets/numeric/filesize_format.rb +3 -5
  111. data/lib/ramaze/snippets/numeric/time.rb +3 -7
  112. data/lib/ramaze/snippets/object/__dir__.rb +3 -7
  113. data/lib/ramaze/snippets/object/instance_variable_defined.rb +3 -6
  114. data/lib/ramaze/snippets/object/pretty.rb +3 -7
  115. data/lib/ramaze/snippets/object/scope.rb +7 -9
  116. data/lib/ramaze/snippets/proc/locals.rb +12 -12
  117. data/lib/ramaze/snippets/ramaze/acquire.rb +15 -14
  118. data/lib/ramaze/snippets/ramaze/deprecated.rb +1 -1
  119. data/lib/ramaze/snippets/ramaze/fiber.rb +1 -1
  120. data/lib/ramaze/snippets/ramaze/lru_hash.rb +2 -3
  121. data/lib/ramaze/snippets/ramaze/struct.rb +2 -4
  122. data/lib/ramaze/snippets/string/camel_case.rb +8 -10
  123. data/lib/ramaze/snippets/string/color.rb +3 -4
  124. data/lib/ramaze/snippets/string/end_with.rb +3 -6
  125. data/lib/ramaze/snippets/string/esc.rb +3 -8
  126. data/lib/ramaze/snippets/string/ord.rb +3 -8
  127. data/lib/ramaze/snippets/string/snake_case.rb +6 -9
  128. data/lib/ramaze/snippets/string/start_with.rb +3 -8
  129. data/lib/ramaze/snippets/string/unindent.rb +3 -6
  130. data/lib/ramaze/snippets/thread/into.rb +1 -3
  131. data/lib/ramaze/spec.rb +2 -31
  132. data/lib/ramaze/spec/bacon.rb +18 -2
  133. data/lib/ramaze/version.rb +1 -1
  134. data/lib/ramaze/view.rb +1 -1
  135. data/ramaze.gemspec +1 -1
  136. data/spec/helper.rb +2 -1
  137. data/spec/ramaze/bin/start.rb +16 -20
  138. data/spec/ramaze/cache/localmemcache.rb +4 -7
  139. data/spec/ramaze/cache/memcache.rb +3 -1
  140. data/spec/ramaze/cache/redis.rb +62 -0
  141. data/spec/ramaze/helper/blue_form.rb +33 -4
  142. data/spec/ramaze/helper/layout.rb +40 -7
  143. data/spec/ramaze/helper/upload.rb +149 -0
  144. data/spec/ramaze/helper/uploads/text_1.txt +1 -0
  145. data/spec/ramaze/helper/uploads/text_2.txt +1 -0
  146. data/spec/ramaze/log/growl.rb +4 -6
  147. data/spec/ramaze/log/syslog.rb +6 -0
  148. data/spec/ramaze/view/lokar.rb +5 -0
  149. data/spec/ramaze/view/nagoro.rb +5 -0
  150. data/tasks/authors.rake +1 -1
  151. data/tasks/bacon.rake +14 -5
  152. data/tasks/changelog.rake +1 -1
  153. data/tasks/yard.rake +12 -4
  154. metadata +277 -239
  155. data/doc/LEGAL +0 -26
  156. data/examples/app/blog/README +0 -3
  157. data/examples/app/blog/controller/comment.rb +0 -45
  158. data/examples/app/blog/controller/entry.rb +0 -85
  159. data/examples/app/blog/controller/main.rb +0 -20
  160. data/examples/app/blog/controller/tag.rb +0 -9
  161. data/examples/app/blog/layout/default.nag +0 -31
  162. data/examples/app/blog/model/entry.rb +0 -89
  163. data/examples/app/blog/model/tag.rb +0 -36
  164. data/examples/app/blog/public/css/screen.css +0 -273
  165. data/examples/app/blog/spec/blog.rb +0 -87
  166. data/examples/app/blog/view/comment/form.nag +0 -10
  167. data/examples/app/blog/view/comment/show.nag +0 -16
  168. data/examples/app/blog/view/entry/edit.nag +0 -14
  169. data/examples/app/blog/view/entry/feed.atom.nag +0 -8
  170. data/examples/app/blog/view/entry/feed.rss.nag +0 -7
  171. data/examples/app/blog/view/entry/index.nag +0 -7
  172. data/examples/app/blog/view/entry/new.nag +0 -13
  173. data/examples/app/blog/view/entry/show.nag +0 -36
  174. data/examples/app/blog/view/feed.atom.nag +0 -18
  175. data/examples/app/blog/view/feed.rss.nag +0 -25
  176. data/examples/app/blog/view/index.nag +0 -6
  177. data/examples/app/blog/view/tag/index.nag +0 -5
  178. data/lib/proto/public/ramaze.png +0 -0
  179. data/lib/ramaze/rest.rb +0 -36
  180. data/spec/ramaze/rest.rb +0 -28
  181. data/tasks/rcov.rake +0 -22
@@ -5,6 +5,7 @@ require File.expand_path('../../../../spec/helper', __FILE__)
5
5
 
6
6
  class LayoutHelperOne < Ramaze::Controller
7
7
  map '/one'
8
+
8
9
  set_layout 'default'
9
10
 
10
11
  def laid_out1; end
@@ -14,16 +15,18 @@ end
14
15
 
15
16
  class LayoutHelperTwo < Ramaze::Controller
16
17
  map '/two'
17
- set_layout 'default' => [:laid_out1, :laid_out2]
18
+
19
+ layout 'default'
20
+ set_layout 'alternative' => [:laid_out2, :laid_out3]
18
21
 
19
22
  def laid_out1; end
20
23
  def laid_out2; end
21
-
22
- def not_laid_out; end
24
+ def laid_out3; end
23
25
  end
24
26
 
25
27
  class LayoutHelperThree < Ramaze::Controller
26
28
  map '/three'
29
+
27
30
  set_layout 'default' => [:laid_out1], 'alternative' => [:laid_out2]
28
31
  set_layout 'default' => [:laid_out3]
29
32
 
@@ -32,6 +35,19 @@ class LayoutHelperThree < Ramaze::Controller
32
35
  def laid_out3; end
33
36
  end
34
37
 
38
+ class LayoutHelperFour < Ramaze::Controller
39
+ map '/four'
40
+
41
+ layout { |path| 'default' }
42
+
43
+ set_layout 'alternative' => [:laid_out2]
44
+ set_layout 'alternative' => [:laid_out3]
45
+
46
+ def laid_out1; end
47
+ def laid_out2; end
48
+ def laid_out3; end
49
+ end
50
+
35
51
  describe Ramaze::Helper::Layout do
36
52
  behaves_like :rack_test
37
53
 
@@ -39,24 +55,28 @@ describe Ramaze::Helper::Layout do
39
55
  get '/one/laid_out1'
40
56
  last_response.status.should == 200
41
57
  last_response.body.should.match /laid out/
58
+
42
59
  get '/one/laid_out2'
43
60
  last_response.status.should == 200
44
61
  last_response.body.should.match /laid out/
62
+
45
63
  get '/one/laid_out3'
46
64
  last_response.status.should == 200
47
65
  last_response.body.should.match /laid out/
48
66
  end
49
67
 
50
- it 'lays out only a whitelist of actions' do
68
+ it 'lays out only a whitelist of actions with layout() as a fallback' do
51
69
  get '/two/laid_out1'
52
70
  last_response.status.should == 200
53
71
  last_response.body.should.match /laid out/
72
+
54
73
  get '/two/laid_out2'
55
74
  last_response.status.should == 200
56
- last_response.body.should.match /laid out/
57
- get '/two/not_laid_out'
75
+ last_response.body.should.match /alternative/
76
+
77
+ get '/two/laid_out3'
58
78
  last_response.status.should == 200
59
- last_response.body.should.not.match /laid out/
79
+ last_response.body.should.match /alternative/
60
80
  end
61
81
 
62
82
  it 'Define a set of method specific layouts' do
@@ -73,4 +93,17 @@ describe Ramaze::Helper::Layout do
73
93
  last_response.body.should.match /laid out/
74
94
  end
75
95
 
96
+ it 'lays out a whitelist with layout() as a fallback using a block' do
97
+ get '/four/laid_out1'
98
+ last_response.status.should == 200
99
+ last_response.body.should.match /laid out/
100
+
101
+ get '/four/laid_out2'
102
+ last_response.status.should == 200
103
+ last_response.body.should.match /alternative/
104
+
105
+ get '/four/laid_out3'
106
+ last_response.status.should == 200
107
+ last_response.body.should.match /alternative/
108
+ end
76
109
  end
@@ -0,0 +1,149 @@
1
+ require File.expand_path('../../../../spec/helper', __FILE__)
2
+ require 'fileutils'
3
+ require 'tempfile'
4
+
5
+ class SpecUploadHelper < Ramaze::Controller
6
+ map '/'
7
+
8
+ helper :upload
9
+
10
+ handle_uploads_for :auto_upload
11
+ handle_uploads_for [:auto_upload_pattern, /file_2/]
12
+
13
+ def empty
14
+ if get_uploaded_files.empty?
15
+ return 'empty'
16
+ else
17
+ return 'not empty'
18
+ end
19
+ end
20
+
21
+ def upload
22
+ get_uploaded_files.each_pair do |k, v|
23
+ v.save(File.join('/tmp/ramaze_uploads', v.filename))
24
+
25
+ return 'not uploaded' unless v.saved?
26
+ end
27
+
28
+ return 'uploaded'
29
+ end
30
+
31
+ # If all goes well this should behave exactly the same as upload() with the
32
+ # difference that the uploads are processed in handle_uploads_for() and then
33
+ # just returned.
34
+ def auto_upload
35
+ return upload
36
+ end
37
+
38
+ def auto_upload_pattern
39
+ return upload
40
+ end
41
+ end
42
+
43
+ describe('Ramaze::Helper::Upload') do
44
+ behaves_like :rack_test
45
+
46
+ before { Dir.mkdir('/tmp/ramaze_uploads') }
47
+ after { FileUtils.rm_rf('/tmp/ramaze_uploads') }
48
+
49
+ it('No files should be uploaded') do
50
+ get('/empty').body.strip.should === 'empty'
51
+ end
52
+
53
+ it('Upload a text file') do
54
+ file = Rack::Test::UploadedFile.new(
55
+ __DIR__('uploads/text_1.txt'),
56
+ 'text/plain'
57
+ )
58
+
59
+ body = post('/upload', :file_1 => file).body.strip
60
+
61
+ body.should === 'uploaded'
62
+
63
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
64
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
65
+ end
66
+
67
+ it('Upload multiple files') do
68
+ file_1 = Rack::Test::UploadedFile.new(
69
+ __DIR__('uploads/text_1.txt'),
70
+ 'text/plain'
71
+ )
72
+
73
+ file_2 = Rack::Test::UploadedFile.new(
74
+ __DIR__('uploads/text_2.txt'),
75
+ 'text/plain'
76
+ )
77
+
78
+ body = post('/upload', :file_1 => file_1, :file_2 => file_2).body.strip
79
+
80
+ body.should === 'uploaded'
81
+
82
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
83
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
84
+
85
+ File.exist?('/tmp/ramaze_uploads/text_2.txt').should === true
86
+ File.read('/tmp/ramaze_uploads/text_2.txt').strip.should === 'Hello Ramaze'
87
+ end
88
+
89
+ it('Automatically handle uploads') do
90
+ file_1 = Rack::Test::UploadedFile.new(
91
+ __DIR__('uploads/text_1.txt'),
92
+ 'text/plain'
93
+ )
94
+
95
+ body = post('/auto_upload', :file_1 => file_1).body.strip
96
+
97
+ body.should === 'uploaded'
98
+
99
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
100
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
101
+ end
102
+
103
+ it('Automatically handle uploads using a pattern') do
104
+ file_1 = Rack::Test::UploadedFile.new(
105
+ __DIR__('uploads/text_1.txt'),
106
+ 'text/plain'
107
+ )
108
+
109
+ file_2 = Rack::Test::UploadedFile.new(
110
+ __DIR__('uploads/text_2.txt'),
111
+ 'text/plain'
112
+ )
113
+
114
+ body = post(
115
+ '/auto_upload_pattern',
116
+ :file_1 => file_1,
117
+ :file_2 => file_2
118
+ ).body.strip
119
+
120
+ body.should === 'uploaded'
121
+
122
+ File.exist?('/tmp/ramaze_uploads/text_1.txt').should === true
123
+ File.exist?('/tmp/ramaze_uploads/text_2.txt').should === false
124
+ File.read('/tmp/ramaze_uploads/text_1.txt').strip.should === 'Hello world'
125
+ end
126
+ end
127
+
128
+ describe('Ramaze::Helper::Upload::UploadedFile') do
129
+ before { Dir.mkdir('/tmp/ramaze_uploads') }
130
+ after { FileUtils.rm_rf('/tmp/ramaze_uploads') }
131
+
132
+ it('Create a new file') do
133
+ path = __DIR__('uploads/text_1.txt')
134
+ file = Ramaze::Helper::Upload::UploadedFile.new(
135
+ path,
136
+ 'text/plain',
137
+ Tempfile.new('text_1.txt'),
138
+ Ramaze::Helper::Upload::ClassMethods.trait[:default_upload_options]
139
+ )
140
+
141
+ file.filename.should === 'text_1.txt'
142
+ file.type.should === 'text/plain'
143
+ file.path.nil?.should === true
144
+
145
+ file.save('/tmp/ramaze_uploads/text_1.txt')
146
+
147
+ file.path.nil?.should === false
148
+ end
149
+ end
@@ -0,0 +1 @@
1
+ Hello world
@@ -0,0 +1 @@
1
+ Hello Ramaze
@@ -1,13 +1,11 @@
1
1
  require File.expand_path('../../../../spec/helper', __FILE__)
2
2
 
3
- spec_precondition 'ruby-growl is installed' do
4
- if !RUBY_PLATFORM.include?('darwin')
5
- should.flunk 'Growl can only be installed on Mac OS'
6
- else
7
- spec_require 'ruby-growl'
8
- end
3
+ spec_precondition 'ruby-growl should be supported' do
4
+ should.flunk if Ramaze::UNSUPPORTED_GEMS.include?('ruby-growl')
9
5
  end
10
6
 
7
+ spec_require 'ruby-growl'
8
+
11
9
  spec_precondition 'Growl should be running' do
12
10
  begin
13
11
  growl = Ramaze::Logger::Growl.new
@@ -3,6 +3,12 @@
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
5
 
6
+ spec_precondition 'Syslog should be supported' do
7
+ if Ramaze::UNSUPPORTED_GEMS.include?('syslog')
8
+ should.flunk 'Forking/Syslog is not supported'
9
+ end
10
+ end
11
+
6
12
  require 'ramaze/log/syslog'
7
13
 
8
14
  describe 'Syslog' do
@@ -2,6 +2,11 @@
2
2
  # All files in this distribution are subject to the terms of the Ruby license.
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ spec_precondition 'Lokar should be supported' do
7
+ should.flunk if Ramaze::UNSUPPORTED_GEMS.include?('lokar')
8
+ end
9
+
5
10
  spec_require 'lokar'
6
11
 
7
12
  Ramaze::App.options.views = 'lokar'
@@ -2,6 +2,11 @@
2
2
  # All files in this distribution are subject to the terms of the Ruby license.
3
3
 
4
4
  require File.expand_path('../../../../spec/helper', __FILE__)
5
+
6
+ spec_precondition 'Nagoro should be supported' do
7
+ should.flunk if Ramaze::UNSUPPORTED_GEMS.include?('nagoro')
8
+ end
9
+
5
10
  spec_require 'nagoro'
6
11
 
7
12
  Ramaze::App.options.views = 'nagoro'
@@ -6,7 +6,7 @@ task :authors do
6
6
  authors[[name, email]] += count.to_i
7
7
  end
8
8
 
9
- File.open('doc/AUTHORS', 'w+') do |io|
9
+ File.open('guide/AUTHORS', 'w+') do |io|
10
10
  io.puts "Following persons have contributed to #{GEMSPEC.name}."
11
11
  io.puts '(Sorted by number of submitted patches, then alphabetically)'
12
12
  io.puts ''
@@ -3,12 +3,21 @@ task :bacon => :setup do
3
3
  require 'open3'
4
4
  require 'scanf'
5
5
  require 'matrix'
6
+ require 'pathname'
6
7
 
7
- specs = PROJECT_SPECS
8
-
8
+ specs = PROJECT_SPECS
9
9
  some_failed = false
10
+ root_path = Pathname.new(File.expand_path('../../', __FILE__))
11
+
12
+ # Generate a hash of relative and absolute paths for all the specs.
13
+ specs_relative = {}
14
+
15
+ specs.each do |spec|
16
+ specs_relative[spec] = Pathname.new(spec).relative_path_from(root_path).to_s
17
+ end
18
+
10
19
  specs_size = specs.size
11
- len = specs.map{|s| s.size }.sort.last
20
+ len = specs_relative.map { |abs, rel| rel.size }.sort.last
12
21
  total_tests = total_assertions = total_failures = total_errors = 0
13
22
  totals = Vector[0, 0, 0, 0]
14
23
 
@@ -19,9 +28,9 @@ task :bacon => :setup do
19
28
  load_path = File.expand_path('../../lib', __FILE__)
20
29
 
21
30
  specs.each_with_index do |spec, idx|
22
- print(left_format % [idx + 1, specs_size, spec])
31
+ print(left_format % [idx + 1, specs_size, specs_relative[spec]])
23
32
 
24
- Open3.popen3(RUBY, '-I', load_path, spec) do |sin, sout, serr|
33
+ Open3.popen3(FileUtils::RUBY, '-I', load_path, spec) do |sin, sout, serr|
25
34
  out = sout.read.strip
26
35
  err = serr.read.strip
27
36
 
@@ -1,6 +1,6 @@
1
1
  desc 'update changelog'
2
2
  task :changelog do
3
- File.open('doc/CHANGELOG', 'w+') do |changelog|
3
+ File.open('guide/CHANGELOG', 'w+') do |changelog|
4
4
  `git log -z --abbrev-commit`.split("\0").each do |commit|
5
5
  next if commit =~ /^Merge: \d*/
6
6
  ref, author, time, _, title, _, message = commit.split("\n", 7)
@@ -1,5 +1,13 @@
1
- desc 'Generate YARD documentation'
2
- task :yard do
3
- readme = File.expand_path('../../README.md', __FILE__)
4
- sh("yardoc -o ydoc -r #{readme}")
1
+ desc 'Generate YARD documentation of Ramaze (optionally including Innate)'
2
+ task :yard, :innate do |task, args|
3
+ path = File.expand_path('../../doc', __FILE__)
4
+ innate = nil
5
+
6
+ # Include Innate
7
+ if args[:innate] and File.directory?(args[:innate])
8
+ innate = File.join(File.expand_path(args[:innate]), '**', '*')
9
+ end
10
+
11
+ sh("rm -rf #{path}")
12
+ sh("yard doc #{innate}")
5
13
  end
metadata CHANGED
@@ -1,346 +1,361 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ramaze
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 2011.10.23
4
5
  prerelease:
5
- version: 2011.07.25
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Michael 'manveru' Fellinger
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-07-25 00:00:00 +02:00
12
+ date: 2011-10-23 00:00:00.000000000 +02:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: innate
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2153832700 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
24
- version: "2010.03"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '2010.03'
25
23
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: bacon
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2153832700
26
+ - !ruby/object:Gem::Dependency
27
+ name: bacon
28
+ requirement: &2153832240 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
35
33
  version: 1.1.0
36
34
  type: :development
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: dalli
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2153832240
37
+ - !ruby/object:Gem::Dependency
38
+ name: dalli
39
+ requirement: &2153831820 !ruby/object:Gem::Requirement
42
40
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
46
44
  version: 1.0.5
47
45
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: erector
51
46
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *2153831820
48
+ - !ruby/object:Gem::Dependency
49
+ name: erector
50
+ requirement: &2153831400 !ruby/object:Gem::Requirement
53
51
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
57
55
  version: 0.8.2
58
56
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: erubis
62
57
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *2153831400
59
+ - !ruby/object:Gem::Dependency
60
+ name: erubis
61
+ requirement: &2153830980 !ruby/object:Gem::Requirement
64
62
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
68
66
  version: 2.7.0
69
67
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: ezamar
73
68
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *2153830980
70
+ - !ruby/object:Gem::Dependency
71
+ name: ezamar
72
+ requirement: &2153830560 !ruby/object:Gem::Requirement
75
73
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- version: "2009.06"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '2009.06'
80
78
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: sass
84
79
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *2153830560
81
+ - !ruby/object:Gem::Dependency
82
+ name: sass
83
+ requirement: &2153830140 !ruby/object:Gem::Requirement
86
84
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
90
88
  version: 3.1.4
91
89
  type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: haml
95
90
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *2153830140
92
+ - !ruby/object:Gem::Dependency
93
+ name: haml
94
+ requirement: &2153829720 !ruby/object:Gem::Requirement
97
95
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
101
99
  version: 3.1.2
102
100
  type: :development
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: hpricot
106
101
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
102
+ version_requirements: *2153829720
103
+ - !ruby/object:Gem::Dependency
104
+ name: hpricot
105
+ requirement: &2153845680 !ruby/object:Gem::Requirement
108
106
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
112
110
  version: 0.8.4
113
111
  type: :development
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
116
- name: liquid
117
112
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
113
+ version_requirements: *2153845680
114
+ - !ruby/object:Gem::Dependency
115
+ name: liquid
116
+ requirement: &2153845260 !ruby/object:Gem::Requirement
119
117
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
123
121
  version: 2.2.2
124
122
  type: :development
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
127
- name: locale
128
123
  prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
124
+ version_requirements: *2153845260
125
+ - !ruby/object:Gem::Dependency
126
+ name: locale
127
+ requirement: &2153844840 !ruby/object:Gem::Requirement
130
128
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
134
132
  version: 2.0.5
135
133
  type: :development
136
- version_requirements: *id011
137
- - !ruby/object:Gem::Dependency
138
- name: lokar
139
134
  prerelease: false
140
- requirement: &id012 !ruby/object:Gem::Requirement
141
- none: false
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: 0.2.1
146
- type: :development
147
- version_requirements: *id012
148
- - !ruby/object:Gem::Dependency
135
+ version_requirements: *2153844840
136
+ - !ruby/object:Gem::Dependency
149
137
  name: maruku
150
- prerelease: false
151
- requirement: &id013 !ruby/object:Gem::Requirement
138
+ requirement: &2153844420 !ruby/object:Gem::Requirement
152
139
  none: false
153
- requirements:
154
- - - ">="
155
- - !ruby/object:Gem::Version
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
156
143
  version: 0.6.0
157
144
  type: :development
158
- version_requirements: *id013
159
- - !ruby/object:Gem::Dependency
160
- name: mustache
161
145
  prerelease: false
162
- requirement: &id014 !ruby/object:Gem::Requirement
146
+ version_requirements: *2153844420
147
+ - !ruby/object:Gem::Dependency
148
+ name: mustache
149
+ requirement: &2153844000 !ruby/object:Gem::Requirement
163
150
  none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
167
154
  version: 0.99.4
168
155
  type: :development
169
- version_requirements: *id014
170
- - !ruby/object:Gem::Dependency
171
- name: nagoro
172
156
  prerelease: false
173
- requirement: &id015 !ruby/object:Gem::Requirement
174
- none: false
175
- requirements:
176
- - - ">="
177
- - !ruby/object:Gem::Version
178
- version: "2009.05"
179
- type: :development
180
- version_requirements: *id015
181
- - !ruby/object:Gem::Dependency
157
+ version_requirements: *2153844000
158
+ - !ruby/object:Gem::Dependency
182
159
  name: rack-contrib
183
- prerelease: false
184
- requirement: &id016 !ruby/object:Gem::Requirement
160
+ requirement: &2153843580 !ruby/object:Gem::Requirement
185
161
  none: false
186
- requirements:
187
- - - ">="
188
- - !ruby/object:Gem::Version
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
189
165
  version: 1.1.0
190
166
  type: :development
191
- version_requirements: *id016
192
- - !ruby/object:Gem::Dependency
193
- name: rack-test
194
167
  prerelease: false
195
- requirement: &id017 !ruby/object:Gem::Requirement
168
+ version_requirements: *2153843580
169
+ - !ruby/object:Gem::Dependency
170
+ name: rack-test
171
+ requirement: &2153843160 !ruby/object:Gem::Requirement
196
172
  none: false
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
200
176
  version: 0.6.0
201
177
  type: :development
202
- version_requirements: *id017
203
- - !ruby/object:Gem::Dependency
204
- name: Remarkably
205
178
  prerelease: false
206
- requirement: &id018 !ruby/object:Gem::Requirement
179
+ version_requirements: *2153843160
180
+ - !ruby/object:Gem::Dependency
181
+ name: Remarkably
182
+ requirement: &2153842740 !ruby/object:Gem::Requirement
207
183
  none: false
208
- requirements:
209
- - - ">="
210
- - !ruby/object:Gem::Version
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
211
187
  version: 0.6.1
212
188
  type: :development
213
- version_requirements: *id018
214
- - !ruby/object:Gem::Dependency
215
- name: sequel
216
189
  prerelease: false
217
- requirement: &id019 !ruby/object:Gem::Requirement
190
+ version_requirements: *2153842740
191
+ - !ruby/object:Gem::Dependency
192
+ name: sequel
193
+ requirement: &2153842320 !ruby/object:Gem::Requirement
218
194
  none: false
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
222
198
  version: 3.25.0
223
199
  type: :development
224
- version_requirements: *id019
225
- - !ruby/object:Gem::Dependency
226
- name: slippers
227
200
  prerelease: false
228
- requirement: &id020 !ruby/object:Gem::Requirement
201
+ version_requirements: *2153842320
202
+ - !ruby/object:Gem::Dependency
203
+ name: slippers
204
+ requirement: &2153841900 !ruby/object:Gem::Requirement
229
205
  none: false
230
- requirements:
231
- - - ">="
232
- - !ruby/object:Gem::Version
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
233
209
  version: 0.0.14
234
210
  type: :development
235
- version_requirements: *id020
236
- - !ruby/object:Gem::Dependency
237
- name: sqlite3
238
211
  prerelease: false
239
- requirement: &id021 !ruby/object:Gem::Requirement
212
+ version_requirements: *2153841900
213
+ - !ruby/object:Gem::Dependency
214
+ name: sqlite3
215
+ requirement: &2153841480 !ruby/object:Gem::Requirement
240
216
  none: false
241
- requirements:
242
- - - ">="
243
- - !ruby/object:Gem::Version
217
+ requirements:
218
+ - - ! '>='
219
+ - !ruby/object:Gem::Version
244
220
  version: 1.3.3
245
221
  type: :development
246
- version_requirements: *id021
247
- - !ruby/object:Gem::Dependency
248
- name: tagz
249
222
  prerelease: false
250
- requirement: &id022 !ruby/object:Gem::Requirement
223
+ version_requirements: *2153841480
224
+ - !ruby/object:Gem::Dependency
225
+ name: tagz
226
+ requirement: &2153841060 !ruby/object:Gem::Requirement
251
227
  none: false
252
- requirements:
253
- - - ">="
254
- - !ruby/object:Gem::Version
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
255
231
  version: 9.0.0
256
232
  type: :development
257
- version_requirements: *id022
258
- - !ruby/object:Gem::Dependency
259
- name: tenjin
260
233
  prerelease: false
261
- requirement: &id023 !ruby/object:Gem::Requirement
234
+ version_requirements: *2153841060
235
+ - !ruby/object:Gem::Dependency
236
+ name: tenjin
237
+ requirement: &2153840640 !ruby/object:Gem::Requirement
262
238
  none: false
263
- requirements:
264
- - - ">="
265
- - !ruby/object:Gem::Version
239
+ requirements:
240
+ - - ! '>='
241
+ - !ruby/object:Gem::Version
266
242
  version: 0.6.1
267
243
  type: :development
268
- version_requirements: *id023
269
- - !ruby/object:Gem::Dependency
270
- name: yard
271
244
  prerelease: false
272
- requirement: &id024 !ruby/object:Gem::Requirement
245
+ version_requirements: *2153840640
246
+ - !ruby/object:Gem::Dependency
247
+ name: yard
248
+ requirement: &2153840220 !ruby/object:Gem::Requirement
273
249
  none: false
274
- requirements:
275
- - - ">="
276
- - !ruby/object:Gem::Version
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
277
253
  version: 0.7.2
278
254
  type: :development
279
- version_requirements: *id024
280
- - !ruby/object:Gem::Dependency
255
+ prerelease: false
256
+ version_requirements: *2153840220
257
+ - !ruby/object:Gem::Dependency
258
+ name: redis
259
+ requirement: &2153839800 !ruby/object:Gem::Requirement
260
+ none: false
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: 2.2.2
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: *2153839800
268
+ - !ruby/object:Gem::Dependency
269
+ name: rdiscount
270
+ requirement: &2153839380 !ruby/object:Gem::Requirement
271
+ none: false
272
+ requirements:
273
+ - - ! '>='
274
+ - !ruby/object:Gem::Version
275
+ version: 1.6.8
276
+ type: :development
277
+ prerelease: false
278
+ version_requirements: *2153839380
279
+ - !ruby/object:Gem::Dependency
280
+ name: lokar
281
+ requirement: &2153838960 !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 0.2.1
287
+ type: :development
288
+ prerelease: false
289
+ version_requirements: *2153838960
290
+ - !ruby/object:Gem::Dependency
281
291
  name: ruby-growl
292
+ requirement: &2153838540 !ruby/object:Gem::Requirement
293
+ none: false
294
+ requirements:
295
+ - - ! '>='
296
+ - !ruby/object:Gem::Version
297
+ version: '3.0'
298
+ type: :development
282
299
  prerelease: false
283
- requirement: &id025 !ruby/object:Gem::Requirement
300
+ version_requirements: *2153838540
301
+ - !ruby/object:Gem::Dependency
302
+ name: nagoro
303
+ requirement: &2153838120 !ruby/object:Gem::Requirement
284
304
  none: false
285
- requirements:
286
- - - ">="
287
- - !ruby/object:Gem::Version
288
- version: "3.0"
305
+ requirements:
306
+ - - ! '>='
307
+ - !ruby/object:Gem::Version
308
+ version: '2009.05'
289
309
  type: :development
290
- version_requirements: *id025
310
+ prerelease: false
311
+ version_requirements: *2153838120
291
312
  description: Ramaze is a simple and modular web framework
292
313
  email: m.fellinger@gmail.com
293
- executables:
314
+ executables:
294
315
  - ramaze
295
316
  extensions: []
296
-
297
317
  extra_rdoc_files: []
298
-
299
- files:
318
+ files:
300
319
  - .gitignore
301
320
  - .mailmap
302
321
  - .rvmrc
322
+ - .travis.yml
323
+ - .yardopts
303
324
  - README.md
304
325
  - Rakefile
305
326
  - bin/ramaze
306
- - doc/AUTHORS
307
- - doc/CHANGELOG
308
- - doc/COPYING
309
- - doc/GPL
310
- - doc/LEGAL
311
327
  - examples/app/auth/layout/auth.xhtml
312
328
  - examples/app/auth/start.rb
313
329
  - examples/app/auth/view/index.xhtml
314
330
  - examples/app/auth/view/login.xhtml
315
331
  - examples/app/auth/view/secret.xhtml
316
- - examples/app/blog/README
317
332
  - examples/app/blog/app.rb
318
333
  - examples/app/blog/config.ru
319
- - examples/app/blog/controller/comment.rb
320
- - examples/app/blog/controller/entry.rb
321
334
  - examples/app/blog/controller/init.rb
322
- - examples/app/blog/controller/main.rb
323
- - examples/app/blog/controller/tag.rb
324
- - examples/app/blog/layout/default.nag
335
+ - examples/app/blog/controller/posts.rb
336
+ - examples/app/blog/controller/users.rb
337
+ - examples/app/blog/layout/default.xhtml
338
+ - examples/app/blog/migrations/01_create_schema.rb
325
339
  - examples/app/blog/model/comment.rb
326
- - examples/app/blog/model/entry.rb
327
340
  - examples/app/blog/model/init.rb
328
- - examples/app/blog/model/tag.rb
329
- - examples/app/blog/public/css/screen.css
330
- - examples/app/blog/spec/blog.rb
341
+ - examples/app/blog/model/post.rb
342
+ - examples/app/blog/model/user.rb
343
+ - examples/app/blog/public/.htaccess
344
+ - examples/app/blog/public/css/grid.css
345
+ - examples/app/blog/public/css/layout.css
346
+ - examples/app/blog/public/css/reset.css
347
+ - examples/app/blog/public/css/text.css
348
+ - examples/app/blog/public/dispatch.fcgi
349
+ - examples/app/blog/public/favicon.ico
350
+ - examples/app/blog/public/images/bg.png
331
351
  - examples/app/blog/start.rb
332
- - examples/app/blog/view/comment/form.nag
333
- - examples/app/blog/view/comment/show.nag
334
- - examples/app/blog/view/entry/edit.nag
335
- - examples/app/blog/view/entry/feed.atom.nag
336
- - examples/app/blog/view/entry/feed.rss.nag
337
- - examples/app/blog/view/entry/index.nag
338
- - examples/app/blog/view/entry/new.nag
339
- - examples/app/blog/view/entry/show.nag
340
- - examples/app/blog/view/feed.atom.nag
341
- - examples/app/blog/view/feed.rss.nag
342
- - examples/app/blog/view/index.nag
343
- - examples/app/blog/view/tag/index.nag
352
+ - examples/app/blog/view/feed.xhtml
353
+ - examples/app/blog/view/form.xhtml
354
+ - examples/app/blog/view/index.xhtml
355
+ - examples/app/blog/view/users/form.xhtml
356
+ - examples/app/blog/view/users/index.xhtml
357
+ - examples/app/blog/view/users/login.xhtml
358
+ - examples/app/blog/view/view.xhtml
344
359
  - examples/app/chat/layout/default.xhtml
345
360
  - examples/app/chat/model/history.rb
346
361
  - examples/app/chat/model/message.rb
@@ -440,6 +455,31 @@ files:
440
455
  - examples/templates/view/external.rhtml
441
456
  - examples/templates/view/external.tenjin
442
457
  - examples/templates/view/external.zmr
458
+ - guide/AUTHORS
459
+ - guide/CHANGELOG
460
+ - guide/GPL_LICENSE
461
+ - guide/RUBY_LICENSE
462
+ - guide/_static/logo.png
463
+ - guide/_static/logo.svg
464
+ - guide/_static/ramaze_console.png
465
+ - guide/css/common.css
466
+ - guide/general/cache.md
467
+ - guide/general/configuration.md
468
+ - guide/general/contributing.md
469
+ - guide/general/controllers.md
470
+ - guide/general/helpers.md
471
+ - guide/general/installation.md
472
+ - guide/general/logging.md
473
+ - guide/general/middlewares.md
474
+ - guide/general/models.md
475
+ - guide/general/principles.md
476
+ - guide/general/ramaze_command.md
477
+ - guide/general/routes.md
478
+ - guide/general/sessions.md
479
+ - guide/general/special_thanks.md
480
+ - guide/general/testing.md
481
+ - guide/general/views.md
482
+ - guide/tutorials/introduction.md
443
483
  - lib/proto/app.rb
444
484
  - lib/proto/config.ru
445
485
  - lib/proto/controller/init.rb
@@ -454,7 +494,6 @@ files:
454
494
  - lib/proto/public/dispatch.fcgi
455
495
  - lib/proto/public/favicon.ico
456
496
  - lib/proto/public/images/bg.png
457
- - lib/proto/public/ramaze.png
458
497
  - lib/proto/spec/main.rb
459
498
  - lib/proto/start.rb
460
499
  - lib/proto/view/index.xhtml
@@ -473,6 +512,7 @@ files:
473
512
  - lib/ramaze/cache/localmemcache.rb
474
513
  - lib/ramaze/cache/lru.rb
475
514
  - lib/ramaze/cache/memcache.rb
515
+ - lib/ramaze/cache/redis.rb
476
516
  - lib/ramaze/cache/sequel.rb
477
517
  - lib/ramaze/controller.rb
478
518
  - lib/ramaze/controller/default.rb
@@ -508,6 +548,7 @@ files:
508
548
  - lib/ramaze/helper/tagz.rb
509
549
  - lib/ramaze/helper/thread.rb
510
550
  - lib/ramaze/helper/ultraviolet.rb
551
+ - lib/ramaze/helper/upload.rb
511
552
  - lib/ramaze/helper/user.rb
512
553
  - lib/ramaze/helper/xhtml.rb
513
554
  - lib/ramaze/log.rb
@@ -528,7 +569,6 @@ files:
528
569
  - lib/ramaze/reloader/watch_stat.rb
529
570
  - lib/ramaze/request.rb
530
571
  - lib/ramaze/response.rb
531
- - lib/ramaze/rest.rb
532
572
  - lib/ramaze/setup.rb
533
573
  - lib/ramaze/snippets.rb
534
574
  - lib/ramaze/snippets/array/put_within.rb
@@ -620,6 +660,7 @@ files:
620
660
  - spec/ramaze/cache/localmemcache.rb
621
661
  - spec/ramaze/cache/lru.rb
622
662
  - spec/ramaze/cache/memcache.rb
663
+ - spec/ramaze/cache/redis.rb
623
664
  - spec/ramaze/cache/sequel.rb
624
665
  - spec/ramaze/controller/actionless_templates.rb
625
666
  - spec/ramaze/controller/lonely_mapping.rb
@@ -664,6 +705,9 @@ files:
664
705
  - spec/ramaze/helper/request_accessor.rb
665
706
  - spec/ramaze/helper/simple_captcha.rb
666
707
  - spec/ramaze/helper/stack.rb
708
+ - spec/ramaze/helper/upload.rb
709
+ - spec/ramaze/helper/uploads/text_1.txt
710
+ - spec/ramaze/helper/uploads/text_2.txt
667
711
  - spec/ramaze/helper/user.rb
668
712
  - spec/ramaze/helper/view/locals.xhtml
669
713
  - spec/ramaze/helper/view/loop.xhtml
@@ -683,7 +727,6 @@ files:
683
727
  - spec/ramaze/public/ramaze.png
684
728
  - spec/ramaze/public/test_download.css
685
729
  - spec/ramaze/request.rb
686
- - spec/ramaze/rest.rb
687
730
  - spec/ramaze/rewrite/file.css
688
731
  - spec/ramaze/session/memcache.rb
689
732
  - spec/ramaze/struct.rb
@@ -751,7 +794,6 @@ files:
751
794
  - tasks/bacon.rake
752
795
  - tasks/changelog.rake
753
796
  - tasks/gem.rake
754
- - tasks/rcov.rake
755
797
  - tasks/release.rake
756
798
  - tasks/setup.rake
757
799
  - tasks/todo.rake
@@ -759,30 +801,26 @@ files:
759
801
  has_rdoc: yard
760
802
  homepage: http://ramaze.net/
761
803
  licenses: []
762
-
763
804
  post_install_message:
764
805
  rdoc_options: []
765
-
766
- require_paths:
806
+ require_paths:
767
807
  - lib
768
- required_ruby_version: !ruby/object:Gem::Requirement
808
+ required_ruby_version: !ruby/object:Gem::Requirement
769
809
  none: false
770
- requirements:
771
- - - ">="
772
- - !ruby/object:Gem::Version
773
- version: "0"
774
- required_rubygems_version: !ruby/object:Gem::Requirement
810
+ requirements:
811
+ - - ! '>='
812
+ - !ruby/object:Gem::Version
813
+ version: '0'
814
+ required_rubygems_version: !ruby/object:Gem::Requirement
775
815
  none: false
776
- requirements:
777
- - - ">="
778
- - !ruby/object:Gem::Version
816
+ requirements:
817
+ - - ! '>='
818
+ - !ruby/object:Gem::Version
779
819
  version: 1.3.5
780
820
  requirements: []
781
-
782
821
  rubyforge_project:
783
822
  rubygems_version: 1.6.2
784
823
  signing_key:
785
824
  specification_version: 3
786
825
  summary: Ramaze is a simple and modular web framework
787
826
  test_files: []
788
-