Sha256: a6c0581c31aaa8bed169387cdc71a413942fc7487a63bc461131ec32ec99da88
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
module SocialShareRails module SocialShareHelper def social_share(title = "", opts = {}) opts[:allow_sites] ||= %w[twitter facebook google_bookmark pinterest email linkedin vkontakte reddit telegram whatsapp_app whatsapp_web] is_rounded = opts.delete(:rounded) || false html = [] html << "<div class='social-share' data-title='#{ERB::Util.html_escape(title)}' data-img='#{opts[:image]}'" html << "data-url='#{opts[:url]}' data-desc='#{opts[:desc]}'>" opts[:allow_sites].each do |name| special_data = opts.select { |k, _| k.to_s.start_with?("data-" + name) } # Generate CSS class based on rounded option css_class = "share-icon share-#{name}" css_class += " rounded-#{name}" if is_rounded link_title = I18n.t("social_share.share_to", name: I18n.t("social_share.#{name.downcase}")) html << link_to("", "#", { rel: ["nofollow", opts[:rel]], "data-site": name, class: css_class, onclick: "return SocialShare.share(this);", title: ERB::Util.html_escape(link_title) }.merge(special_data)) end html << "</div>" raw html.join("\n") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
social_share_rails-0.1.0 | lib/social_share_rails/social_share_helper.rb |