Class: MultiGit::GitBackend::Object
- Inherits:
-
Object
- Object
- MultiGit::GitBackend::Object
- Extended by:
- Forwardable
- Includes:
- Object
- Defined in:
- lib/multi_git/git_backend/object.rb
Instance Attribute Summary
Attributes included from Object
Instance Method Summary collapse
- #bytesize ⇒ Object
- #content ⇒ Object
-
#initialize(repository, oid, content = nil) ⇒ Object
constructor
A new instance of Object.
- #to_io ⇒ Object
Methods included from Object
Methods included from Utils::AbstractMethods
Constructor Details
#initialize(repository, oid, content = nil) ⇒ Object
Returns a new instance of Object.
9 10 11 12 13 14 |
# File 'lib/multi_git/git_backend/object.rb', line 9 def initialize(repository, oid, content = nil) @repository = repository @git = repository.__backend__ @oid = oid @content = content ? content.dup.freeze : nil end |
Instance Method Details
#bytesize ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/multi_git/git_backend/object.rb', line 16 def bytesize @size ||= begin if @content @content.bytesize else @git['cat-file',:s,@oid].to_i end end end |
#content ⇒ Object
26 27 28 |
# File 'lib/multi_git/git_backend/object.rb', line 26 def content @content ||= @git['cat-file',type.to_s,@oid].freeze end |
#to_io ⇒ Object
30 31 32 |
# File 'lib/multi_git/git_backend/object.rb', line 30 def to_io StringIO.new(content) end |