class Help
attr_accessor :keyword, :text, :when
include CoralMUD::FileIO # for saving routines.
# lookup a help file currently loaded by a string.
# Also load from file if newer version exists.
def self.find arg
$help_list.each do |a_help|
if a_help.keyword.start_with?(arg.upcase)
if last_modified("data/help/#{a_help.keyword}.yml") > a_help.when
a_help.load_from_file("data/help/#{a_help.keyword}.yml") # load it again.
end
return a_help
end
end
return nil # nothing was found
end
# Properties to save/load.
def to_configure_properties
["@keyword", "@text"]
end
end
#save all help files
def save_helps
log :info, "Saving all help files."
$help_list.each do |a_help|
a_help.save_to_file("data/help/%s.yml" % a_help.keyword) # done and done.
end
end
# Loads all help files
def load_helps
log :debug, "Load_helps: getting all help files."
hfiles = File.join("data/help", "*.yml")
Dir.glob(hfiles).each do |a_file|
help = Help.new()
help.load_from_file(a_file) # loads each help file.
help.text.gsub!(/\n/, "\r\n")
$help_list << help
case help.keyword
when "GREETING"
$greeting = help.text
log :debug, "Greeting loaded."
when "MOTD"
$motd = help.text
log :debug, "MOTD loaded."
end
end
end