class Klipbook::Sources::KindleDevice::FileParser
Public Class Methods
new(entry_parser=EntryParser.new)
click to toggle source
# File lib/klipbook/sources/kindle_device/file_parser.rb, line 7 def initialize(entry_parser=EntryParser.new) @entry_parser = entry_parser end
Public Instance Methods
extract_entries(file_text)
click to toggle source
# File lib/klipbook/sources/kindle_device/file_parser.rb, line 11 def extract_entries(file_text) entries_text = split_into_raw_entries_text(file_text) build_entries(entries_text) end
Private Instance Methods
build_entries(entries_text)
click to toggle source
# File lib/klipbook/sources/kindle_device/file_parser.rb, line 19 def build_entries(entries_text) entries_text.map do |entry_text| @entry_parser.build_entry(entry_text) end.compact end
split_into_raw_entries_text(file_text)
click to toggle source
# File lib/klipbook/sources/kindle_device/file_parser.rb, line 29 def split_into_raw_entries_text(file_text) strip_control_characters(file_text).split('==========') end
strip_control_characters(file_text)
click to toggle source
# File lib/klipbook/sources/kindle_device/file_parser.rb, line 25 def strip_control_characters(file_text) file_text.gsub("\r", '').gsub("\xef\xbb\xbf", '') end