class Puree::XMLExtractor::Event

Event XML extractor.

Public Class Methods

new(xml) click to toggle source
Calls superclass method Puree::XMLExtractor::Resource::new
# File lib/puree/xml_extractor/event.rb, line 11
def initialize(xml)
  super
  setup_model :event
end

Public Instance Methods

city() click to toggle source

@return [String, nil]

# File lib/puree/xml_extractor/event.rb, line 17
def city
  xpath_query_for_single_value '/city'
end
date() click to toggle source

@return [Puree::Model::TemporalRange, nil]

# File lib/puree/xml_extractor/event.rb, line 22
def date
  xpath_result = xpath_query '/period'
  range_start_str = xpath_result.xpath('startDate').text.strip
  range_end_str = xpath_result.xpath('endDate').text.strip
  if !range_start_str.empty?
    range = Puree::Model::TemporalRange.new
    range.start = Time.parse range_start_str
    if !range_end_str.empty?
      range.end = Time.parse range_end_str
    end
    range
  end
end
description() click to toggle source

@return [String, nil]

# File lib/puree/xml_extractor/event.rb, line 37
def description
  xpath_query_for_single_value '/description'
end

Private Instance Methods

combine_metadata() click to toggle source
# File lib/puree/xml_extractor/event.rb, line 47
def combine_metadata
  super
  @model.city = city
  @model.date = date
  @model.title = title
  @model.type = type
  @model
end
xpath_root() click to toggle source
# File lib/puree/xml_extractor/event.rb, line 43
def xpath_root
  '/event'
end