class Fyodor::ClippingsParser

Constants

SEPARATOR

Public Class Methods

new(clippings_path, parser_config) click to toggle source
# File lib/fyodor/clippings_parser.rb, line 7
def initialize(clippings_path, parser_config)
  @path = clippings_path
  @config = parser_config
end

Public Instance Methods

parse(library) click to toggle source
# File lib/fyodor/clippings_parser.rb, line 12
def parse(library)
  lines = []
  File.open(@path).each do |line|
    lines << line
    if end_entry?(lines)
      library << parse_entry(lines)
      lines.clear
    end
  end
  raise "MyClippings is badly formatted" if lines.size > 0
end

Private Instance Methods

end_entry?(lines) click to toggle source
# File lib/fyodor/clippings_parser.rb, line 26
def end_entry?(lines)
  lines.last =~ SEPARATOR
end
parse_entry(lines) click to toggle source
# File lib/fyodor/clippings_parser.rb, line 30
def parse_entry(lines)
  EntryParser.new(lines, @config).entry
end