Sha256: 3e3aa0aec4422e3c81fda14e7a2375dfa2697696e67bddd5dd47c8d9e8f0458e
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
# A representation of Ferver's file list # module Ferver class FileList # List of files attr_reader :files # create a new instance with a path # def initialize(path) raise ArgumentError, "No path is specified" if path.empty? @file_path = File.expand_path(path) find_files end # Return an absolute path to a `file_name` in the `directory` # def self.path_for_file(directory, file_name) File.join(directory, file_name) end # Is the file id a valid id for Ferver to serve # def file_id_is_valid?(file_id) file_id < @files.size end # Filename by its index # def file_by_id(id) @files.fetch(id) end # Number of files in list # def file_count @files.size end private # Iterate through files in specified dir for files # def find_files @files = [] Dir.foreach(@file_path) do |file| next if file == '.' or file == '..' file_path = FileList.path_for_file(@file_path, file) @files << file if File.file?(file_path) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ferver-1.0.0 | lib/ferver/file_list.rb |