Module: Kward::DiffViewMode
- Defined in:
- lib/kward/diff_view_mode.rb
Overview
Normalizes and resolves the integrated diff viewer display mode.
Constant Summary collapse
- AUTO =
"auto"- UNIFIED =
"unified"- SIDE_BY_SIDE =
"side_by_side"- MODES =
[AUTO, UNIFIED, SIDE_BY_SIDE].freeze
- SIDE_BY_SIDE_MIN_WIDTH =
120
Class Method Summary collapse
Class Method Details
.label(value) ⇒ Object
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/kward/diff_view_mode.rb', line 18 def label(value) case normalize(value) when SIDE_BY_SIDE "side-by-side" when UNIFIED "unified" else "auto" end end |
.normalize(value) ⇒ Object
13 14 15 16 |
# File 'lib/kward/diff_view_mode.rb', line 13 def normalize(value) text = value.to_s.downcase.tr("-", "_") MODES.include?(text) ? text : AUTO end |
.resolve(value, terminal_width: nil) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/kward/diff_view_mode.rb', line 29 def resolve(value, terminal_width: nil) mode = normalize(value) return mode unless mode == AUTO terminal_width.to_i >= SIDE_BY_SIDE_MIN_WIDTH ? SIDE_BY_SIDE : UNIFIED end |