Module: Gotenberg::Rails

Defined in:
lib/gotenberg/rails.rb,
lib/gotenberg/rails/error.rb,
lib/gotenberg/rails/client.rb,
lib/gotenberg/rails/railtie.rb,
lib/gotenberg/rails/version.rb,
lib/gotenberg/rails/renderer.rb,
lib/gotenberg/rails/configuration.rb,
lib/gotenberg/rails/html_preprocessor.rb

Defined Under Namespace

Modules: Renderer Classes: Client, Configuration, ConversionError, Error, HtmlPreprocessor, Railtie

Constant Summary collapse

VERSION =
"0.1.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject



26
27
28
29
30
31
32
33
# File 'lib/gotenberg/rails.rb', line 26

def client
  @client ||= Client.new(
    endpoint: configuration.endpoint,
    open_timeout: configuration.open_timeout,
    request_timeout: configuration.request_timeout,
    headers: configuration.headers
  )
end

.configurationObject



18
19
20
# File 'lib/gotenberg/rails.rb', line 18

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



22
23
24
# File 'lib/gotenberg/rails.rb', line 22

def configure
  yield configuration
end

.render_pdf(html: nil, url: nil, display_url: nil, pdf_options: {}, **options) ⇒ Object



35
36
37
38
39
40
# File 'lib/gotenberg/rails.rb', line 35

def render_pdf(html: nil, url: nil, display_url: nil, pdf_options: {}, **options)
  merged_options = configuration.pdf_options.merge(pdf_options || {})
  html = HtmlPreprocessor.new(html, display_url:).call if html

  client.render_pdf(html:, url:, pdf_options: merged_options, **options)
end

.reset_configuration!Object



42
43
44
45
# File 'lib/gotenberg/rails.rb', line 42

def reset_configuration!
  @configuration = Configuration.new
  @client = nil
end