Class: Lt::Lcms::Metadata::Service

Inherits:
BaseService show all
Defined in:
lib/lt/lcms/metadata/service.rb

Class Method Summary collapse

Class Method Details

.agendaObject



9
10
11
# File 'lib/lt/lcms/metadata/service.rb', line 9

def agenda
  @agenda.data.presence || []
end

.foundational_metadataObject



13
14
15
# File 'lib/lt/lcms/metadata/service.rb', line 13

def 
  .data.presence || {}
end

.materials_metadataObject



17
18
19
# File 'lib/lt/lcms/metadata/service.rb', line 17

def 
  DocTemplate::Objects::
end

.options_for(context) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/lt/lcms/metadata/service.rb', line 21

def options_for(context)
  super.merge(
    if material?
      {
        metadata: DocTemplate::Objects::.build_from(.data),
        material: true
      }
    else
      {
        foundational_metadata: DocTemplate::Objects::.build_from(.data),
        metadata: DocTemplate::Objects::.build_from(.data),
        parts: @target_table.try(:parts)
      }
    end
  )
end

.parse(content, *args) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/lt/lcms/metadata/service.rb', line 38

def parse(content, *args)
  super
  if material?
     = DocTemplate::Tables::.parse content
    raise ::MaterialError, 'No metadata present' if !&.table_exist? || &.data&.empty?
  else
     = DocTemplate::Tables::.parse content
    raise ::DocumentError, 'No metadata present' unless &.table_exist?

    @agenda = DocTemplate::Tables::Agenda.parse content
     = DocTemplate::Tables::Section.parse content,
                                                           force_inject_section: force_inject_section?
     = DocTemplate::Tables::Activity.parse content, template_type: template_type
    @target_table = DocTemplate::Tables::Target.parse(content) if target_table?

     = if foundational?
                               
                             else
                               DocTemplate::Tables::.parse content
                             end
  end

  self
end