class SuperDiff::Configuration
Attributes
extra_diff_formatter_classes[R]
extra_differ_classes[R]
extra_inspection_tree_builder_classes[R]
extra_operation_tree_builder_classes[R]
extra_operation_tree_classes[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/super_diff/configuration.rb, line 20 def initialize(options = {}) @actual_color = :yellow @border_color = :blue @color_enabled = color_enabled_by_default? @diff_elision_enabled = false @diff_elision_maximum = 0 @elision_marker_color = :cyan @expected_color = :magenta @extra_diff_formatter_classes = [].freeze @extra_differ_classes = [].freeze @extra_inspection_tree_builder_classes = [].freeze @extra_operation_tree_builder_classes = [].freeze @extra_operation_tree_classes = [].freeze @header_color = :white merge!(options) end
Public Instance Methods
add_extra_diff_formatter_classes(*classes)
click to toggle source
# File lib/super_diff/configuration.rb, line 76 def add_extra_diff_formatter_classes(*classes) @extra_diff_formatter_classes = (@extra_diff_formatter_classes + classes).freeze end
Also aliased as: add_extra_diff_formatter_class
add_extra_differ_classes(*classes)
click to toggle source
# File lib/super_diff/configuration.rb, line 85 def add_extra_differ_classes(*classes) @extra_differ_classes = (@extra_differ_classes + classes).freeze end
Also aliased as: add_extra_differ_class
add_extra_inspection_tree_builder_class(*classes)
Alias for: add_extra_inspection_tree_builder_classes
add_extra_inspection_tree_builder_classes(*classes)
click to toggle source
# File lib/super_diff/configuration.rb, line 90 def add_extra_inspection_tree_builder_classes(*classes) @extra_inspection_tree_builder_classes = (@extra_inspection_tree_builder_classes + classes).freeze end
Also aliased as: add_extra_inspection_tree_builder_class
add_extra_operation_tree_builder_class(*classes)
Alias for: add_extra_operation_tree_builder_classes
add_extra_operation_tree_builder_classes(*classes)
click to toggle source
# File lib/super_diff/configuration.rb, line 99 def add_extra_operation_tree_builder_classes(*classes) @extra_operation_tree_builder_classes = (@extra_operation_tree_builder_classes + classes).freeze end
Also aliased as: add_extra_operation_tree_builder_class
add_extra_operation_tree_classes(*classes)
click to toggle source
# File lib/super_diff/configuration.rb, line 108 def add_extra_operation_tree_classes(*classes) @extra_operation_tree_classes = (@extra_operation_tree_classes + classes).freeze end
Also aliased as: add_extra_operation_tree_class
color_enabled?()
click to toggle source
# File lib/super_diff/configuration.rb, line 49 def color_enabled? @color_enabled end
diff_elision_enabled?()
click to toggle source
# File lib/super_diff/configuration.rb, line 53 def diff_elision_enabled? @diff_elision_enabled end
initialize_dup(original)
click to toggle source
Calls superclass method
# File lib/super_diff/configuration.rb, line 38 def initialize_dup(original) super @extra_differ_classes = original.extra_differ_classes.dup.freeze @extra_operation_tree_builder_classes = original.extra_operation_tree_builder_classes.dup.freeze @extra_operation_tree_classes = original.extra_operation_tree_classes.dup.freeze @extra_inspection_tree_builder_classes = original.extra_inspection_tree_builder_classes.dup.freeze end
merge!(configuration_or_options)
click to toggle source
# File lib/super_diff/configuration.rb, line 57 def merge!(configuration_or_options) options = if configuration_or_options.is_a?(self.class) configuration_or_options.to_h else configuration_or_options end options.each do |key, value| instance_variable_set("@#{key}", value) end updated end
to_h()
click to toggle source
# File lib/super_diff/configuration.rb, line 117 def to_h { actual_color: actual_color, border_color: border_color, color_enabled: color_enabled?, diff_elision_enabled: diff_elision_enabled?, diff_elision_maximum: diff_elision_maximum, elision_marker_color: elision_marker_color, expected_color: expected_color, extra_diff_formatter_classes: extra_diff_formatter_classes.dup, extra_differ_classes: extra_differ_classes.dup, extra_inspection_tree_builder_classes: extra_inspection_tree_builder_classes.dup, extra_operation_tree_builder_classes: extra_operation_tree_builder_classes.dup, extra_operation_tree_classes: extra_operation_tree_classes.dup, header_color: header_color, } end
updated()
click to toggle source
# File lib/super_diff/configuration.rb, line 72 def updated SuperDiff::Csi.color_enabled = color_enabled? end
Private Instance Methods
color_enabled_by_default?()
click to toggle source
# File lib/super_diff/configuration.rb, line 139 def color_enabled_by_default? ENV["CI"] == "true" || $stdout.respond_to?(:tty?) && $stdout.tty? end