Sha256: 7f456683f1e1434494ba8af74620320a8b5758256d04b89de19437c57d1b0219

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

module Dorsale::LinkHelper
  def link_to_object(obj, options = {})
    return if obj.nil?

    if policy(obj).read?
      link_to(obj.to_s, engine_polymorphic_path(obj), options)
    else
      obj.to_s
    end
  end

  def icon_link_to(icon, name, options = nil, html_options = nil, &block)
    name = "#{icon(icon)} #{name}".html_safe
    link_to(name, options, html_options, &block)
  end

  def web_link(text, opts = {})
    return if text.to_s.blank?

    href = text
    href = "http://#{text}" unless text.include?("://")

    link_to(text, href, opts)
  end

  def email_link(text, opts = {})
    return if text.to_s.blank?

    href = "mailto:#{text}"

    link_to(text, href, opts)
  end

  def tel_link(text, opts = {})
    return if text.to_s.blank?

    value = text.gsub(" ", "")
    href  = "tel:#{value}"

    link_to(text, href, opts)
  end

  def twitter_link(text, opts = {})
    return if text.to_s.blank?

    href = text
    href = "https://twitter.com/#{text}" unless text.include?("twitter.com")
    href = "https://#{text}" unless href.include?("://")

    link_to(text, href, opts)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dorsale-3.4.0 app/helpers/dorsale/link_helper.rb