class ReaPack::Index::Changelog

Constants

TAG

Attributes

text[R]

Public Class Methods

new(parent) click to toggle source
# File lib/reapack/index/version.rb, line 85
def initialize(parent)
  @parent = parent

  @node = parent.element_children.find {|node| node.name == TAG }

  if @node
    cdata = @node.children.first
    @text = cdata.content
  else
    @text = String.new
  end
end

Public Instance Methods

modified?() click to toggle source
# File lib/reapack/index/version.rb, line 98
def modified?
  !!@dirty
end
text=(new_text) click to toggle source
# File lib/reapack/index/version.rb, line 104
def text=(new_text)
  new_text ||= String.new

  if text == new_text
    return
  else
    @dirty = true
  end

  return @node.remove if new_text.empty?

  if @node
    @node.children.each {|n| n.remove }
  else
    @node = Nokogiri::XML::Node.new TAG, @parent.document
    @node.parent = @parent
  end

  cdata = Nokogiri::XML::CDATA.new @node.document, new_text
  cdata.parent = @node

  @text = new_text
end