class EpubValidator::FormatMessage

Attributes

epub_version[R]
error_status[R]
message_list[R]

Public Class Methods

new(raw_message) click to toggle source
# File lib/epub_validator/format_message.rb, line 6
def initialize(raw_message)
  @message_list = raw_message.split(/\n/)

  @epub_version = extract_epub_version_message
  @error_status = get_error_status

  remove_uneeded_messages
end

Public Instance Methods

messages() click to toggle source
# File lib/epub_validator/format_message.rb, line 20
def messages
  message_list
end
valid?() click to toggle source
# File lib/epub_validator/format_message.rb, line 15
def valid?
  return true if error_status
  false
end

Private Instance Methods

extract_epub_version_message() click to toggle source
# File lib/epub_validator/format_message.rb, line 31
def extract_epub_version_message
  index = message_list.index { |msg| msg.match(/\AValidating against EPUB version (.+)\Z/) }
  message_list.delete_at(index) if index
  $1
end
get_error_status() click to toggle source
# File lib/epub_validator/format_message.rb, line 26
def get_error_status
  return true if message_list.delete('No errors or warnings detected.')
  false
end
remove_uneeded_messages() click to toggle source
# File lib/epub_validator/format_message.rb, line 37
def remove_uneeded_messages
  message_list.delete nil
  message_list.delete ''
  message_list.delete_if { |msg| msg.match(/\AEpubcheck Version.+\Z/) }
  message_list.delete_if { |msg| msg.match(/\ACheck finished.+\Z/) }
end