Class: Roger::Release::Processors::UrlRelativizer

Inherits:
Base
  • Object
show all
Defined in:
lib/roger/release/processors/url_relativizer.rb

Overview

URL relativizer processor The relativizer can be used to rewrite absolute paths in attributes to relative paths during release.

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ UrlRelativizer

Returns a new instance of UrlRelativizer.



9
10
11
12
13
14
15
16
17
# File 'lib/roger/release/processors/url_relativizer.rb', line 9

def initialize(options = {})
  @options = {
    url_attributes: %w(src href action),
    match: ["**/*.html"],
    skip: []
  }

  @options.update(options) if options
end

Instance Method Details

#call(release, options = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/roger/release/processors/url_relativizer.rb', line 19

def call(release, options = {})
  options = {}.update(@options).update(options)

  log_call(release, options)

  @resolver = Roger::Resolver.new(release.build_path)

  relativize_attributes_in_files(
    release,
    options[:url_attributes],
    release.get_files(options[:match], options[:skip])
  )
end