Sha256: d2577ceb558a58db736be83ac21f5416af472da204bd91140e39d14a77394383

Contents?: true

Size: 783 Bytes

Versions: 1

Compression:

Stored size: 783 Bytes

Contents

module Vedeu
  class ColourPair
    class << self
      def define(pair = [])
        return '' if pair.empty?

        new(pair).define
      end
      alias_method :set, :define

      def reset
        new.reset
      end
    end

    def initialize(pair = [])
      @pair = pair || []
    end

    def define
      [foreground, background].join
    end
    alias_method :set, :define

    def reset
      [foreground(:default), background(:default)].join
    end

    def foreground(value = pair[0])
      @foreground ||= Foreground.escape_sequence(value)
    end
    alias_method :fg, :foreground

    def background(value = pair[1])
      @background ||= Background.escape_sequence(value)
    end
    alias_method :bg, :background

    private

    attr_reader :pair
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.0.23 lib/vedeu/output/colour_pair.rb