class ReaPack::Index::Version
Constants
- AUTHOR
- TIME
Public Class Methods
new(node)
click to toggle source
Calls superclass method
ReaPack::Index::NamedNode::new
# File lib/reapack/index/version.rb, line 8 def initialize(node) super @changelog = Changelog.new @node end
Public Instance Methods
add_source(src)
click to toggle source
# File lib/reapack/index/version.rb, line 68 def add_source(src) src.make_node @node @dirty = true end
changelog=(new_text)
click to toggle source
# File lib/reapack/index/version.rb, line 17 def changelog=(new_text) @changelog.text = new_text end
modified?()
click to toggle source
Calls superclass method
ReaPack::Index::NamedNode#modified?
# File lib/reapack/index/version.rb, line 13 def modified? super || @changelog.modified? end
replace_sources() { || ... }
click to toggle source
# File lib/reapack/index/version.rb, line 54 def replace_sources was_dirty = @dirty old_sources = hash_sources children(Source::TAG) .each {|node| node.remove } yield new_sources = hash_sources children(Source::TAG) @dirty = old_sources != new_sources unless was_dirty raise Error, 'no files provided' if new_sources.empty? end
time()
click to toggle source
# File lib/reapack/index/version.rb, line 39 def time Time.parse @node[TIME] if @node.has_attribute? TIME end
time=(new_time)
click to toggle source
# File lib/reapack/index/version.rb, line 43 def time=(new_time) return if new_time == time if new_time.nil? @node.remove_attribute TIME else @node[TIME] = new_time.utc.iso8601 end @dirty = true end
Private Instance Methods
hash_sources(nodes)
click to toggle source
# File lib/reapack/index/version.rb, line 75 def hash_sources(nodes) nodes.map {|node| [node[Source::PLATFORM] || 'all', node[Source::FILE], node.content] } end