Sha256: f1787d19de74fe7266d38fc397f8385ff2ea2cb3a869fc834da31778f04c187c

Contents?: true

Size: 624 Bytes

Versions: 3

Compression:

Stored size: 624 Bytes

Contents

require 'colorate/version'
require 'colorate/constants'

module Colorate
  def self.method_missing(method, *args, &block)
    raise ArgumentError, 'Color not supported' unless COLORS.keys.include?(method)

    output_string = args[0]
    options       = args[1] || {}
    options       = defaults.merge(options)

    output_string = BOLD_BEGIN      + output_string + DECORATION_END if options[:bold]
    output_string = UNDERLINE_BEGIN + output_string + DECORATION_END if options[:underline]

    COLORS[method.to_sym] + output_string + OVERALL_END
  end

  def self.defaults
    { bold: false, underline: false }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
colorate-1.0.2 lib/colorate.rb
colorate-1.0.1 lib/colorate.rb
colorate-1.0.0 lib/colorate.rb