lib/gitrb/blob.rb in gitrb-0.1.8 vs lib/gitrb/blob.rb in gitrb-0.1.9
- old
+ new
@@ -1,16 +1,43 @@
module Gitrb
# This class stores the raw string data of a blob
class Blob < GitObject
- attr_accessor :data, :mode
+ attr_reader :data, :mode
# Initialize a Blob
def initialize(options = {})
super(options)
@data = options[:data]
@mode = options[:mode] || 0100644
+ @modified = true if !id
+ end
+
+ def modified?
+ @modified
+ end
+
+ # Set mode
+ def mode=(mode)
+ if mode != @mode
+ @mode = mode
+ @modified = true
+ end
+ end
+
+ # Set data
+ def data=(data)
+ if data != @data
+ @data = data
+ @modified = true
+ end
+ end
+
+ # Set new repository (modified flag is reset)
+ def id=(id)
+ @modified = false
+ super
end
def type
:blob
end