Sha256: 392e5d6de0d4b97d7a0590c1d2e0635585dbb99b189596b70ccfb4139230211e
Contents?: true
Size: 1.36 KB
Versions: 5
Compression:
Stored size: 1.36 KB
Contents
# encoding: utf-8 module Infoboxer module Tree # Represents image (or other media file). # # See [Wikipedia Tutorial](https://en.wikipedia.org/wiki/Wikipedia:Extended_image_syntax) # for explanation of attributes. class Image < Node def initialize(path, params = {}) @caption = params.delete(:caption) super({path: path}.merge(params)) end # Image caption. Can have (sometimes many) other nodes inside. # # @return [Nodes] attr_reader :caption # @!attribute [r] path # @!attribute [r] type # @!attribute [r] location # @!attribute [r] alignment # @!attribute [r] link # @!attribute [r] alt def_readers :path, :type, :location, :alignment, :link, :alt def border? !params[:border].to_s.empty? end def width params[:width].to_i end def height params[:height].to_i end def to_tree(level = 0) super(level) + if caption && !caption.empty? indent(level+1) + "caption:\n" + caption.children.map(&call(to_tree: level+2)).join else '' end end private def _eq(other) path == other.path end end # Represents image caption. class ImageCaption < Compound end end end
Version data entries
5 entries across 5 versions & 1 rubygems