run_database_backup 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "run_database_backup/version"
4
+ require_relative "run_database_backup/mongo"
5
+ require_relative "run_database_backup/mysql"
6
+ require_relative "run_database_backup/postgresql"
7
+ require_relative "run_database_backup/tasks"
8
+
9
+ # Module to backup databases
10
+ # Description: This module is responsible for backing up databases
11
+ module RunDatabaseBackup
12
+ class << self
13
+ # @return [String] version
14
+ def version
15
+ RunDatabaseBackup::VERSION
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "run_database_backup"
4
+
5
+ namespace :mongo do
6
+ desc "Backup MongoDB database to a file"
7
+ task :backup, [:uri, :database_name, :backup_directory] do |_task, args|
8
+ args.with_defaults(
9
+ uri: ENV.fetch("MONGODB_URL", nil),
10
+ database_name: ENV.fetch("MONGODB_DATABASE", nil),
11
+ backup_directory: ENV.fetch("MONGODB_BACKUP_DIRECTORY", nil)
12
+ )
13
+
14
+ puts "Backup MongoDB database #{args[:database_name]} started"
15
+
16
+ RunDatabaseBackup::Mongo.new(**args).dump
17
+
18
+ puts "Backup MongoDB database #{args[:database_name]} completed"
19
+ end
20
+ end
21
+
22
+ namespace :mysql do
23
+ desc "Backup MySQL database to a file"
24
+ task :backup, [:uri, :database_name, :backup_directory] do |_task, args|
25
+ args.with_defaults(
26
+ uri: ENV.fetch("MYSQL_URL", nil),
27
+ database_name: ENV.fetch("MYSQL_DATABASE", nil),
28
+ backup_directory: ENV.fetch("MYSQL_BACKUP_DIRECTORY", nil)
29
+ )
30
+
31
+ puts "Backup MySQL database #{args[:database_name]} started"
32
+
33
+ RunDatabaseBackup::Mysql.new(**args).dump
34
+
35
+ puts "Backup MySQL database #{args[:database_name]} completed"
36
+ end
37
+ end
38
+
39
+ namespace :postgresql do
40
+ desc "Backup PostgreSQL database to a file"
41
+ task :backup, [:uri, :database_name, :backup_directory] do |_task, args|
42
+ args.with_defaults(
43
+ uri: ENV.fetch("POSTGRESQL_URL", nil),
44
+ database_name: ENV.fetch("POSTGRESQL_DATABASE", nil),
45
+ backup_directory: ENV.fetch("POSTGRESQL_BACKUP_DIRECTORY", nil)
46
+ )
47
+
48
+ puts "Backup PostgreSQL database #{args[:database_name]} started"
49
+
50
+ RunDatabaseBackup::Postgresql.new(**args).dump
51
+
52
+ puts "Backup PostgreSQL database #{args[:database_name]} completed"
53
+ end
54
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: run_database_backup
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Alef Ojeda de Oliveira
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-02-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.10'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.10'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.21'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.21'
69
+ description: A RubyGem to backup different types of databases
70
+ email:
71
+ - nemubatubag@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - CHANGELOG.md
77
+ - LICENSE.txt
78
+ - README.md
79
+ - doc/RunDatabaseBackup.html
80
+ - doc/RunDatabaseBackup/Mongo.html
81
+ - doc/RunDatabaseBackup/Mysql.html
82
+ - doc/RunDatabaseBackup/Postgresql.html
83
+ - doc/RunDatabaseBackup/Tasks.html
84
+ - doc/_index.html
85
+ - doc/class_list.html
86
+ - doc/css/common.css
87
+ - doc/css/full_list.css
88
+ - doc/css/style.css
89
+ - doc/file.README.html
90
+ - doc/file_list.html
91
+ - doc/frames.html
92
+ - doc/index.html
93
+ - doc/js/app.js
94
+ - doc/js/full_list.js
95
+ - doc/js/jquery.js
96
+ - doc/method_list.html
97
+ - doc/top-level-namespace.html
98
+ - lib/run_database_backup.rb
99
+ - lib/run_database_backup/mongo.rb
100
+ - lib/run_database_backup/mysql.rb
101
+ - lib/run_database_backup/postgresql.rb
102
+ - lib/run_database_backup/tasks.rb
103
+ - lib/run_database_backup/version.rb
104
+ - lib/tasks/run_database_backup.rake
105
+ homepage: https://github.com/nemuba/run_database_backup
106
+ licenses:
107
+ - MIT
108
+ metadata:
109
+ homepage_uri: https://github.com/nemuba/run_database_backup
110
+ source_code_uri: https://github.com/nemuba/run_database_backup
111
+ changelog_uri: https://github.com/nemuba/run_database_backup/blob/main/CHANGELOG.md
112
+ documentation_uri: https://rubydoc.info/github/nemuba/run_database_backup/main
113
+ post_install_message:
114
+ rdoc_options: []
115
+ require_paths:
116
+ - lib
117
+ required_ruby_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ">="
120
+ - !ruby/object:Gem::Version
121
+ version: 2.6.0
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ requirements: []
128
+ rubygems_version: 3.4.7
129
+ signing_key:
130
+ specification_version: 4
131
+ summary: RubyGem for Database Backup
132
+ test_files: []