class Gitmain::Blob
Attributes
id[R]
name[R]
path[R]
repository[R]
Public Class Methods
new(repository, id, path = nil, name = nil)
click to toggle source
# File lib/gitmain/blob.rb, line 5 def initialize(repository, id, path = nil, name = nil) raise ArgumentError, 'provide a valid repository' unless repository.kind_of?(Gitmain::Repository) raise ArgumentError, 'provide a valid blob id' unless id.to_s.match(/\A[0-9a-f]{40}\z/) @repository = repository @id = id @path = path @name = name end
Public Instance Methods
changed_attributes()
click to toggle source
# File lib/gitmain/blob.rb, line 14 def changed_attributes @changed_attributes ||= {} end
content()
click to toggle source
# File lib/gitmain/blob.rb, line 18 def content @content ||= _blob&.content end
content=(value)
click to toggle source
# File lib/gitmain/blob.rb, line 22 def content=(value) changed_attributes[:content] = content @content = value end
file_name()
click to toggle source
# File lib/gitmain/blob.rb, line 27 def file_name File.join(*[path, name].map(&:to_s).reject(&:empty?)) end
Private Instance Methods
_blob()
click to toggle source
# File lib/gitmain/blob.rb, line 33 def _blob @_blob ||= repository.rugged(id) end