Sha256: 33e228bec91f928c8a1c242b9eae8148f489b76ca9958200ad75b4d450d45d6d

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

# encoding: utf-8

# WizRft:  A gem for exporting Word Documents in ruby
# using the Microsoft Rich Text Format (RTF) Specification
# Copyright (C) 2015 by sgzhe@163.com

module WizRtf
  class Cell
    attr_accessor :colspan, :rowspan, :content, :v_merge, :right_width

    def initialize(cell)
      if cell.is_a?(Hash)
        @colspan = cell[:colspan] || 1
        @rowspan = cell[:rowspan] || 1
        @content = cell[:content] || ''
      else
        @colspan = 1
        @rowspan = 1
        @content = cell
      end
    end

    def render(io)
      io.cmd :celld
      io.cmd :clbrdrt
      io.cmd :brdrs
      io.cmd :brdrw10
      io.cmd :clbrdrl
      io.cmd :brdrs
      io.cmd :brdrw10
      io.cmd :clbrdrb
      io.cmd :brdrs
      io.cmd :brdrw10
      io.cmd :clbrdrr
      io.cmd :brdrs
      io.cmd :brdrw10
      io.cmd  v_merge if v_merge
      io.cmd :cellx, right_width
      contents = [@content] unless @content.is_a?(Array)
      contents.each do |c|
        if c.respond_to?(:render)
          c.render(io)
        else
          io.txt c
        end
      end
      io.cmd :cell
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wiz_rtf-0.6.0 lib/wiz_rtf/cell.rb
wiz_rtf-0.5.5 lib/wiz_rtf/cell.rb