ramaze 2011.01.30 → 2011.07.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (229) hide show
  1. data/.gitignore +2 -1
  2. data/.mailmap +2 -0
  3. data/.rvmrc +1 -0
  4. data/README.md +119 -197
  5. data/Rakefile +14 -97
  6. data/bin/ramaze +6 -14
  7. data/doc/AUTHORS +8 -4
  8. data/doc/CHANGELOG +3784 -3339
  9. data/examples/app/chat/start.rb +2 -2
  10. data/lib/proto/app.rb +2 -3
  11. data/lib/proto/config.ru +4 -5
  12. data/lib/proto/controller/init.rb +11 -4
  13. data/lib/proto/controller/main.rb +12 -7
  14. data/lib/proto/layout/default.xhtml +56 -23
  15. data/lib/proto/model/init.rb +3 -1
  16. data/lib/proto/public/css/grid.css +107 -0
  17. data/lib/proto/public/css/layout.css +81 -0
  18. data/lib/proto/public/css/reset.css +123 -0
  19. data/lib/proto/public/css/text.css +109 -0
  20. data/lib/proto/public/images/bg.png +0 -0
  21. data/lib/proto/spec/main.rb +2 -2
  22. data/lib/proto/start.rb +11 -1
  23. data/lib/proto/view/index.xhtml +27 -23
  24. data/lib/ramaze.rb +0 -1
  25. data/lib/ramaze/app.rb +85 -12
  26. data/lib/ramaze/app_graph.rb +107 -0
  27. data/lib/ramaze/bin/console.rb +87 -0
  28. data/lib/ramaze/bin/create.rb +94 -0
  29. data/lib/ramaze/bin/helper.rb +107 -0
  30. data/lib/ramaze/bin/restart.rb +95 -0
  31. data/lib/ramaze/bin/runner.rb +141 -0
  32. data/lib/ramaze/bin/start.rb +206 -0
  33. data/lib/ramaze/bin/status.rb +152 -0
  34. data/lib/ramaze/bin/stop.rb +112 -0
  35. data/lib/ramaze/cache.rb +9 -4
  36. data/lib/ramaze/cache/localmemcache.rb +10 -13
  37. data/lib/ramaze/cache/lru.rb +49 -7
  38. data/lib/ramaze/cache/memcache.rb +170 -92
  39. data/lib/ramaze/cache/sequel.rb +301 -118
  40. data/lib/ramaze/controller.rb +108 -9
  41. data/lib/ramaze/controller/default.rb +15 -2
  42. data/lib/ramaze/current.rb +14 -2
  43. data/lib/ramaze/dependencies.rb +46 -0
  44. data/lib/ramaze/files.rb +38 -3
  45. data/lib/ramaze/gestalt.rb +12 -12
  46. data/lib/ramaze/helper.rb +0 -2
  47. data/lib/ramaze/helper/auth.rb +30 -23
  48. data/lib/ramaze/helper/blue_form.rb +175 -126
  49. data/lib/ramaze/helper/csrf.rb +76 -91
  50. data/lib/ramaze/helper/email.rb +105 -0
  51. data/lib/ramaze/helper/erector.rb +16 -15
  52. data/lib/ramaze/helper/gestalt.rb +2 -2
  53. data/lib/ramaze/helper/layout.rb +89 -73
  54. data/lib/ramaze/helper/link.rb +7 -6
  55. data/lib/ramaze/helper/localize.rb +6 -5
  56. data/lib/ramaze/helper/markaby.rb +25 -23
  57. data/lib/ramaze/helper/maruku.rb +3 -3
  58. data/lib/ramaze/helper/paginate.rb +19 -27
  59. data/lib/ramaze/helper/remarkably.rb +3 -3
  60. data/lib/ramaze/helper/request_accessor.rb +3 -3
  61. data/lib/ramaze/helper/send_file.rb +12 -8
  62. data/lib/ramaze/helper/simple_captcha.rb +5 -6
  63. data/lib/ramaze/helper/stack.rb +7 -4
  64. data/lib/ramaze/helper/tagz.rb +10 -11
  65. data/lib/ramaze/helper/thread.rb +19 -16
  66. data/lib/ramaze/helper/ultraviolet.rb +7 -4
  67. data/lib/ramaze/helper/user.rb +40 -21
  68. data/lib/ramaze/helper/xhtml.rb +29 -20
  69. data/lib/ramaze/log.rb +3 -11
  70. data/lib/ramaze/log/analogger.rb +5 -4
  71. data/lib/ramaze/log/growl.rb +9 -7
  72. data/lib/ramaze/log/hub.rb +3 -5
  73. data/lib/ramaze/log/informer.rb +15 -12
  74. data/lib/ramaze/log/knotify.rb +3 -5
  75. data/lib/ramaze/log/logger.rb +3 -5
  76. data/lib/ramaze/log/logging.rb +6 -8
  77. data/lib/ramaze/log/rotatinginformer.rb +27 -17
  78. data/lib/ramaze/log/syslog.rb +7 -7
  79. data/lib/ramaze/log/xosd.rb +3 -5
  80. data/lib/ramaze/middleware_compiler.rb +27 -4
  81. data/lib/ramaze/reloader.rb +50 -12
  82. data/lib/ramaze/reloader/watch_inotify.rb +4 -5
  83. data/lib/ramaze/reloader/watch_stat.rb +3 -3
  84. data/lib/ramaze/request.rb +18 -8
  85. data/lib/ramaze/response.rb +38 -7
  86. data/lib/ramaze/rest.rb +36 -0
  87. data/lib/ramaze/setup.rb +101 -31
  88. data/lib/ramaze/spec.rb +1 -1
  89. data/lib/ramaze/spec/bacon.rb +6 -3
  90. data/lib/ramaze/spec/helper/bacon.rb +0 -1
  91. data/lib/ramaze/version.rb +1 -1
  92. data/lib/ramaze/view.rb +2 -11
  93. data/lib/ramaze/view/erector.rb +46 -31
  94. data/lib/ramaze/view/erubis.rb +7 -3
  95. data/lib/ramaze/view/ezamar.rb +7 -3
  96. data/lib/ramaze/view/gestalt.rb +9 -3
  97. data/lib/ramaze/view/haml.rb +7 -3
  98. data/lib/ramaze/view/liquid.rb +3 -3
  99. data/lib/ramaze/view/lokar.rb +7 -3
  100. data/lib/ramaze/view/mustache.rb +11 -5
  101. data/lib/ramaze/view/nagoro.rb +3 -3
  102. data/lib/ramaze/view/sass.rb +1 -1
  103. data/lib/ramaze/view/slippers.rb +40 -13
  104. data/lib/ramaze/view/tagz.rb +9 -5
  105. data/ramaze.gemspec +23 -128
  106. data/spec/helper.rb +5 -0
  107. data/spec/ramaze/bin/app/config.ru +11 -0
  108. data/spec/ramaze/bin/create.rb +28 -0
  109. data/spec/ramaze/bin/runner.rb +30 -0
  110. data/spec/ramaze/bin/start.rb +38 -0
  111. data/spec/ramaze/cache/memcache.rb +10 -3
  112. data/spec/ramaze/cache/sequel.rb +7 -0
  113. data/spec/ramaze/controller/provide_inheritance.rb +0 -10
  114. data/spec/ramaze/dispatcher/file.rb +19 -15
  115. data/spec/ramaze/helper/auth.rb +10 -9
  116. data/spec/ramaze/helper/blue_form.rb +121 -68
  117. data/spec/ramaze/helper/email.rb +69 -0
  118. data/spec/ramaze/helper/layout.rb +12 -15
  119. data/spec/ramaze/helper/layout/alternative.xhtml +5 -0
  120. data/spec/ramaze/helper/user.rb +2 -0
  121. data/spec/ramaze/log/growl.rb +14 -1
  122. data/spec/{contrib → ramaze}/rest.rb +1 -1
  123. data/spec/ramaze/session/memcache.rb +2 -2
  124. data/spec/ramaze/view/sass.rb +1 -1
  125. data/tasks/bacon.rake +3 -3
  126. data/tasks/gem.rake +17 -18
  127. data/tasks/rcov.rake +2 -3
  128. data/tasks/release.rake +8 -65
  129. data/tasks/setup.rake +10 -8
  130. data/tasks/todo.rake +9 -5
  131. data/tasks/yard.rake +3 -2
  132. metadata +105 -397
  133. data/MANIFEST +0 -532
  134. data/TODO.md +0 -19
  135. data/benchmark/bench_templates/bench.rb +0 -67
  136. data/benchmark/bench_templates/view/large.erb +0 -79
  137. data/benchmark/bench_templates/view/large.haml +0 -41
  138. data/benchmark/bench_templates/view/large.lok +0 -79
  139. data/benchmark/bench_templates/view/large.xhtml +0 -79
  140. data/benchmark/bench_templates/view/small.erb +0 -21
  141. data/benchmark/bench_templates/view/small.haml +0 -12
  142. data/benchmark/bench_templates/view/small.lok +0 -21
  143. data/benchmark/bench_templates/view/small.xhtml +0 -21
  144. data/benchmark/results.txt +0 -131
  145. data/benchmark/run.rb +0 -355
  146. data/benchmark/suite/minimal.rb +0 -11
  147. data/benchmark/suite/no_informer.rb +0 -7
  148. data/benchmark/suite/no_sessions.rb +0 -9
  149. data/benchmark/suite/no_template.rb +0 -7
  150. data/benchmark/suite/simple.rb +0 -5
  151. data/benchmark/suite/template_erubis.rb +0 -8
  152. data/benchmark/suite/template_etanni.rb +0 -8
  153. data/benchmark/suite/template_ezamar.rb +0 -8
  154. data/benchmark/suite/template_haml.rb +0 -13
  155. data/benchmark/suite/template_liquid.rb +0 -11
  156. data/benchmark/suite/template_markaby.rb +0 -9
  157. data/benchmark/suite/template_nagoro.rb +0 -8
  158. data/benchmark/suite/template_redcloth.rb +0 -13
  159. data/benchmark/suite/template_tenjin.rb +0 -8
  160. data/benchmark/test.rb +0 -35
  161. data/doc/FAQ +0 -92
  162. data/doc/INSTALL +0 -92
  163. data/doc/TODO +0 -29
  164. data/doc/meta/announcement.txt +0 -119
  165. data/doc/meta/configuration.txt +0 -163
  166. data/doc/meta/internals.txt +0 -278
  167. data/doc/meta/users.kml +0 -64
  168. data/doc/tutorial/todolist.html +0 -1512
  169. data/doc/tutorial/todolist.txt +0 -920
  170. data/examples/app/sourceview/public/coderay.css +0 -104
  171. data/examples/app/sourceview/public/images/file.gif +0 -0
  172. data/examples/app/sourceview/public/images/folder.gif +0 -0
  173. data/examples/app/sourceview/public/images/tv-collapsable-last.gif +0 -0
  174. data/examples/app/sourceview/public/images/tv-collapsable.gif +0 -0
  175. data/examples/app/sourceview/public/images/tv-expandable-last.gif +0 -0
  176. data/examples/app/sourceview/public/images/tv-expandable.gif +0 -0
  177. data/examples/app/sourceview/public/images/tv-item-last.gif +0 -0
  178. data/examples/app/sourceview/public/images/tv-item.gif +0 -0
  179. data/examples/app/sourceview/public/jquery.js +0 -11
  180. data/examples/app/sourceview/public/jquery.treeview.css +0 -48
  181. data/examples/app/sourceview/public/jquery.treeview.js +0 -223
  182. data/examples/app/sourceview/public/sourceview.js +0 -52
  183. data/examples/app/sourceview/start.rb +0 -79
  184. data/examples/app/sourceview/view/index.haml +0 -59
  185. data/examples/helpers/httpdigest.rb +0 -107
  186. data/lib/proto/public/css/screen.css +0 -30
  187. data/lib/proto/public/js/jquery.js +0 -7179
  188. data/lib/ramaze/contrib/addressable_route.rb +0 -56
  189. data/lib/ramaze/contrib/app_graph.rb +0 -64
  190. data/lib/ramaze/contrib/email.rb +0 -88
  191. data/lib/ramaze/contrib/facebook.rb +0 -23
  192. data/lib/ramaze/contrib/facebook/facebook.rb +0 -171
  193. data/lib/ramaze/contrib/gettext.rb +0 -113
  194. data/lib/ramaze/contrib/gettext/mo.rb +0 -155
  195. data/lib/ramaze/contrib/gettext/parser.rb +0 -46
  196. data/lib/ramaze/contrib/gettext/po.rb +0 -109
  197. data/lib/ramaze/contrib/gzip_filter.rb +0 -1
  198. data/lib/ramaze/contrib/maruku_uv.rb +0 -59
  199. data/lib/ramaze/contrib/profiling.rb +0 -36
  200. data/lib/ramaze/contrib/rest.rb +0 -23
  201. data/lib/ramaze/contrib/sequel/create_join.rb +0 -26
  202. data/lib/ramaze/contrib/sequel/form_field.rb +0 -129
  203. data/lib/ramaze/contrib/sequel/image.rb +0 -196
  204. data/lib/ramaze/contrib/sequel/relation.rb +0 -98
  205. data/lib/ramaze/helper/httpdigest.rb +0 -96
  206. data/lib/ramaze/tool/bin.rb +0 -340
  207. data/lib/ramaze/tool/create.rb +0 -48
  208. data/lib/ramaze/tool/project_creator.rb +0 -120
  209. data/lib/ramaze/view/less.rb +0 -12
  210. data/lib/ramaze/view/maruku.rb +0 -15
  211. data/lib/ramaze/view/redcloth.rb +0 -21
  212. data/spec/contrib/addressable_route.rb +0 -30
  213. data/spec/examples/helpers/httpdigest.rb +0 -64
  214. data/spec/examples/templates/template_redcloth.rb +0 -13
  215. data/spec/ramaze/bin/ramaze.rb +0 -96
  216. data/spec/ramaze/helper/httpdigest.rb +0 -176
  217. data/spec/ramaze/view/less.rb +0 -60
  218. data/spec/ramaze/view/less/file.css.less +0 -8
  219. data/spec/ramaze/view/redcloth.rb +0 -66
  220. data/spec/ramaze/view/redcloth/external.redcloth +0 -8
  221. data/tasks/copyright.rake +0 -21
  222. data/tasks/gem_setup.rake +0 -112
  223. data/tasks/git.rake +0 -46
  224. data/tasks/grancher.rake +0 -12
  225. data/tasks/jquery.rake +0 -15
  226. data/tasks/manifest.rake +0 -4
  227. data/tasks/metric_changes.rake +0 -24
  228. data/tasks/reversion.rake +0 -8
  229. data/tasks/traits.rake +0 -21
