29 lines
597 B
Ruby
29 lines
597 B
Ruby
# frozen_string_literal: true
|
|
|
|
module StorageManager
|
|
class Git < StorageManager::Local
|
|
def delete(path)
|
|
return unless exists?(path)
|
|
super
|
|
system!("git add #{base_path}#{path}")
|
|
system!("git commit -m \"Remove #{path[1..]}\"")
|
|
system!("git push")
|
|
end
|
|
|
|
def put(path, io)
|
|
super
|
|
if exists?(path)
|
|
system!("git add #{base_path}#{path}")
|
|
system!("git commit -m \"Add #{path[1..]}\"")
|
|
system!("git push")
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def system!(*)
|
|
system(*, exception: true, chdir: base_path)
|
|
end
|
|
end
|
|
end
|