class PseudoHiki::AutoLink::WikiName
Public Class Methods
default_options()
click to toggle source
# File lib/pseudohiki/autolink.rb, line 18 def self.default_options @default_options end
new(options={})
click to toggle source
# File lib/pseudohiki/autolink.rb, line 22 def initialize(options={}) @options = WikiName.default_options.dup.merge!(options) @auto_linker = @options[:url] ? URL : Off end
Public Instance Methods
add_tag(url)
click to toggle source
# File lib/pseudohiki/autolink.rb, line 39 def add_tag(url) if escaped_wiki_name?(url) url[1..-1] elsif url.start_with?(ESCAPE_CHAR) "^[[#{url[1..-1]}]]" else "[[#{url}]]" end end
auto_link_url?()
click to toggle source
# File lib/pseudohiki/autolink.rb, line 27 def auto_link_url? @options[:url] end
escaped_wiki_name?(wiki_name)
click to toggle source
# File lib/pseudohiki/autolink.rb, line 31 def escaped_wiki_name?(wiki_name) @options[:escape_wiki_name] and wiki_name.start_with?(ESCAPE_CHAR) end
in_link_tag?(preceding_str)
click to toggle source
# File lib/pseudohiki/autolink.rb, line 35 def in_link_tag?(preceding_str) URL.in_link_tag?(preceding_str) end
link(line)
click to toggle source
# File lib/pseudohiki/autolink.rb, line 54 def link(line) line = @auto_linker.link(line) @options[:wiki_name] ? link_wiki_name(line) : line end
link_wiki_name(line)
click to toggle source
# File lib/pseudohiki/autolink.rb, line 49 def link_wiki_name(line) return line if not WIKI_NAME_RE.match? line or VERBATIM_LEAF_HEAD_RE.match? line line.gsub(WIKI_NAME_RE) {|url| in_link_tag?($`) ? url : add_tag(url) } end