Class: Lcms::Engine::DocumentGenerator
- Inherits:
-
Object
- Object
- Lcms::Engine::DocumentGenerator
- Defined in:
- app/services/lcms/engine/document_generator.rb
Constant Summary collapse
- CONTENT_TYPES =
%w(full tm sm).freeze
- DOCUMENT_GENERATORS =
{ gdoc: '::Lcms::Engine::DocumentGenerateGdocJob', pdf: '::Lcms::Engine::DocumentGeneratePdfJob' }.with_indifferent_access.freeze
- DOCUMENT_PARSE_JOB =
'::Lcms::Engine::DocumentParseJob'
- DOCUMENT_PRESENTER =
'::Lcms::Engine::DocumentPresenter'
- MATERIAL_GENERATORS =
{ gdoc: '::Lcms::Engine::MaterialGenerateGdocJob', pdf: '::Lcms::Engine::MaterialGeneratePdfJob' }.with_indifferent_access.freeze
- MATERIAL_PARSE_JOB =
'::Lcms::Engine::MaterialParseJob'
- MATERIAL_PRESENTER =
'::Lcms::Engine::MaterialPresenter'
Class Method Summary collapse
- .document_generators ⇒ Object
- .document_parse_job ⇒ Object
- .document_presenter ⇒ Object
- .generate_for(document) ⇒ Object
- .material_form ⇒ Object
- .material_generators ⇒ Object
- .material_parse_job ⇒ Object
- .material_presenter ⇒ Object
Class Method Details
.document_generators ⇒ Object
32 33 34 |
# File 'app/services/lcms/engine/document_generator.rb', line 32 def document_generators @document_generators ||= DOCUMENT_GENERATORS.slice(*DocTemplate.document_contexts).values end |
.document_parse_job ⇒ Object
36 37 38 39 40 41 42 |
# File 'app/services/lcms/engine/document_generator.rb', line 36 def document_parse_job @document_parse_job ||= begin klass = DocTemplate.config['document_parse_job'].presence || DOCUMENT_PARSE_JOB klass.constantize end end |
.document_presenter ⇒ Object
44 45 46 47 48 49 50 |
# File 'app/services/lcms/engine/document_generator.rb', line 44 def document_presenter @document_presenter ||= begin klass = DocTemplate.config['document_presenter'].presence || DOCUMENT_PRESENTER klass.constantize end end |
.generate_for(document) ⇒ Object
25 26 27 28 29 30 |
# File 'app/services/lcms/engine/document_generator.rb', line 25 def generate_for(document) return material_preview_job&.perform_later(document) if document.is_a?(Lcms::Engine::Material) reset_links document Lcms::Engine::DocumentGenerateJob.perform_later(document) end |
.material_form ⇒ Object
56 57 58 |
# File 'app/services/lcms/engine/document_generator.rb', line 56 def material_form @material_form ||= DocTemplate.config['material_form']&.constantize || ::Lcms::Engine::MaterialForm end |
.material_generators ⇒ Object
52 53 54 |
# File 'app/services/lcms/engine/document_generator.rb', line 52 def material_generators @material_generators ||= MATERIAL_GENERATORS.slice(*DocTemplate.material_contexts).values end |
.material_parse_job ⇒ Object
60 61 62 63 64 65 66 |
# File 'app/services/lcms/engine/document_generator.rb', line 60 def material_parse_job @material_parse_job ||= begin klass = DocTemplate.config['material_parse_job'].presence || MATERIAL_PARSE_JOB klass.constantize end end |
.material_presenter ⇒ Object
68 69 70 71 72 73 74 |
# File 'app/services/lcms/engine/document_generator.rb', line 68 def material_presenter @material_presenter ||= begin klass = DocTemplate.config['material_presenter'].presence || MATERIAL_PRESENTER klass.constantize end end |