Method: VTools::SharedMethods::Common#generate_path

Defined in:
lib/vtools/shared_methods.rb

#generate_path(file_name, scope = "video") ⇒ Object

function to create correct subdirectories to the file



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'lib/vtools/shared_methods.rb', line 79

def generate_path file_name, scope = "video"
  generator = CONFIG[:"#{scope}_path_generator"]
  begin
    generator = instance_exec(file_name, &generator).to_s if generator.is_a? Proc
  rescue => e
    generator = nil
    raise ConfigError, "Path generator error: (#{e})"
  end

  storage = CONFIG[:"#{scope}_storage"].to_s
  storage += "/" unless storage.empty?
  storage += generator || ""

  path = (!storage || storage.empty? ? CONFIG[:PWD] : storage).to_s.strip.gsub(%r#/+#, '/').gsub(%r#/$#, '')

  # generate path
  begin
    FileUtils.mkdir_p path, :mode => 0755
  rescue => e
    raise FileError, "Path generator error: #{e}"
  end unless File.exists?(path)
  path
end