class FakeGit::Priv::Object
Constants
- ALLOWED_TYPES
- OBJ_PATH
Attributes
content[RW]
date[RW]
file_name[RW]
index[RW]
message[RW]
path[RW]
tree[RW]
type[RW]
Public Class Methods
new(type: nil, content: nil, index: nil, path: nil, file_name: nil, message: nil, tree: nil, date: nil)
click to toggle source
# File lib/fake_git/priv/object.rb, line 8 def initialize(type: nil, content: nil, index: nil, path: nil, file_name: nil, message: nil, tree: nil, date: nil) @type = type @content = content @index = index @path = path @file_name = file_name @message = message @tree = tree @date = Time.now raise TypeError.new("#{type} must be one of #{ALLOWED_TYPES}") if !ALLOWED_TYPES.include?(@type) end
Public Instance Methods
write!()
click to toggle source
# File lib/fake_git/priv/object.rb, line 28 def write! write_top_index write_new_index puts index end
Private Instance Methods
write_new_index()
click to toggle source
# File lib/fake_git/priv/object.rb, line 39 def write_new_index path = "#{OBJ_PATH}/#{index[0..1]}/#{index[2..-1]}" File.open(path, 'w') do |file| file.write("type=#{type},") file.write("index=#{index},") file.write("file_name=#{file_name},") file.write("path=#{path},") file.write("content=#{content},") file.write("message=#{message},") file.write("tree=#{tree},") end end
write_top_index()
click to toggle source
# File lib/fake_git/priv/object.rb, line 35 def write_top_index `mkdir -p #{OBJ_PATH}/#{index[0..1]}` end