Sha256: c301c6d29bee4b03a35dd84ef5482f9258a1f3c76ffef1157df7cabeed2b91ef
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
infoboxer-0.2.8 | lib/infoboxer/tree/image.rb |