lib/jsus/source_file.rb in jsus-0.1.22 vs lib/jsus/source_file.rb in jsus-0.2.0

- old
+ new

@@ -3,10 +3,12 @@ # # It contains basic info about source as well as file content. # # module Jsus + class BadSourceFileException < Exception; end + class SourceFile attr_accessor :relative_filename, :filename, :package # :nodoc: # Constructors # Basic constructor. @@ -43,15 +45,19 @@ options[:relative_filename] = filename options[:filename] = File.expand_path(filename) options[:content] = source new(options) else -# puts "WARNING: file #{filename} has invalid format (should be YAML)" - nil + raise BadSourceFileException, "#{filename} is missing a header or header is invalid" end else -# puts "WARNING: file #{filename} does not exist" - nil + raise BadSourceFileException, "Referenced #{filename} does not exist. #{options[:package] ? "Referenced from package #{options[:package].name}" : ""}" + end + rescue Exception => e + if !e.kind_of?(BadSourceFileException) # if we didn't raise the error; like in YAML, for example + raise "Exception #{e.inspect} happened on #{filename}. Please take appropriate measures" + else # if we did it, just reraise + raise e end end # Public API \ No newline at end of file