Module: EACBaseMap

Included in:
EACConverter
Defined in:
backend/app/converters/lib/eac_base_map.rb

Instance Method Summary (collapse)

Instance Method Details

- (Object) EAC_BASE_MAP



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'backend/app/converters/lib/eac_base_map.rb', line 3

def EAC_BASE_MAP
  {

    # AGENT PERSON
    "//cpfDescription[child::identity/child::entityType='person']" => {
      :obj => :agent_person,

      :map => {
        # NAMES (PERSON)
        "descendant::nameEntry" => {
          :obj => :name_person,
          :rel => :names,
          :map => {
            "descendant::part" => Proc.new {|name, node|
              val = node.inner_text
              name[:primary_name] = val
              name[:dates] = val.scan(/[0-9]{4}-[0-9]{4}/).flatten[0]
            },
          },
          :defaults => {
            :source => 'local',
            :rules => 'local',
            :primary_name => 'primary name',
            :name_order => 'direct',
          }
        },
        "descendant::biogHist" => {
          :obj => :note_bioghist,
          :rel => :notes,
          :map => {
            "self::biogHist" => Proc.new {|note, node|
              note['subnotes'] << {
                'jsonmodel_type' => 'note_text',
                'content' => node.inner_text
              }
            }
          },
          :defaults => {
            :label => 'default label'
          }
        }
      }
    }

  }
end