Sha256: 1e1ae434d35857a0e4e1bca61dc4b707ae63eb51ea5c29f942bd7c4aeb1a9b2f
Contents?: true
Size: 1 KB
Versions: 25
Compression:
Stored size: 1 KB
Contents
module Sprout module Executable ## # Concrete param object for :file values # # This class is actually referenced in Excecutables with: # # add_param :some_name, File # # @see Sprout::Executable::ParameterFactory # class FileParam < Param def initialize super @option_parser_type_name = 'FILE' end def shell_value clean_path value end def prepare_prerequisites if file_task_name self.value ||= belongs_to.rake_task_name return end if prerequisite?(value) file value belongs_to.prerequisites << value end end def validate super if(!file_task_name && !value.nil? && !File.exists?(value)) raise Sprout::Errors::InvalidArgumentError.new "No such file or directory - #{value}" end end private def prerequisite?(file) file && !file_is_output?(file) end end end end
Version data entries
25 entries across 25 versions & 1 rubygems