Class: Styles::SubEngines::Color
- Defined in:
- lib/styles/sub_engines/color.rb
Defined Under Namespace
Modules: PropertyMixin
Instance Method Summary collapse
Instance Method Details
#process(line) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/styles/sub_engines/color.rb', line 5 def process(line) color_sub_engine_properties = extract_sub_engine_properties line.applicable_properties line_properties, match_properties = color_sub_engine_properties.partition do |p| property_type(p) == :line end line_colors = get_line_colors(line_properties) colored_line = line.to_s.chomp match_properties.each do |prop| next unless prop.valid_value? if prop.selector.is_a? String colored_line = apply_string_match_property(prop, line_colors, colored_line) elsif prop.selector.is_a? Regexp colored_line = apply_regex_match_property(prop, line_colors, colored_line) end end line.text = line_colors.any? ? "#{colors[line_colors]}#{colored_line}#{colors[:reset]}" : colored_line line end |