class Prawn::Icon::Compatibility

Constants

SHIMS

@deprecated Use {Prawn::Icon::Compatibility.shims} instead

Attributes

key[RW]

Public Class Methods

new(opts = {}) click to toggle source
# File lib/prawn/icon/compatibility.rb, line 30
def initialize(opts = {})
  self.key = opts.fetch(:key)
end
shims() click to toggle source
# File lib/prawn/icon/compatibility.rb, line 21
def shims
  @shims ||= YAML.load_file(
    Icon.configuration.font_directory.join('fa4', 'shims.yml').to_s
  )
end

Public Instance Methods

translate(io = STDERR) click to toggle source
# File lib/prawn/icon/compatibility.rb, line 34
def translate(io = STDERR)
  @translate ||= begin
    if key.start_with?('fa-')
      map.tap { |replaced| warning(replaced, key, io) }
    else
      key
    end
  end
end

Private Instance Methods

map() click to toggle source
# File lib/prawn/icon/compatibility.rb, line 46
def map
  self.class.shims.fetch(key) do
    # FontAwesome shim metadata assumes "fas" as the default
    # font family if not explicity referenced.
    "fas-#{key.sub(/fa-/, '')}"
  end
end
warning(new_key, old_key, io) click to toggle source
# File lib/prawn/icon/compatibility.rb, line 54
      def warning(new_key, old_key, io)
        io.puts <<-DEPRECATION
[Prawn::Icon - DEPRECATION WARNING]
  FontAwesome 4 icon was referenced as '#{old_key}'.
  Use the FontAwesome 5 icon '#{new_key}' instead.
  This compatibility layer will be removed in Prawn::Icon 4.0.0.
DEPRECATION
      end