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