class EventDb::EventReader::CsvParser
Public Class Methods
new( text )
click to toggle source
# File lib/eventdb/reader.rb, line 70 def initialize( text ) @text = text end
parse( text )
click to toggle source
# File lib/eventdb/reader.rb, line 65 def self.parse( text ) new( text ).parse; end
Public Instance Methods
parse()
click to toggle source
# File lib/eventdb/reader.rb, line 74 def parse events = [] recs = CsvHash.parse( @text, :header_converters => :symbol ) ## note: ## support python's conferences.csv ## subject => name / title ## website_url => url / link recs.each do |rec| title = rec[:name] || rec[:title] || rec[:subject] link = rec[:url] || rec[:link] || rec[:website_url] place = rec[:location] || rec[:place] start_date = Date.strptime( rec[:start] || rec[:start_date], '%Y-%m-%d' ) end_date = Date.strptime( rec[:end] || rec[:end_date], '%Y-%m-%d' ) event = Event.new( title, link, place, start_date, end_date ) ## pp event events << event end events end