Skip to content

Instantly share code, notes, and snippets.

@bdotdub
Created October 21, 2010 01:46
Show Gist options
  • Save bdotdub/637765 to your computer and use it in GitHub Desktop.
Save bdotdub/637765 to your computer and use it in GitHub Desktop.
input = `cat event.ics`
inside_event = false
current_key = nil
vevents = []
vevent = nil
input.split("\n").each do |line|
if line =~ /^BEGIN:VEVENT/
inside_event = true
vevent = {}
elsif line =~ /^END:VEVENT/
inside_event = false
vevents << vevent
elsif inside_event
if line =~ /[A-Z]:/
tokens = line.split(":")
current_key = tokens.shift
vevent[current_key] = tokens.join(":")
else
vevent[current_key] << line
end
end
end
puts vevents.inspect
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment