Class: Scan

Inherits:
Object
  • Object
show all
Defined in:
lib/scan.rb

Instance Method Summary collapse

Constructor Details

#initializeScan

初始化



8
9
10
11
12
# File 'lib/scan.rb', line 8

def initialize()
    @util = Util.instance
    @setup = Setup.instance
    @files = Array.new
end

Instance Method Details

#executeObject

执行



45
46
47
# File 'lib/scan.rb', line 45

def execute()
    fetch @setup.content_dir
end

#fetch(dir) ⇒ Object

获取文件



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/scan.rb', line 20

def fetch(dir)
    Dir::entries(dir).each do |filename|
        #忽略的文件
        next if @util.is_shadow_file?(filename)

        #检查是否配置文件中所忽略的文件
        #这里需要用相对路径
        next if @setup.is_user_ignore_file?(filename)

        file = File::join(dir, filename)
        #如果是文件夹类型, 则继承查找
        if(File.ftype(file) == 'directory')
            self.fetch file
            next
        end

        #如果文件扩展名是md, 则加入到files中
        if @util.is_markdown_file?(filename)
            current_dir = Pathname.new file
            @files.push current_dir.relative_path_from(@setup.content_dir)
        end
    end
end

#filesObject

返回已经获取的文件列表



15
16
17
# File 'lib/scan.rb', line 15

def files
    return @files
end