Module: SceneToolkit::Release::Validations::Files

Included in:
SceneToolkit::Release
Defined in:
lib/scene_toolkit/release/validations/files.rb

Constant Summary collapse

REQUIRED_FILES_EXT =
[:sfv, :nfo, :m3u]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
# File 'lib/scene_toolkit/release/validations/files.rb', line 7

def self.included(base)
  base.register_validation(:files, "Validate inclusion of required files")
end

Instance Method Details

#valid_files?(params = {}) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/scene_toolkit/release/validations/files.rb', line 11

def valid_files?(params = {})
  REQUIRED_FILES_EXT.each do |ext|
    if params["repository"] and not File.exists?(File.join(self.path, self.heuristic_filename(ext)))
      recover_file!(self.heuristic_filename(ext), params["repository"])
    end

    required_files = send("#{ext}_files")

    file_not_found!(self.heuristic_filename(ext)) if required_files.none?

    @warnings << "Multiple *.#{ext} files found." if required_files.size > 1
  end
  @errors.none?
end