Class: Perron::HtmlProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/perron/html_processor.rb,
lib/perron/html_processor/base.rb,
lib/perron/html_processor/target_blank.rb,
lib/perron/html_processor/absolute_urls.rb,
lib/perron/html_processor/lazy_load_images.rb

Defined Under Namespace

Classes: AbsoluteUrls, Base, LazyLoadImages, TargetBlank

Instance Method Summary collapse

Constructor Details

#initialize(html, processors: [], resource: nil) ⇒ HtmlProcessor

Returns a new instance of HtmlProcessor.



9
10
11
12
13
# File 'lib/perron/html_processor.rb', line 9

def initialize(html, processors: [], resource: nil)
  @html = html
  @resource = resource
  @processors = processors.map { find_by(it) }
end

Instance Method Details

#processObject



15
16
17
18
19
# File 'lib/perron/html_processor.rb', line 15

def process
  Nokogiri::HTML::DocumentFragment.parse(@html).tap do |document|
    @processors.each { it.new(document, resource: @resource).process }
  end.to_html
end