class SycLink::FileImporter

Public Instance Methods

read() click to toggle source
# File lib/syclink/file_importer.rb, line 5
def read
  root_dir = File.dirname(path).scan(/^[^\*|\?]*/).first
  regex = Regexp.new("(?<=#{root_dir}).*")
  Dir.glob(path).map do |file|
    next if File.directory? file
    url, name = if File.extname(file).upcase == ".URL"
                  begin
                    [File.read(file).scan(/(?<=\nURL=)(.*)$/)
                                    .flatten.first.chomp,
                     url_name(File.basename(file, ".*"))]
                  rescue
                    [file, File.basename(file)]
                  end
                else
                  [file, File.basename(file)]
                end
    description = ""
    tags = extract_tags(File.dirname(file).scan(regex))
    [url, name, description, tags]
  end.compact
end