Sha256: e0d70833bf1760249b11e98538450404d54cd5a213cd0a19f8daccdbb2202560

Contents?: true

Size: 711 Bytes

Versions: 8

Compression:

Stored size: 711 Bytes

Contents

# coding: utf-8

require_relative 'detached'

module Pastel
  # Contains logic for resolving styles applied to component
  #
  # Used internally by {Delegator}.
  #
  # @api private
  class ColorResolver
    # The color instance
    # @api public
    attr_reader :color

    # Initialize ColorResolver
    #
    # @param [Color] color
    #
    # @api private
    def initialize(color)
      @color = color
    end

    # Resolve uncolored string
    #
    # @api private
    def resolve(base, unprocessed_string)
      if base.to_a.last == :detach
        Detached.new(color, *base.to_a[0...-1])
      else
        color.decorate(unprocessed_string, *base)
      end
    end
  end # ColorResolver
end # Pastel

Version data entries

8 entries across 8 versions & 2 rubygems

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