class OptParseValidator::OptFilePath
Implementation of the FilePath Option
Public Class Methods
Source
# File lib/opt_parse_validator/opts/file_path.rb, line 9 def initialize(option, attrs = {}) super @attrs.merge!(file: true) end
@param [ Array ] option See OptBase#new @param [ Hash ] attrs See OptPath#new :extensions [ Array | String ] The allowed extension(s)
Calls superclass method
Public Instance Methods
Source
# File lib/opt_parse_validator/opts/file_path.rb, line 23 def allowed_attrs # :extensions is put at the first place [:extensions] + super end
Calls superclass method
Source
# File lib/opt_parse_validator/opts/file_path.rb, line 16 def check_create(path) return if File.exist?(path.to_s) FileUtils.mkdir_p(path.parent.to_s) FileUtils.touch(path.to_s) end
@param [ Pathname ] path
Source
# File lib/opt_parse_validator/opts/file_path.rb, line 28 def check_extensions(path) return if Array(attrs[:extensions]).include?(path.extname.delete('.')) raise Error, "The extension of '#{path}' is not allowed" end