class Crashbreak::DatabaseDumper
Public Instance Methods
dump()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 7 def dump prepare_aws make_directories dump_database upload_dump remove_locally_dump { file_name: aws_file_name } end
Private Instance Methods
aws_file_name()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 35 def aws_file_name @aws_file_name ||= "Crashbreak - database dump #{Time.now} (#{Time.now.to_f})" end
dump_command()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 43 def dump_command inject_error_id(Crashbreak.configure.dumper_options[:dump_command]) end
dump_database()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 23 def dump_database system(dump_command) end
dump_location()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 39 def dump_location inject_error_id(Crashbreak.configure.dumper_options[:dump_location]) end
error_id()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 51 def error_id RequestStore.store[:server_response]['id'].to_s end
inject_error_id(text)
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 47 def inject_error_id(text) text.gsub(':error_id:', error_id) end
make_directories()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 19 def make_directories FileUtils::mkdir_p "#{Crashbreak.project_root}/tmp/#{error_id}/" end
remove_locally_dump()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 31 def remove_locally_dump File.delete(dump_location) end
upload_dump()
click to toggle source
# File lib/crashbreak/dumpers/database_dumper.rb, line 27 def upload_dump client.put_object(bucket: bucket_name, key: aws_file_name, body: File.read(dump_location)) end