Class: HTMLPage::Figure

Inherits:
Object
  • Object
show all
Defined in:
lib/html_page.rb

Overview

Manages figure enumeration and references.

For example, reference a defined figure:

<p>This is demonstrated in <%= figure.ref :my_fig_name %>.
...
<figure>
  <img>
  <figcaption><%= figure.name :my_fig_name %></figcaption>
</figure>

Instance Method Summary collapse

Constructor Details

#initializeFigure

Returns a new instance of Figure.



170
171
172
173
# File 'lib/html_page.rb', line 170

def initialize
  @figures = Hash.new {|hsh, name| hsh[name] = hsh.size + 1 }
  @names = [] # permits name/ref to be called in any order
end

Instance Method Details

#name(figname) ⇒ Object



175
176
177
178
179
180
181
182
# File 'lib/html_page.rb', line 175

def name figname
  if @names.include? figname
    raise "Figure name `#{figname}' already defined."
  else
    @names << figname
  end
  "<span class='figname'>Figure #{@figures[figname]}.</span>"
end

#ref(figname) ⇒ Object



184
185
186
# File 'lib/html_page.rb', line 184

def ref figname
  "<span class='figref'>Figure #{@figures[figname]}</span>"
end