Module: Bidi2pdfRails

Defined in:
lib/bidi2pdf_rails.rb,
lib/bidi2pdf_rails/config.rb,
lib/bidi2pdf_rails/railtie.rb,
lib/bidi2pdf_rails/version.rb,
lib/bidi2pdf_rails/configurable.rb,
lib/bidi2pdf_rails/services/callbacks.rb,
lib/bidi2pdf_rails/main_log_subscriber.rb,
lib/bidi2pdf_rails/test_helpers/server.rb,
lib/bidi2pdf_rails/services/pdf_options.rb,
lib/bidi2pdf_rails/services/html_options.rb,
lib/bidi2pdf_rails/services/pdf_renderer.rb,
lib/bidi2pdf_rails/network_log_subscriber.rb,
lib/bidi2pdf_rails/services/html_renderer.rb,
lib/bidi2pdf_rails/services/pdf_injection.rb,
lib/bidi2pdf_rails/services/print_url_options.rb,
lib/bidi2pdf_rails/test_helpers/configuration.rb,
lib/bidi2pdf_rails/test_helpers/server_helper.rb,
lib/bidi2pdf_rails/services/asset_host_manager.rb,
lib/bidi2pdf_rails/test_helpers/request_helper.rb,
lib/bidi2pdf_rails/services/pdf_browser_session.rb,
lib/bidi2pdf_rails/test_helpers/settings_helper.rb,
lib/bidi2pdf_rails/services/url_to_pdf_converter.rb,
lib/bidi2pdf_rails/browser_console_log_subscriber.rb,
lib/bidi2pdf_rails/chromedriver_manager_singleton.rb,
lib/bidi2pdf_rails/services/html_to_pdf_converter.rb,
lib/bidi2pdf_rails/services/render_options_handler.rb,
lib/bidi2pdf_rails/test_helpers/environment_helper.rb,
lib/generators/bidi2pdf_rails/initializer_generator.rb,
lib/bidi2pdf_rails/services/importmap_tags_helper_override.rb,
lib/bidi2pdf_rails/services/render_options_handler_serializer.rb

Defined Under Namespace

Modules: ChromedriverManagerSingleton, Configurable, Services, TestHelpers Classes: BrowserConsoleLogSubscriber, Config, InitializerGenerator, MainLogSubscriber, NetworkLogSubscriber, Railtie

Constant Summary collapse

VERSION =
"0.1.4"

Class Method Summary collapse

Class Method Details

.apply_bidi2pdf_config(config = Config.instance) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/bidi2pdf_rails.rb', line 28

def apply_bidi2pdf_config(config = Config.instance)
  Bidi2pdf.configure do |bidi2pdf_config|
    bidi2pdf_config.notification_service = config.general_options.notification_service_value

    bidi2pdf_config.logger = config.general_options.logger_value&.tagged("bidi2pdf")
    bidi2pdf_config.logger.verbosity = config.general_options.verbosity_value
    bidi2pdf_config.default_timeout = config.general_options.default_timeout_value

    bidi2pdf_config.network_events_logger = Logger.new(nil)
    bidi2pdf_config.browser_console_logger = Logger.new(nil)

    bidi2pdf_config.enable_default_logging_subscriber = false
  end

  Chromedriver::Binary.configure do |chromedriver_config|
    chromedriver_config.logger = config.general_options.logger_value&.tagged("bidi2pdf")

    chromedriver_config.proxy_addr = config.proxy_settings.addr_value
    chromedriver_config.proxy_port = config.proxy_settings.port_value
    chromedriver_config.proxy_user = config.proxy_settings.user_value
    chromedriver_config.proxy_pass = config.proxy_settings.pass_value

    chromedriver_config.install_dir = config.chromedriver_settings.install_dir_value
  end
end

.configObject



15
16
17
# File 'lib/bidi2pdf_rails.rb', line 15

def config
  Config.instance
end

.configure {|config| ... } ⇒ Object

Allow configuration through a block

Yields:



20
21
22
23
24
25
26
# File 'lib/bidi2pdf_rails.rb', line 20

def configure
  yield config if block_given?

  config.validate_print_options!

  apply_bidi2pdf_config config
end

.loggerObject



62
63
64
# File 'lib/bidi2pdf_rails.rb', line 62

def logger
  config.general_options.logger_value&.tagged("bidi2pdf-rails")
end

.use_local_chromedriver?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/bidi2pdf_rails.rb', line 54

def use_local_chromedriver?
  !use_remote_browser?
end

.use_remote_browser?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/bidi2pdf_rails.rb', line 58

def use_remote_browser?
  config.render_remote_settings.browser_url_value.present?
end