Mercurial > hg > soundsoftware-site
comparison lib/redmine/wiki_formatting.rb @ 1517:dffacf8a6908 redmine-2.5
Update to Redmine SVN revision 13367 on 2.5-stable branch
author | Chris Cannam |
---|---|
date | Tue, 09 Sep 2014 09:29:00 +0100 |
parents | e248c7af89ec |
children |
comparison
equal
deleted
inserted
replaced
1516:b450a9d58aed | 1517:dffacf8a6908 |
---|---|
26 class << self | 26 class << self |
27 def map | 27 def map |
28 yield self | 28 yield self |
29 end | 29 end |
30 | 30 |
31 def register(name, formatter, helper) | 31 def register(name, formatter, helper, options={}) |
32 raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name.to_s] | 32 name = name.to_s |
33 @@formatters[name.to_s] = {:formatter => formatter, :helper => helper} | 33 raise ArgumentError, "format name '#{name}' is already taken" if @@formatters[name] |
34 @@formatters[name] = { | |
35 :formatter => formatter, | |
36 :helper => helper, | |
37 :label => options[:label] || name.humanize | |
38 } | |
34 end | 39 end |
35 | 40 |
36 def formatter | 41 def formatter |
37 formatter_for(Setting.text_formatting) | 42 formatter_for(Setting.text_formatting) |
38 end | 43 end |
47 (entry && entry[:helper]) || Redmine::WikiFormatting::NullFormatter::Helper | 52 (entry && entry[:helper]) || Redmine::WikiFormatting::NullFormatter::Helper |
48 end | 53 end |
49 | 54 |
50 def format_names | 55 def format_names |
51 @@formatters.keys.map | 56 @@formatters.keys.map |
57 end | |
58 | |
59 def formats_for_select | |
60 @@formatters.map {|name, options| [options[:label], name]} | |
52 end | 61 end |
53 | 62 |
54 def to_html(format, text, options = {}) | 63 def to_html(format, text, options = {}) |
55 text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute]) | 64 text = if Setting.cache_formatted_text? && text.size > 2.kilobyte && cache_store && cache_key = cache_key_for(format, text, options[:object], options[:attribute]) |
56 # Text retrieved from the cache store may be frozen | 65 # Text retrieved from the cache store may be frozen |