Class: Veye::Project::DependencyCSV

Inherits:
BaseCSV
  • Object
show all
Defined in:
lib/veye/views/project/dependency_csv.rb

Instance Method Summary collapse

Methods inherited from BaseCSV

#after, #before

Constructor Details

#initializeDependencyCSV

Returns a new instance of DependencyCSV.



6
7
8
9
# File 'lib/veye/views/project/dependency_csv.rb', line 6

def initialize
  headings = "nr,name,prod_key,outdated,current,requested,stable,licenses,upgrade_cost"
  super(headings)
end

Instance Method Details

#format(results, filename = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/veye/views/project/dependency_csv.rb', line 11

def format(results, filename = nil)
  return nil if results.nil?
  results = [results] if results.is_a?(Hash)

  results.each_with_index do |result, index|
    if filename.nil?
      print_line(result, index + 1)
    else
      print_line_with_filename(result, index + 1, filename)
    end
  end
end


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/veye/views/project/dependency_csv.rb', line 24

def print_line(result, i)
  upgrade_cost = if result.has_key?(:upgrade)
                  "#{result[:upgrade][:difficulty]}(#{result[:upgrade][:dv_score]})"
                 else
                  nil
                 end
  printf(
    "%d,%s,%s,%s,%s,%s,%s,'%s','%s'\n",
     i,
     result['name'],
     result['prod_key'],
     result['outdated'],
     result['version_current'],
     result['version_requested'],
     result['stable'],
     result['licenses'].to_a.map {|x| x['name']}.join(';'),
     upgrade_cost
  )
end


44
45
46
47
48
49
50
51
52
53
54
# File 'lib/veye/views/project/dependency_csv.rb', line 44

def print_line_with_filename(result, i, filename)
  printf("%d,%s,%s,%s,%s,%s,%s,%s,%s\n",
         i, filename,
         result['name'],
         result['prod_key'],
         result['outdated'],
         result['version_current'],
         result['version_requested'],
         result['stable'],
         result['licenses'].to_a.map {|x| x['name']}.join(';'))
end