Class: Bidi2pdfRails::Services::PdfOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/bidi2pdf_rails/services/pdf_options.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename, pdf_options, controller, bidi2pdf_rails_config: Bidi2pdfRails.config) ⇒ PdfOptions

Returns a new instance of PdfOptions.



8
9
10
11
12
13
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 8

def initialize(filename, pdf_options, controller, bidi2pdf_rails_config: Bidi2pdfRails.config)
  @filename = filename
  @pdf_options = pdf_options
  @controller = controller
  @bidi2pdf_rails_config = bidi2pdf_rails_config
end

Instance Attribute Details

#bidi2pdf_rails_configObject (readonly)

Returns the value of attribute bidi2pdf_rails_config.



6
7
8
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 6

def bidi2pdf_rails_config
  @bidi2pdf_rails_config
end

#controllerObject (readonly)

Returns the value of attribute controller.



6
7
8
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 6

def controller
  @controller
end

#filenameObject (readonly)

Returns the value of attribute filename.



6
7
8
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 6

def filename
  @filename
end

#pdf_optionsObject (readonly)

Returns the value of attribute pdf_options.



6
7
8
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 6

def pdf_options
  @pdf_options
end

Instance Method Details

#asset_hostObject



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

def asset_host
  pdf_options.fetch(:asset_host, Bidi2pdfRails.config.pdf_settings.asset_host_value(controller))
end

#callbacksObject



51
52
53
54
55
56
57
58
59
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 51

def callbacks
  raw_callbacks = pdf_options.fetch(:callbacks, {})
  {
    before_navigate: wrap_callback(:before_navigate, raw_callbacks),
    after_navigate: wrap_callback(:after_navigate, raw_callbacks),
    after_wait_for_tab: wrap_callback(:after_wait_for_tab, raw_callbacks),
    after_print: wrap_callback(:after_print, raw_callbacks)
  }
end

#custom_cssObject



35
36
37
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 35

def custom_css
  pdf_options.fetch(:custom_css, bidi2pdf_rails_config.pdf_settings.custom_css_value(controller))
end

#custom_css_urlObject



39
40
41
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 39

def custom_css_url
  pdf_options.fetch(:custom_css_url, bidi2pdf_rails_config.pdf_settings.custom_css_url_value(controller))
end

#custom_jsObject



43
44
45
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 43

def custom_js
  pdf_options.fetch(:custom_js, bidi2pdf_rails_config.pdf_settings.custom_js_value(controller))
end

#custom_js_urlObject



47
48
49
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 47

def custom_js_url
  pdf_options.fetch(:custom_js_url, bidi2pdf_rails_config.pdf_settings.custom_js_url_value(controller))
end


31
32
33
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 31

def print_options
  bidi2pdf_rails_config.pdf_settings_for_bidi_cmd(pdf_options[:print_options] || {})
end

#wait_for_network_idleObject



19
20
21
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 19

def wait_for_network_idle
  pdf_options.fetch(:wait_for_network_idle, bidi2pdf_rails_config.general_options.wait_for_network_idle_value)
end

#wait_for_page_check_scriptObject



27
28
29
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 27

def wait_for_page_check_script
  pdf_options.fetch(:wait_for_page_check_script, bidi2pdf_rails_config.general_options.wait_for_page_check_script_value)
end

#wait_for_page_loadedObject



23
24
25
# File 'lib/bidi2pdf_rails/services/pdf_options.rb', line 23

def wait_for_page_loaded
  pdf_options.fetch(:wait_for_page_loaded, bidi2pdf_rails_config.general_options.wait_for_page_loaded_value)
end