@@ -1,155 +0,0 @@
1
- =begin
2
- mo.rb - A simple class for operating GNU MO file.
3
-
4
- Copyright (C) 2003-2006 Masao Mutoh
5
- Copyright (C) 2002 Masahiro Sakai, Masao Mutoh
6
- Copyright (C) 2001 Masahiro Sakai
7
-
8
- Masahiro Sakai <s01397ms@sfc.keio.ac.jp>
9
- Masao Mutoh <mutoh@highway.ne.jp>
10
-
11
- You can redistribute this file and/or modify it under the same term
12
- of Ruby. License of Ruby is included with Ruby distribution in
13
- the file "README".
14
-
15
- $Id: mo.rb,v 1.7 2006/06/11 15:36:20 mutoh Exp $
16
- =end
17
-
18
- require 'iconv'
19
-
20
- class MOFile < Hash
21
- class InvalidFormat < RuntimeError; end;
22
-
23
- attr_reader :filename
24
-
25
- Header = Struct.new(:magic,
26
- :revision,
27
- :nstrings,
28
- :orig_table_offset,
29
- :translated_table_offset,
30
- :hash_table_size,
31
- :hash_table_offset)
32
-
33
- MAGIC_BIG_ENDIAN = "\x95\x04\x12\xde"
34
- MAGIC_LITTLE_ENDIAN = "\xde\x12\x04\x95"
35
-
36
- def self.open(arg = nil, output_charset = nil)
37
- result = self.new(output_charset)
38
- result.load(arg)
39
- end
40
-
41
- def initialize(output_charset = nil)
42
- @filename = nil
43
- @last_modified = nil
44
- @little_endian = true
45
- @output_charset = output_charset
46
- super
47
- end
48
-
49
- def update!
50
- if FileTest.exist?(@filename)
51
- st = File.stat(@filename)
52
- load(@filename) unless (@last_modified == [st.ctime, st.mtime])
53
- else
54
- puts "#{@filename} was lost." if $DEBUG
55
- clear
56
- end
57
- self
58
- end
59
-
60
- def load(arg)
61
- case arg
62
- when String
63
- begin
64
- st = File.stat(arg)
65
- @last_modified = [st.ctime, st.mtime]
66
- rescue Exception
67
- end
68
- load_from_file(arg)
69
- when IO
70
- load_from_stream(arg)
71
- end
72
- @filename = arg
73
- self
74
- end
75
-
76
- def load_from_stream(io)
77
- magic = io.read(4)
78
- case magic
79
- when MAGIC_BIG_ENDIAN
80
- @little_endian = false
81
- when MAGIC_LITTLE_ENDIAN
82
- @little_endian = true
83
- else
84
- raise InvalidFormat.new("Unknown signature %s" % magic.dump)
85
- end
86
-
87
- header = Header.new(magic, *(io.read(4 * 6).unpack(@little_endian ? 'V6' : 'N6')))
88
- raise InvalidFormat.new(sprintf("file format revision %d isn't supported", header.revision)) if header.revision > 0
89
-
90
- io.pos = header.orig_table_offset
91
- orig_table_data = io.read((4 * 2) * header.nstrings).unpack(@little_endian ? 'V*' : 'N*')
92
-
93
- io.pos = header.translated_table_offset
94
- trans_table_data = io.read((4 * 2) * header.nstrings).unpack(@little_endian ? 'V*' : 'N*')
95
-
96
- original_strings = Array.new(header.nstrings)
97
- for i in 0...header.nstrings
98
- io.pos = orig_table_data[i * 2 + 1]
99
- original_strings[i] = io.read(orig_table_data[i * 2 + 0])
100
- end
101
-
102
- clear
103
- for i in 0...header.nstrings
104
- io.pos = trans_table_data[i * 2 + 1]
105
- str = io.read(trans_table_data[i * 2 + 0])
106
-
107
- if original_strings[i] == ""
108
- if str
109
- @charset = nil
110
- @nplurals = nil
111
- @plural = nil
112
- str.each_line{|line|
113
- if /^Content-Type:/i =~ line and /charset=((?:\w|-)+)/i =~ line
114
- @charset = $1
115
- elsif /^Plural-Forms:\s*nplurals\s*\=\s*(\d*);\s*plural\s*\=\s*([^;]*)\n?/ =~ line
116
- @nplurals = $1
117
- @plural = $2
118
- end
119
- break if @charset and @nplurals
120
- }
121
- @nplurals = "1" unless @nplurals
122
- @plural = "0" unless @plural
123
- end
124
- else
125
- if @output_charset
126
- begin
127
- str = Iconv.iconv(@output_charset, @charset, str).join if @charset
128
- rescue Iconv::Failure
129
- if $DEBUG
130
- $stderr.print "@charset = ", @charset, "\n"
131
- $stderr.print "@output_charset = ", @output_charset, "\n"
132
- $stderr.print "msgid = ", original_strings[i], "\n"
133
- $stderr.print "msgstr = ", str, "\n"
134
- end
135
- end
136
- end
137
- end
138
- self[original_strings[i]] = str
139
- end
140
- self
141
- end
142
-
143
- def load_from_file(filename)
144
- @filename = filename
145
- File.open(filename, 'rb'){|f| load_from_stream(f)}
146
- end
147
-
148
- def set_comment(msgid_or_sym, comment)
149
- #Do nothing
150
- end
151
-
152
-
153
- attr_accessor :little_endian, :path, :last_modified
154
- attr_reader :charset, :nplurals, :plural
155
- end
@@ -1,46 +0,0 @@
1
- # suppress load warning message
2
- verbose = $VERBOSE
3
- $VERBOSE = nil
4
- require 'gettext/rgettext'
5
- $VERBOSE = verbose
6
-
7
- module Ramaze::Tool::Gettext::Parser
8
- module_function
9
-
10
- TARGETS = Ramaze::Template::ENGINES.values.inject([]) do |exts, list|
11
- list += exts
12
- end
13
-
14
- def target?(file)
15
- TARGETS.include?(File.extname(file)[1..-1])
16
- end
17
-
18
- def parse(file, ary)
19
- regex = Ramaze::Tool::Gettext.trait[:regex]
20
- body = File.read(file)
21
- body.gsub!(regex) do
22
- msg = $1
23
- unless msg.to_s.empty?
24
- line_number = body[0..(body.index(msg))].split("\n").size
25
- add_message(ary, msg, file, line_number)
26
- end
27
- end
28
- return ary
29
- end
30
-
31
- def add_message(ary, msg, file, line_number)
32
- loc = message_location(file, line_number)
33
- if value = ary.assoc(msg)
34
- value << loc
35
- else
36
- ary << [msg, loc]
37
- end
38
- return ary
39
- end
40
-
41
- def message_location(file, line_number)
42
- file + ":line" + line_number.to_s
43
- end
44
- end
45
-
46
- GetText::RGetText.add_parser(Ramaze::Tool::Gettext::Parser)
@@ -1,109 +0,0 @@
1
- #! /usr/bin/env ruby
2
- =begin
3
- rgettext.rb - Generate a .pot file.
4
-
5
- Copyright (C) 2003-2006 Masao Mutoh
6
- Copyright (C) 2001,2002 Yasushi Shoji, Masao Mutoh
7
-
8
- Yasushi Shoji <yashi at atmark-techno.com>
9
- Masao Mutoh <mutoh at highway.ne.jp>
10
-
11
- You may redistribute it and/or modify it under the same
12
- license terms as Ruby.
13
- =end
14
-
15
-
16
- module GetText
17
-
18
- module RGetText #:nodoc:
19
- extend GetText
20
-
21
- MAX_LINE_LEN = 70 unless defined?(MAX_LINE_LEN)
22
-
23
- module_function
24
-
25
- def generate_pot_header # :nodoc:
26
- time = Time.now.strftime("%Y-%m-%d %H:%M")
27
- off = Time.now.utc_offset
28
- sign = off <= 0 ? '-' : '+'
29
- time += sprintf('%s%02d%02d', sign, *(off.abs / 60).divmod(60))
30
-
31
- <<EOS
32
- # SOME DESCRIPTIVE TITLE.
33
- # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
34
- # This file is distributed under the same license as the PACKAGE package.
35
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
36
- #
37
- #, fuzzy
38
- msgid ""
39
- msgstr ""
40
- "Project-Id-Version: PACKAGE VERSION\\n"
41
- "POT-Creation-Date: #{time}\\n"
42
- "PO-Revision-Date: #{time}\\n"
43
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n"
44
- "Language-Team: LANGUAGE <LL@li.org>\\n"
45
- "MIME-Version: 1.0\\n"
46
- "Content-Type: text/plain; charset=UTF-8\\n"
47
- "Content-Transfer-Encoding: 8bit\\n"
48
- EOS
49
- end
50
-
51
- def generate_pot(ary) # :nodoc:
52
- str = ""
53
- result = Array.new
54
- ary.each do |key|
55
- msgid = key.shift.dup
56
- curr_pos = MAX_LINE_LEN
57
- key.each do |e|
58
- if curr_pos + e.size > MAX_LINE_LEN
59
- str << "\n#:"
60
- curr_pos = 3
61
- else
62
- curr_pos += (e.size + 1)
63
- end
64
- str << " " << e
65
- end
66
- msgid.gsub!(/"/, '\"')
67
- msgid.gsub!(/\r/, '')
68
-
69
- str << "\nmsgid \"" << msgid << "\"\n"
70
- str << "msgstr \"\"\n"
71
- end
72
- str
73
- end
74
-
75
- def generate_translated_po(hash)
76
- str = generate_pot_header
77
- result = Array.new
78
-
79
- hash.keys.sort.each do |msgid|
80
- msgid = msgid.dup
81
- msgstr = hash[msgid]
82
-
83
- msgid.gsub!(/"/, '\"')
84
- msgid.gsub!(/\r/, '')
85
-
86
- if msgstr
87
- msgstr.gsub!(/"/, '\"')
88
- msgstr.gsub!(/\r/, '')
89
- end
90
-
91
- str << "\nmsgid \"" << msgid << "\"\n"
92
- str << "msgstr \"" << msgstr << "\"\n"
93
- end
94
-
95
- str
96
- end
97
-
98
- def generate(array) # :nodoc:
99
- str = ''
100
- str << generate_pot_header
101
- str << generate_pot(array)
102
- end
103
- end
104
- end
105
-
106
- if $0 == __FILE__
107
- require 'yaml'
108
- puts GetText::RGetText.generate_translated_po(YAML.load_file(ARGV[0]))
109
- end
@@ -1 +0,0 @@
1
- Ramaze.deprecated('contrib/gzip_filter.rb', 'Rack::Deflater')
@@ -1,59 +0,0 @@
1
- # A hack to make MaRuKu use UltraViolet for highlighting
2
- # To specify the style to use use for example:
3
- # uv_style: amy
4
- # html_use_syntax: true
5
- # code_lang: ruby
6
- # In the document header area.
7
-
8
- require 'maruku'
9
-
10
- module MaRuKu
11
- module Out
12
- module HTML
13
- def uv_highlight(source, lang, style)
14
- require 'uv'
15
-
16
- html = Uv.parse(source, 'xhtml', lang, lines = false, style)
17
-
18
- # Prepare <code> containing <pre>
19
- code = Document.new(html, :respect_whitespace => :all).root
20
- code.name = 'code'
21
- code.attributes['class'] = lang
22
- code.attributes['lang'] = lang
23
-
24
- # Prepare <pre>
25
- pre = Element.new('pre')
26
- pre << code
27
- pre.attributes['class'] = style
28
- pre
29
- rescue => ex
30
- puts ex
31
- to_html_code_using_pre(source)
32
- end
33
-
34
- def to_html_code
35
- source = self.raw_code
36
- use_syntax = get_setting(:html_use_syntax)
37
- uv_style = get_setting(:uv_style)
38
-
39
- lang = self.attributes[:lang] || @doc.attributes[:code_lang]
40
- lang ||= 'ruby' if attributes[:ruby]
41
-
42
- # we always use syntax highlighting, this is a doc wiki
43
- if lang and use_syntax
44
- element = uv_highlight(source, lang, uv_style)
45
- else
46
- element = to_html_code_using_pre(source)
47
- end
48
-
49
- color = get_setting(:code_background_color)
50
-
51
- if color != Globals[:code_background_color]
52
- element.attributes['style'] = "background-color: #{color};"
53
- end
54
-
55
- add_ws element
56
- end
57
- end # HTML
58
- end # Out
59
- end # MaRuKu
@@ -1,36 +0,0 @@
1
- require "ruby-prof"
2
-
3
- module Ramaze
4
- class Dispatcher
5
- class ActionProfiler < Action
6
- def self.call(path)
7
- if RubyProf.running?
8
- super
9
- else
10
- result = RubyProf.profile { super }
11
- output = StringIO.new
12
- printer = RubyProf::FlatPrinter.new(result)
13
- options = {
14
- :min_percent => Contrib::Profiling.trait[:min_percent],
15
- :print_file => false
16
- }
17
- printer.print(output, options)
18
- output.string.split("\n").each do |line|
19
- Log.info(line)
20
- end
21
- end
22
- end
23
- end
24
- end
25
-
26
- module Contrib
27
- class Profiling
28
- trait :min_percent => 1
29
-
30
- def self.startup
31
- Dispatcher::FILTER.delete(Dispatcher::Action)
32
- Dispatcher::FILTER << Dispatcher::ActionProfiler
33
- end
34
- end
35
- end
36
- end
@@ -1,23 +0,0 @@
1
- # Use this together with the Rack::MethodOverride middleware for best
2
- # behaviour.
3
- #
4
- # See spec/contrib/rest.rb for usage.
5
-
6
- module Ramaze
7
- # Don't use one option per method, we don't want to turn request_method into
8
- # a symbol, together with MethodOverride this could lead to a memory leak.
9
- options.o "REST rewrite mapping",
10
- :rest_rewrite, { 'GET' => 'show',
11
- 'POST' => 'create',
12
- 'PUT' => 'update',
13
- 'DELETE' => 'destroy'}
14
-
15
- Rewrite['REST dispatch'] = lambda{|path, request|
16
- if suffix = Ramaze.options[:rest_rewrite][request.request_method]
17
- "#{path}/#{suffix}".squeeze('/')
18
- else
19
- path
20
- end
21
- # return '/'
22
- }
23
- end
@@ -1,26 +0,0 @@
1
- require 'sequel'
2
- require 'sequel/extensions/inflector'
3
-
4
- module Sequel
5
- class Model
6
- # Force join table generation
7
- #
8
- # Usage:
9
- # User.create_join(Article, 'articles_users')
10
- # # or let the method figure out the correct join table using sequel
11
- # # conventions.
12
- # User.create_join(Article)
13
- def self.create_join(to, name = nil)
14
- from = self
15
- name ||= [table_name.to_s, to.table_name.to_s].sort.join('_')
16
- from_key = "#{from.table_name.to_s.singularize}_id"
17
- to_key = "#{to.table_name.to_s.singularize}_id"
18
-
19
- db.create_table! name do
20
- primary_key :id
21
- foreign_key from_key, :class => from
22
- foreign_key to_key, :class => to
23
- end
24
- end
25
- end
26
- end