Conform to my unwritten, undocumented style rules.
[Akkordarbeit.git] / lib / akkordarbeit / parser.rb
blob549719e1f304d4809a233b41d12bdee264542d65
1 # vim: fileencoding=UTF-8 ft=ruby syn=ruby ts=2 sw=2 ai eol et si
3 # Copyright (c) 2009 Jörg W Mittag <mailto:JoergWMittag+Akkordarbeit@GoogleMail.Com>
4 # Copyright (c) 2009 Marc Rummel <mailto:Marc.Rummel+Akkordarbeit@GoogleMail.Com>
5 # This code is licensed under the terms of the MIT License (see LICENSE.rdoc)
7 libdir = File.expand_path(File.dirname __FILE__).gsub(/(.*lib).*?/, '\1')
8 $LOAD_PATH.unshift libdir unless $LOAD_PATH.include? libdir
10 module Akkordarbeit
11   class Parser
12     def parse(songstr)
13       chordpattern = /(\[.*?\])/
14       seperatorpattern = /\n\n+/
15       song = []
16       songstr.split(seperatorpattern).each do |sectionstr|
17         section = []
18         sectionstr.each_line do |line|
19           section << line.chomp.split(chordpattern).reject { |str| str.empty?  }
20         end
21         song << section
22       end
23       return song
24     end
25   end
26 end