Class: Meta

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

Overview

Instance Method Summary collapse

Constructor Details

#initializeMeta

Returns a new instance of Meta.



7
8
9
# File 'lib/meta.rb', line 7

def initialize

end

Instance Method Details

#analysis(original) ⇒ Object

分析内容



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/meta.rb', line 33

def analysis(original)
    result = Hash.new

    pattern = /(\s+)?<!\-\-(.+?)\-\->(.+)?/m
    matches = pattern.match(original)

    #如果没有匹配到, 则body就是完整的original
    if matches == nil
        result['body'] = original
        return result
    end

    #获取body内容
    result['body'] = $3
    result['meta'] = self.analysis_meta $2
    result
end

#analysis_meta(original) ⇒ Object

分析meta的部分



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/meta.rb', line 12

def analysis_meta(original)
    return nil if not original

    result = Hash.new
    list = original.split(/[\r\n?]/)

    # 提取meta值
    list.each{ |line|
        next if line == ''
        next if (/^(\w+):(.+)/i =~ line) == nil

        key = $1.lstrip.rstrip
        value = $2.lstrip.rstrip

        result[key] = value
    }

    result
end