Sha256: dc5292dd9a12260fcec871843e750e99e5f152c66320476904e7545006b270bc

Contents?: true

Size: 709 Bytes

Versions: 126

Compression:

Stored size: 709 Bytes

Contents

# frozen_string_literal: true

class ReeText::StripLinks
  include Ree::FnDSL

  fn :strip_links do
    link 'ree_text/scrubbers/target_scrubber', -> { TargetScrubber }
  end

  DEFAULTS = {
    tags: Set.new(%w(a)),
    attributes: Set.new(%w(href))
  }.freeze

  doc(<<~DOC)
    Removes +a+ tags and +href+ attributes leaving only the link text.
    strip_links('<a href="example.com">Only the link text will be kept.</a>')
    #
    #  => 'Only the link text will be kept.'
  DOC
  
  contract(String => String)
  def call(html)
    link_scrubber = TargetScrubber.new(
      tags: DEFAULTS[:tags],
      attributes: DEFAULTS[:attributes]
    )

    Loofah.scrub_fragment(html, link_scrubber).to_s
  end
end

Version data entries

126 entries across 126 versions & 1 rubygems

Version Path
ree_lib-1.1.1 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.1.0 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_text/package/ree_text/functions/strip_links.rb