Sha256: 93816276db2e442d9a705dfd9a68c612dbdfcd2e170b0d897ec9e8b46ef38465

Contents?: true

Size: 1.1 KB

Versions: 8

Compression:

Stored size: 1.1 KB

Contents

# encoding: utf-8

module Pastel
  # A class responsible for importing color aliases
  class AliasImporter
    # Create alias importer
    #
    # @example
    #   importer = Pastel::AliasImporter.new(Pastel::Color.new, {})
    #
    # @api public
    def initialize(color, env, output = $stderr)
      @color  = color
      @env    = env
      @output = output
    end

    # Import aliases from the environment
    #
    # @example
    #   importer = Pastel::AliasImporter.new(Pastel::Color.new, {})
    #   importer.import
    #
    # @return [nil]
    #
    # @api public
    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

    protected

    attr_reader :color, :output, :env
  end # AliasImporter
end # Pastel

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
pastel-0.7.4 lib/pastel/alias_importer.rb
pokedex-terminal-0.2.8 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/lib/pastel/alias_importer.rb
pokedex-terminal-0.2.7 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/lib/pastel/alias_importer.rb
pokedex-terminal-0.2.6 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/lib/pastel/alias_importer.rb
pokedex-terminal-0.2.5 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/lib/pastel/alias_importer.rb
pokedex-terminal-0.2.4 vendor/bundle/ruby/2.7.0/gems/pastel-0.7.3/lib/pastel/alias_importer.rb
pastel-0.7.3 lib/pastel/alias_importer.rb
pastel-0.7.2 lib/pastel/alias_importer.rb