Class: VirtualFunction

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

Instance Method Summary collapse

Constructor Details

#initialize(function, file, lines) ⇒ VirtualFunction

Returns a new instance of VirtualFunction.



2
3
4
5
6
7
8
# File 'lib/virtual_function.rb', line 2

def initialize(function, file, lines)
  @name = function[:name]
  @file = file
  @start = function[:start]
  @end = function[:end]
  @lines = lines[(@start - 1)..@end]
end

Instance Method Details

#as_jsonObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/virtual_function.rb', line 10

def as_json()
  commits = {}
  issues = {}
  errors = {}
  bugs = {}
  score = 0

  @lines.each do |line|
    commits[line[:commit]] = true
    line[:revisions].each { |revision| commits[revision[:commit]] = true }
    line[:issues].each { |issue| issues[issue] = true }
    line[:errors].each { |error| errors[error] = true }
    line[:bugs].each { |bug| bugs[bug] = true }
    score += Line.score(line)
  end

  {
    name: @name,
    file: @file,
    start: @start,
    end: @end,
    bugs: bugs.keys,
    commits: commits.keys,
    issues: issues.keys,
    errors: errors.keys,
    score: score
  }
end