Class: MinitestBender::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/minitest-bender/configuration.rb

Constant Summary collapse

DEFAULT_CONFIG =
{
  mode: :oblivious,
  recorder: :progress,
  sections: [:overview, :time_ranking, :issues, :activity, :suite_status],
  sections_blacklist: [],
  overview_sort_key: :name,
  time_ranking_size: 5,
  backtrace_view: :user,
  rerun_command_stem: defined?(Rake) ? 'rake' : 'ruby',
  custom_colors: {}
}.freeze

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



15
16
17
18
# File 'lib/minitest-bender/configuration.rb', line 15

def initialize
  @client_config = {}
  @options_config = {}
end

Instance Method Details

#add_client_config(config) ⇒ Object



20
21
22
23
# File 'lib/minitest-bender/configuration.rb', line 20

def add_client_config(config)
  validate_config(config)
  client_config.merge!(config)
end

#backtrace_viewObject



82
83
84
# File 'lib/minitest-bender/configuration.rb', line 82

def backtrace_view
  final_config.fetch(:backtrace_view)
end

#backtrace_view=(backtrace_view) ⇒ Object



49
50
51
# File 'lib/minitest-bender/configuration.rb', line 49

def backtrace_view=(backtrace_view)
  options_config[:backtrace_view] = backtrace_view
end

#cooperative?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/minitest-bender/configuration.rb', line 62

def cooperative?
  final_config.fetch(:mode) == :cooperative
end

#custom_colorsObject



90
91
92
# File 'lib/minitest-bender/configuration.rb', line 90

def custom_colors
  final_config.fetch(:custom_colors)
end

#mode=(mode) ⇒ Object



25
26
27
# File 'lib/minitest-bender/configuration.rb', line 25

def mode=(mode)
  options_config[:mode] = mode
end

#overview_sort_keyObject



74
75
76
# File 'lib/minitest-bender/configuration.rb', line 74

def overview_sort_key
  final_config.fetch(:overview_sort_key)
end

#overview_sort_key=(overview_sort_key) ⇒ Object



41
42
43
# File 'lib/minitest-bender/configuration.rb', line 41

def overview_sort_key=(overview_sort_key)
  options_config[:overview_sort_key] = overview_sort_key
end

#recorderObject



66
67
68
# File 'lib/minitest-bender/configuration.rb', line 66

def recorder
  final_config.fetch(:recorder)
end

#recorder=(recorder) ⇒ Object



29
30
31
# File 'lib/minitest-bender/configuration.rb', line 29

def recorder=(recorder)
  options_config[:recorder] = recorder
end

#rerun_command_stemObject



86
87
88
# File 'lib/minitest-bender/configuration.rb', line 86

def rerun_command_stem
  final_config.fetch(:rerun_command_stem)
end

#rerun_command_stem=(rerun_command_stem) ⇒ Object



53
54
55
# File 'lib/minitest-bender/configuration.rb', line 53

def rerun_command_stem=(rerun_command_stem)
  options_config[:rerun_command_stem] = rerun_command_stem
end

#sectionsObject



70
71
72
# File 'lib/minitest-bender/configuration.rb', line 70

def sections
  sections_whitelist - sections_blacklist
end

#sections=(sections) ⇒ Object



33
34
35
# File 'lib/minitest-bender/configuration.rb', line 33

def sections=(sections)
  options_config[:sections] = sections
end

#sections_blacklist=(sections_blacklist) ⇒ Object



37
38
39
# File 'lib/minitest-bender/configuration.rb', line 37

def sections_blacklist=(sections_blacklist)
  options_config[:sections_blacklist] = sections_blacklist
end

#set_custom_color(color_key, color) ⇒ Object



57
58
59
60
# File 'lib/minitest-bender/configuration.rb', line 57

def set_custom_color(color_key, color)
  options_config[:custom_colors] ||= {}
  options_config[:custom_colors][color_key] = color
end

#time_ranking_sizeObject



78
79
80
# File 'lib/minitest-bender/configuration.rb', line 78

def time_ranking_size
  final_config.fetch(:time_ranking_size)
end

#time_ranking_size=(time_ranking_size) ⇒ Object



45
46
47
# File 'lib/minitest-bender/configuration.rb', line 45

def time_ranking_size=(time_ranking_size)
  options_config[:time_ranking_size] = time_ranking_size
end