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