class ActiveRecord::Snapshot::List
Public Class Methods
add(version:, file:)
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 13 def add(version:, file:) contents = File.read(path) File.open(path, "w") do |f| f.puts "#{version.to_i} #{File.basename(file)}" f.write contents end end
download()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 5 def download s3.download_to(path) end
filename()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 34 def filename "snapshot_list".freeze end
get(version:)
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 21 def get(version:) File.readlines(path).each do |line| version_str, filename = line.split(" ") return [version_str.to_i, filename] if version_str.to_i == version.to_i end [] end
last()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 29 def last version_str, filename = File.open(path, &:readline).split(" ") [version_str.to_i, filename] end
path()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 38 def path config.store.local.join(filename).to_s.freeze end
upload()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 9 def upload s3.upload(path) end
Private Class Methods
config()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 48 def config ActiveRecord::Snapshot.config end
s3()
click to toggle source
# File lib/active_record/snapshot/files/list.rb, line 44 def s3 S3.new(directory: config.s3.paths.snapshots) end