Class: Scan

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

Instance Method Summary collapse

Constructor Details

#initializeScan

初始化



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

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

Instance Method Details

#executeObject

执行



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

def execute()
    fetch @setup.content_dir
end

#fetch(dir) ⇒ Object

获取文件



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

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

返回已经获取的文件列表



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

def files
    return @files
end