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