Module: Prawn::Icon::Interface
- Defined in:
- lib/prawn/icon.rb
Instance Method Summary collapse
-
#icon(key, opts = {}) ⇒ Object
Set up and draw an icon on this document.
-
#inline_icon(text, opts = {}) ⇒ Object
Initialize a new formatted text box containing icon information, but don’t render it to the document.
-
#make_icon(key, opts = {}) ⇒ Object
Initialize a new icon object, but do not render it to the document.
-
#table_icon(key, opts = {}) ⇒ Object
Initialize a new Prawn::Icon, but don’t render the icon to a document.
Instance Method Details
#icon(key, opts = {}) ⇒ Object
Set up and draw an icon on this document. This method operates much like Prawn::Text::Box.
Parameters:
- key
-
Contains the key to a particular icon within a font family. If :inline_format is true, then key may contain formatted text marked with <icon></icon> tags and any tag supported by Prawn’s parser.
- opts
-
A hash of options that may be supplied to the underlying
textmethod call.
Examples:
pdf.icon 'fa-beer'
pdf.icon '<icon color="0099FF">fa-arrows</icon>',
inline_format: true
80 81 82 83 84 |
# File 'lib/prawn/icon.rb', line 80 def icon(key, opts = {}) i = make_icon(key, opts) i.render i end |
#inline_icon(text, opts = {}) ⇒ Object
Initialize a new formatted text box containing icon information, but don’t render it to the document.
Parameters:
- text
-
Input text to be parsed initially for <icon> tags, then passed to Prawn’s formatted text parser.
- opts
-
A hash of options that may be supplied to the underlying text call.
123 124 125 126 127 128 |
# File 'lib/prawn/icon.rb', line 123 def inline_icon(text, opts = {}) parsed = Icon::Parser.format(self, text) content = Text::Formatted::Parser.format(parsed) opts.merge!(inline_format: true, document: self) Text::Formatted::Box.new(content, opts) end |
#make_icon(key, opts = {}) ⇒ Object
Initialize a new icon object, but do not render it to the document.
Parameters:
- key
-
Contains the key to a particular icon within a font family. If :inline_format is true, then key may contain formatted text marked with <icon></icon> tags and any tag supported by Prawn’s parser.
- opts
-
A hash of options that may be supplied to the underlying text method call.
101 102 103 104 105 106 107 |
# File 'lib/prawn/icon.rb', line 101 def make_icon(key, opts = {}) if opts[:inline_format] inline_icon(key, opts) else Icon.new(key, self, opts) end end |
#table_icon(key, opts = {}) ⇒ Object
Initialize a new Prawn::Icon, but don’t render the icon to a document. Intended to be used as an entry of a data array when combined with Prawn::Table.
Parameters:
- key
-
Contains the key to a particular icon within a font family. The key may contain a string with format tags if inline_format: true in the
optshash. - opts
-
A hash of options that may be supplied to the underlying text call.
Returns:
A Hash containing +font+ and +content+ keys
that match the data necessary for the
specified icon.
eg. { font: 'fa', content: '\uf047' }
Note that the +font+ key will not be set
if +inline_format: true+.
Examples:
require 'prawn/table'
data = [
# Explicit brackets must be used here
[pdf.table_icon('fa-arrows'), 'Cell 1'],
['Cell 2', 'Cell 3']
]
pdf.table(data) => (2 x 2 table)
167 168 169 170 171 172 173 174 |
# File 'lib/prawn/icon.rb', line 167 def table_icon(key, opts = {}) if opts[:inline_format] content = Icon::Parser.format(self, key) opts.merge(content: content) else make_icon(key, opts).format_hash end end |