Module: ActionView::Helpers::TextHelper
- Defined in:
- lib/fat_free_crm/gem_ext/rails/text_helper.rb
Instance Method Summary collapse
-
#auto_link(text, *args, &block) ⇒ Object
Turns all URLs and e-mail addresses into clickable links.
Instance Method Details
#auto_link(text, *args, &block) ⇒ Object
Turns all URLs and e-mail addresses into clickable links. The :link
option will limit what should be linked. You can add HTML attributes to the links using :html
. Possible values for :link
are :all
(default), :email_addresses
, and :urls
. If a block is given, each URL and e-mail address is yielded and the result is used as the link text.
Examples
auto_link("Go to http://www.rubyonrails.org and say hello to [email protected]")
# => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
# say hello to <a href=\"mailto:[email protected]\">[email protected]</a>"
auto_link("Visit http://www.loudthinking.com/ or e-mail [email protected]", :link => :urls)
# => "Visit <a href=\"http://www.loudthinking.com/\">http://www.loudthinking.com/</a>
# or e-mail [email protected]"
auto_link("Visit http://www.loudthinking.com/ or e-mail [email protected]", :link => :email_addresses)
# => "Visit http://www.loudthinking.com/ or e-mail <a href=\"mailto:[email protected]\">[email protected]</a>"
post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at [email protected]."
auto_link(post_body, :html => { :target => '_blank' }) do |text|
truncate(text, 15)
end
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.m...</a>.
Please e-mail me at <a href=\"mailto:[email protected]\">[email protected]</a>."
You can still use auto_link
with the old API that accepts the link
as its optional second parameter and the html_options
hash as its optional third parameter:
post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at [email protected]."
auto_link(post_body, :urls) # => Once upon\na time
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\">http://www.myblog.com</a>.
Please e-mail me at [email protected]."
auto_link(post_body, :all, :target => "_blank") # => Once upon\na time
# => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.myblog.com</a>.
Please e-mail me at <a href=\"mailto:[email protected]\">[email protected]</a>."
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/fat_free_crm/gem_ext/rails/text_helper.rb', line 58 def auto_link(text, *args, &block)#link = :all, html = {}, &block) return '' if text.blank? = args.size == 2 ? {} : args. # this is necessary because the old auto_link API has a Hash as its last parameter unless args.empty? [:link] = args[0] || :all [:html] = args[1] || {} end .reverse_merge!(:link => :all, :html => {}) case [:link].to_sym when :all then auto_link_email_addresses(auto_link_urls(text, [:html], , &block), [:html], &block) when :email_addresses then auto_link_email_addresses(text, [:html], &block) when :urls then auto_link_urls(text, [:html], , &block) end end |