Class: BaseExecutor

Inherits:
Object
  • Object
show all
Extended by:
FormatHelpers
Defined in:
lib/veye/base_executor.rb

Overview

Base class that will bring many helpers into command classes.

Class Method Summary collapse

Methods included from FormatHelpers

format_exists?, formats_attached?, supported_format?

Class Method Details

.catch_request_error(response, msg) ⇒ Object

OBSOLETE: use valid_response?



26
27
28
# File 'lib/veye/base_executor.rb', line 26

def self.catch_request_error(response, msg)
  valid_response?(response, msg)
end

.filter_dependencies(results, options) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/veye/base_executor.rb', line 30

def self.filter_dependencies(results, options)

  if options[:all]
    results['dependencies'].to_a.sort_by {|x| x['outdated'] ? -1 : 0}
  else
    results['dependencies'].to_a.keep_if {|x| x['outdated']}
  end
end

.get_formatter(output_formats, options) ⇒ Object



72
73
74
75
76
77
# File 'lib/veye/base_executor.rb', line 72

def self.get_formatter(output_formats, options)
  format = options[:format]
  format ||= 'pretty'
  #return if format == 'json' #dependecy json format is handled by results formatter
  output_formats[format] if supported_format?(output_formats, format)
end

.show_bulk_dependencies(output_formats, results, options) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
# File 'lib/veye/base_executor.rb', line 50

def self.show_bulk_dependencies(output_formats, results, options)
  formatter = get_formatter(output_formats, options)
  return if formatter.nil?

  formatter.before
  results.each do |filename, deps|
    formatter.format filter_dependencies(deps, options), filename
  end

  formatter.after
end

.show_dependencies(output_formats, results, options) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/veye/base_executor.rb', line 39

def self.show_dependencies(output_formats, results, options)
  formatter = get_formatter(output_formats, options)
  return if formatter.nil?

  deps = filter_dependencies(results, options)     

  formatter.before
  formatter.format deps
  formatter.after
end

.show_message(results, success_msg, fail_msg) ⇒ Object



62
63
64
65
66
67
68
69
70
# File 'lib/veye/base_executor.rb', line 62

def self.show_message(results, success_msg, fail_msg)
  if results.success
    printf "#{success_msg}\n".color(:green)
  else
    printf("Error: %s\n%s\n",
           fail_msg.color(:red),
           response.data['error'])
  end
end

.show_results(output_formats, results, options = {}, paging = nil) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/veye/base_executor.rb', line 7

def self.show_results(output_formats, results, options = {}, paging = nil)
  formatter = get_formatter(output_formats, options)
  return if formatter.nil?

  formatter.before
  formatter.format(results)
  formatter.after(paging, options[:pagination])
end

.valid_response?(response, msg) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
22
23
# File 'lib/veye/base_executor.rb', line 16

def self.valid_response?(response, msg)
  if response.nil? || response.success != true
    printf "#{msg.to_s.color(:red)}: #{response.data}\n"
    return false
  end

  response.success
end