class Pastel::AliasImporter

A class responsible for importing color aliases

Attributes

color[R]
env[R]
output[R]

Public Class Methods

new(color, env, output = $stderr) click to toggle source

Create alias importer

@example

importer = Pastel::AliasImporter.new(Pastel::Color.new, {})

@api public

# File lib/pastel/alias_importer.rb, line 11
def initialize(color, env, output = $stderr)
  @color  = color
  @env    = env
  @output = output
end

Public Instance Methods

import() click to toggle source

Import aliases from the environment

@example

importer = Pastel::AliasImporter.new(Pastel::Color.new, {})
importer.import

@return [nil]

@api public

# File lib/pastel/alias_importer.rb, line 26
def import
  color_aliases = env['PASTEL_COLORS_ALIASES']
  return unless color_aliases
  color_aliases.split(',').each do |color_alias|
    new_color, old_colors = color_alias.split('=')
    if !new_color || !old_colors
      output.puts "Bad color mapping `#{color_alias}`"
    else
      color.alias_color(new_color.to_sym,
                        *old_colors.split('.').map(&:to_sym))
    end
  end
end