Sha256: e92940c2d59d286b743e10c7234c2d44887762436acd7f890c8913cc4ac977b7
Contents?: true
Size: 1.01 KB
Versions: 45
Compression:
Stored size: 1.01 KB
Contents
module Pageflow module SocialShareLinksHelper include SocialShareHelper PROVIDER_URL_TEMPLATES = { facebook: 'http://www.facebook.com/sharer/sharer.php?u=%{url}', google: 'https://plus.google.com/share?url=%{url}', twitter: 'http://twitter.com/home?status=%{url}' }.freeze def social_share_link(provider, entry, &block) block ||= ->() {} page_share_link_url = social_share_link_url(provider, social_share_page_url(entry, 'permaId')) data_attributes = entry.share_url.present? ? {} : {share_page: page_share_link_url} link_to(social_share_link_url(provider, social_share_entry_url(entry)), target: '_blank', tabindex: '2', class: ['share', provider], data: data_attributes, &block) end private def social_share_link_url(provider, url) return nil if url.blank? encoded_url = ERB::Util.url_encode(url) PROVIDER_URL_TEMPLATES[provider] % {url: encoded_url} end end end
Version data entries
45 entries across 45 versions & 1 rubygems