Class: Bookbinder::ArchiveMenuChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/bookbinder/configuration_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(file_system_accessor) ⇒ ArchiveMenuChecker

Returns a new instance of ArchiveMenuChecker.



20
21
22
# File 'lib/bookbinder/configuration_validator.rb', line 20

def initialize(file_system_accessor)
  @file_system_accessor = file_system_accessor
end

Instance Method Details

#check(config) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/bookbinder/configuration_validator.rb', line 24

def check(config)
  partial_location = './master_middleman/source/archive_menus/_default.erb'
  if config.has_key?("archive_menu") && config["archive_menu"].nil?
    ConfigurationValidator::ArchiveMenuNotDefinedError.new 'Did you mean to provide an archive menu value to display? If you use the archive_menu key, you must provide at least one value.'
  elsif archive_items(config).include?(nil)
    ConfigurationValidator::EmptyArchiveItemsError.new 'Did you forget to add a value to the archive_menu?'
  elsif config.has_key?("archive_menu") && !@file_system_accessor.file_exist?(partial_location)
    ConfigurationValidator::MissingArchiveMenuPartialError.new "You must provide a template partial named at #{partial_location}"
  end
end