webtranslateit-safe 0.4.2 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +22 -9
  3. data/bin/webtranslateit-safe +13 -13
  4. data/lib/webtranslateit/safe/archive.rb +9 -4
  5. data/lib/webtranslateit/safe/backup.rb +9 -2
  6. data/lib/webtranslateit/safe/cloudfiles.rb +21 -15
  7. data/lib/webtranslateit/safe/config/builder.rb +17 -8
  8. data/lib/webtranslateit/safe/config/node.rb +17 -10
  9. data/lib/webtranslateit/safe/ftp.rb +25 -25
  10. data/lib/webtranslateit/safe/gpg.rb +8 -2
  11. data/lib/webtranslateit/safe/gzip.rb +5 -1
  12. data/lib/webtranslateit/safe/local.rb +15 -11
  13. data/lib/webtranslateit/safe/mongodump.rb +12 -6
  14. data/lib/webtranslateit/safe/mysqldump.rb +9 -5
  15. data/lib/webtranslateit/safe/pgdump.rb +9 -9
  16. data/lib/webtranslateit/safe/pipe.rb +6 -0
  17. data/lib/webtranslateit/safe/s3.rb +28 -22
  18. data/lib/webtranslateit/safe/sftp.rb +42 -25
  19. data/lib/webtranslateit/safe/sink.rb +7 -2
  20. data/lib/webtranslateit/safe/source.rb +13 -9
  21. data/lib/webtranslateit/safe/stream.rb +14 -6
  22. data/lib/webtranslateit/safe/svndump.rb +5 -1
  23. data/lib/webtranslateit/safe/tmp_file.rb +16 -11
  24. data/lib/webtranslateit/safe.rb +12 -13
  25. metadata +3 -36
  26. data/.autotest +0 -3
  27. data/.document +0 -5
  28. data/.github/dependabot.yml +0 -26
  29. data/.github/release-drafter.yml +0 -36
  30. data/.github/workflows/ci.yml +0 -51
  31. data/.github/workflows/release-drafter.yml +0 -29
  32. data/.gitignore +0 -18
  33. data/.rspec +0 -3
  34. data/.rubocop.yml +0 -8
  35. data/.rubocop_todo.yml +0 -965
  36. data/Gemfile +0 -11
  37. data/Gemfile.lock +0 -89
  38. data/LICENSE.txt +0 -22
  39. data/Rakefile +0 -8
  40. data/TODO +0 -31
  41. data/lib/extensions/mktmpdir.rb +0 -45
  42. data/lib/webtranslateit/safe/version.rb +0 -5
  43. data/spec/integration/archive_integration_spec.rb +0 -89
  44. data/spec/integration/cleanup_spec.rb +0 -62
  45. data/spec/spec_helper.rb +0 -7
  46. data/spec/webtranslateit/safe/archive_spec.rb +0 -67
  47. data/spec/webtranslateit/safe/cloudfiles_spec.rb +0 -175
  48. data/spec/webtranslateit/safe/config_spec.rb +0 -307
  49. data/spec/webtranslateit/safe/gpg_spec.rb +0 -148
  50. data/spec/webtranslateit/safe/gzip_spec.rb +0 -64
  51. data/spec/webtranslateit/safe/local_spec.rb +0 -109
  52. data/spec/webtranslateit/safe/mongodump_spec.rb +0 -54
  53. data/spec/webtranslateit/safe/mysqldump_spec.rb +0 -83
  54. data/spec/webtranslateit/safe/pgdump_spec.rb +0 -45
  55. data/spec/webtranslateit/safe/s3_spec.rb +0 -168
  56. data/spec/webtranslateit/safe/svndump_spec.rb +0 -39
  57. data/templates/script.rb +0 -183
  58. data/webtranslateit-safe.gemspec +0 -31
@@ -1,17 +1,15 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Pgdump < Source
4
6
 
5
7
  def command
6
- if config['password']
7
- ENV['PGPASSWORD'] = config['password']
8
- else
9
- ENV['PGPASSWORD'] = nil
10
- end
8
+ ENV['PGPASSWORD'] = (config['password'] || nil)
11
9
  "pg_dump #{postgres_options} #{postgres_username} #{postgres_host} #{postgres_port} #{@id}"
12
10
  end
13
11
 
14
- def extension; '.sql'; end
12
+ def extension = '.sql'
15
13
 
16
14
  protected
17
15
 
@@ -20,17 +18,19 @@ module WebTranslateIt
20
18
  end
21
19
 
22
20
  def postgres_host
23
- config['host'] && "--host='#{config["host"]}'"
21
+ config['host'] && "--host='#{config['host']}'"
24
22
  end
25
23
 
26
24
  def postgres_port
27
- config['port'] && "--port='#{config["port"]}'"
25
+ config['port'] && "--port='#{config['port']}'"
28
26
  end
29
27
 
30
28
  def postgres_username
31
- config['user'] && "--username='#{config["user"]}'"
29
+ config['user'] && "--username='#{config['user']}'"
32
30
  end
33
31
 
34
32
  end
33
+
35
34
  end
35
+
36
36
  end
@@ -1,6 +1,9 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Pipe < Stream
6
+
4
7
  # process adds required commands to the current
5
8
  # shell command string
6
9
  # :active?, :pipe, :extension and :post_process are
@@ -12,6 +15,9 @@ module WebTranslateIt
12
15
  @backup.extension << extension
13
16
  post_process
14
17
  end
18
+
15
19
  end
20
+
16
21
  end
22
+
17
23
  end
@@ -1,7 +1,10 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class S3 < Sink
4
- MAX_S3_FILE_SIZE = 5368709120
6
+
7
+ MAX_S3_FILE_SIZE = 5_368_709_120
5
8
 
6
9
  def active?
7
10
  bucket && key && secret
@@ -15,26 +18,26 @@ module WebTranslateIt
15
18
 
16
19
  def save
17
20
  # FIXME: user friendly error here :)
18
- raise RuntimeError, 'pipe-streaming not supported for S3.' unless @backup.path
21
+ raise 'pipe-streaming not supported for S3.' unless @backup.path
19
22
 
20
23
  # needed in cleanup even on dry run
21
- AWS::S3::Base.establish_connection!(:access_key_id => key, :secret_access_key => secret, :use_ssl => true) unless local_only?
24
+ AWS::S3::Base.establish_connection!(access_key_id: key, secret_access_key: secret, use_ssl: true) unless local_only?
22
25
 
23
26
  puts "Uploading #{bucket}:#{full_path}" if verbose? || dry_run?
24
- unless dry_run? || local_only?
25
- if File.stat(@backup.path).size > MAX_S3_FILE_SIZE
26
- STDERR.puts "ERROR: File size exceeds maximum allowed for upload to S3 (#{MAX_S3_FILE_SIZE}): #{@backup.path}"
27
- return
28
- end
29
- benchmark = Benchmark.realtime do
30
- AWS::S3::Bucket.create(bucket) unless bucket_exists?(bucket)
31
- File.open(@backup.path) do |file|
32
- AWS::S3::S3Object.store(full_path, file, bucket)
33
- end
27
+ return if dry_run? || local_only?
28
+
29
+ if File.stat(@backup.path).size > MAX_S3_FILE_SIZE
30
+ warn "ERROR: File size exceeds maximum allowed for upload to S3 (#{MAX_S3_FILE_SIZE}): #{@backup.path}"
31
+ return
32
+ end
33
+ benchmark = Benchmark.realtime do
34
+ AWS::S3::Bucket.create(bucket) unless bucket_exists?(bucket)
35
+ File.open(@backup.path) do |file|
36
+ AWS::S3::S3Object.store(full_path, file, bucket)
34
37
  end
35
- puts '...done' if verbose?
36
- puts('Upload took ' + sprintf('%.2f', benchmark) + ' second(s).') if verbose?
37
38
  end
39
+ puts '...done' if verbose?
40
+ puts("Upload took #{format('%.2f', benchmark)} second(s).") if verbose?
38
41
  end
39
42
 
40
43
  def cleanup
@@ -43,16 +46,16 @@ module WebTranslateIt
43
46
  return unless keep = config[:keep, :s3]
44
47
 
45
48
  puts "listing files: #{bucket}:#{base}*" if verbose?
46
- files = AWS::S3::Bucket.objects(bucket, :prefix => base, :max_keys => keep * 2)
47
- puts files.collect {|x| x.key} if verbose?
49
+ files = AWS::S3::Bucket.objects(bucket, prefix: base, max_keys: keep * 2)
50
+ puts files.collect(&:key) if verbose?
48
51
 
49
- files = files.
50
- collect {|x| x.key}.
51
- sort
52
+ files = files
53
+ .collect(&:key)
54
+ .sort
52
55
 
53
56
  cleanup_with_limit(files, keep) do |f|
54
57
  puts "removing s3 file #{bucket}:#{f}" if dry_run? || verbose?
55
- AWS::S3::Bucket.objects(bucket, :prefix => f)[0].delete unless dry_run? || local_only?
58
+ AWS::S3::Bucket.objects(bucket, prefix: f)[0].delete unless dry_run? || local_only?
56
59
  end
57
60
  end
58
61
 
@@ -69,12 +72,15 @@ module WebTranslateIt
69
72
  end
70
73
 
71
74
  private
72
-
75
+
73
76
  def bucket_exists?(bucket)
74
77
  true if AWS::S3::Bucket.find(bucket)
75
78
  rescue AWS::S3::NoSuchBucket
76
79
  false
77
80
  end
81
+
78
82
  end
83
+
79
84
  end
85
+
80
86
  end
@@ -1,7 +1,11 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Sftp < Sink
4
6
 
7
+ MAX_RETRIES = 5
8
+
5
9
  protected
6
10
 
7
11
  def active?
@@ -12,33 +16,46 @@ module WebTranslateIt
12
16
  @path ||= expand(config[:sftp, :path] || config[:local, :path] || ':kind/:id')
13
17
  end
14
18
 
15
- def save
16
- raise RuntimeError, 'pipe-streaming not supported for SFTP.' unless @backup.path
19
+ def save # rubocop:todo Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
20
+ raise 'pipe-streaming not supported for SFTP.' unless @backup.path
17
21
 
18
22
  puts "Uploading #{host}:#{full_path} via SFTP" if verbose? || dry_run?
19
23
 
20
- unless dry_run? || local_only?
21
- opts = {}
22
- opts[:password] = password if password
23
- opts[:port] = port if port
24
- Net::SFTP.start(host, user, opts) do |sftp|
25
- puts "Sending #{@backup.path} to #{full_path}" if verbose?
26
- begin
27
- sftp.upload! @backup.path, full_path
28
- rescue Net::SFTP::StatusException
29
- puts "Ensuring remote path (#{path}) exists" if verbose?
30
- # mkdir -p
31
- folders = path.split('/')
32
- folders.each_index do |i|
33
- folder = folders[0..i].join('/')
34
- puts "Creating #{folder} on remote" if verbose?
35
- sftp.mkdir!(folder) rescue Net::SFTP::StatusException
24
+ return if dry_run? || local_only?
25
+
26
+ retries = 0
27
+ opts = {}
28
+ opts[:password] = password if password
29
+ opts[:port] = port if port
30
+ Net::SFTP.start(host, user, opts) do |sftp|
31
+ puts "Sending #{@backup.path} to #{full_path}" if verbose?
32
+ begin
33
+ sftp.upload! @backup.path, full_path
34
+ rescue IO::TimeoutError
35
+ puts 'Upload timed out, retrying'
36
+ retries += 1
37
+ if retries >= MAX_RETRIES
38
+ puts "Tried #{retries} times. Giving up."
39
+ else
40
+ retry unless retries >= MAX_RETRIES
41
+ end
42
+ rescue Net::SFTP::StatusException
43
+ puts "Ensuring remote path (#{path}) exists" if verbose?
44
+ # mkdir -p
45
+ folders = path.split('/')
46
+ folders.each_index do |i|
47
+ folder = folders[0..i].join('/')
48
+ puts "Creating #{folder} on remote" if verbose?
49
+ begin
50
+ sftp.mkdir!(folder)
51
+ rescue StandardError
52
+ Net::SFTP::StatusException
36
53
  end
37
- retry
38
54
  end
55
+ retry
39
56
  end
40
- puts '...done' if verbose?
41
57
  end
58
+ puts '...done' if verbose?
42
59
  end
43
60
 
44
61
  def cleanup
@@ -53,11 +70,9 @@ module WebTranslateIt
53
70
  Net::SFTP.start(host, user, opts) do |sftp|
54
71
  files = sftp.dir.glob(path, File.basename("#{base}*"))
55
72
 
56
- puts files.collect {|x| x.name } if verbose?
73
+ puts files.collect(&:name) if verbose?
57
74
 
58
- files = files.
59
- collect {|x| x.name }.
60
- sort
75
+ files = files.collect(&:name).sort
61
76
 
62
77
  cleanup_with_limit(files, keep) do |f|
63
78
  file = File.join(path, f)
@@ -84,5 +99,7 @@ module WebTranslateIt
84
99
  end
85
100
 
86
101
  end
102
+
87
103
  end
88
- end
104
+
105
+ end
@@ -1,5 +1,7 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Sink < Stream
4
6
 
5
7
  def process
@@ -15,7 +17,7 @@ module WebTranslateIt
15
17
  # base is used in 'cleanup' to find all files that begin with base. the '.'
16
18
  # at the end is essential to distinguish b/w foo.* and foobar.* archives for example
17
19
  def base
18
- @base ||= File.join(path, File.basename(@backup.filename).split('.').first + '.')
20
+ @base ||= File.join(path, "#{File.basename(@backup.filename).split('.').first}.")
19
21
  end
20
22
 
21
23
  def full_path
@@ -30,6 +32,9 @@ module WebTranslateIt
30
32
  # TODO: validate here
31
33
  to_remove.each(&block)
32
34
  end
35
+
33
36
  end
37
+
34
38
  end
35
- end
39
+
40
+ end
@@ -1,10 +1,14 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Source < Stream
4
6
 
5
7
  attr_accessor :id
8
+
6
9
  def initialize(id, config)
7
- @id, @config = id.to_s, config
10
+ @id = id.to_s
11
+ @config = config
8
12
  end
9
13
 
10
14
  def timestamp
@@ -21,12 +25,13 @@ module WebTranslateIt
21
25
 
22
26
  def backup
23
27
  return @backup if @backup
28
+
24
29
  @backup = Backup.new(
25
- :id => @id,
26
- :kind => kind,
27
- :extension => extension,
28
- :command => command,
29
- :timestamp => timestamp
30
+ id: @id,
31
+ kind: kind,
32
+ extension: extension,
33
+ command: command,
34
+ timestamp: timestamp
30
35
  )
31
36
  # can't do this in the initializer hash above since
32
37
  # filename() calls expand() which requires @backup
@@ -35,13 +40,12 @@ module WebTranslateIt
35
40
  @backup
36
41
  end
37
42
 
38
- protected
39
-
40
43
  def self.human_name
41
44
  name.split('::').last.downcase
42
45
  end
43
46
 
44
47
  end
48
+
45
49
  end
46
- end
47
50
 
51
+ end
@@ -1,17 +1,22 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Stream
4
6
 
5
7
  attr_accessor :config, :backup
8
+
6
9
  def initialize(config, backup)
7
- @config, @backup = config, backup
10
+ @config = config
11
+ @backup = backup
8
12
  end
13
+
9
14
  # FIXME: move to Backup
10
15
  def expand(path)
11
- path .
12
- gsub(/:kind\b/, @backup.kind.to_s) .
13
- gsub(/:id\b/, @backup.id.to_s) .
14
- gsub(/:timestamp\b/, @backup.timestamp)
16
+ path
17
+ .gsub(/:kind\b/, @backup.kind.to_s)
18
+ .gsub(/:id\b/, @backup.id.to_s)
19
+ .gsub(/:timestamp\b/, @backup.timestamp)
15
20
  end
16
21
 
17
22
  private
@@ -27,6 +32,9 @@ module WebTranslateIt
27
32
  def dry_run?
28
33
  config[:dry_run]
29
34
  end
35
+
30
36
  end
37
+
31
38
  end
32
- end
39
+
40
+ end
@@ -1,13 +1,17 @@
1
1
  module WebTranslateIt
2
+
2
3
  module Safe
4
+
3
5
  class Svndump < Source
4
6
 
5
7
  def command
6
8
  "svnadmin dump #{config[:options]} #{config[:repo_path]}"
7
9
  end
8
10
 
9
- def extension; '.svn'; end
11
+ def extension = '.svn'
10
12
 
11
13
  end
14
+
12
15
  end
16
+
13
17
  end
@@ -1,7 +1,10 @@
1
1
  require 'tmpdir'
2
2
  module WebTranslateIt
3
+
3
4
  module Safe
5
+
4
6
  module TmpFile
7
+
5
8
  @keep_files = []
6
9
 
7
10
  def self.tmproot
@@ -12,22 +15,21 @@ module WebTranslateIt
12
15
  begin
13
16
  FileUtils.remove_entry_secure tmproot
14
17
  rescue ArgumentError => e
15
- if e.message =~ /parent directory is world writable/
16
- puts <<-ERR
18
+ raise unless e.message.include?('parent directory is world writable')
19
+
20
+ puts <<~ERR
17
21
 
18
22
 
19
- ********************************************************************************
20
- It looks like you have wrong permissions on your TEMP directory. The usual
21
- case is when you have world writable TEMP directory withOUT the sticky bit.
23
+ ********************************************************************************
24
+ It looks like you have wrong permissions on your TEMP directory. The usual
25
+ case is when you have world writable TEMP directory withOUT the sticky bit.
22
26
 
23
- Try "chmod +t" on it.
27
+ Try "chmod +t" on it.
24
28
 
25
- ********************************************************************************
29
+ ********************************************************************************
26
30
 
27
- ERR
28
- else
29
- raise
30
- end
31
+ ERR
32
+ raise
31
33
  end
32
34
  @tmproot = nil
33
35
  end
@@ -43,6 +45,9 @@ ERR
43
45
  @keep_files << file # so that it will not get gcollected and removed from filesystem until the end
44
46
  file.path
45
47
  end
48
+
46
49
  end
50
+
47
51
  end
52
+
48
53
  end
@@ -1,5 +1,3 @@
1
- require 'webtranslateit/safe/version'
2
-
3
1
  require 'aws/s3'
4
2
  require 'cloudfiles'
5
3
  require 'net/sftp'
@@ -8,7 +6,6 @@ require 'fileutils'
8
6
  require 'benchmark'
9
7
 
10
8
  require 'tempfile'
11
- require 'extensions/mktmpdir'
12
9
 
13
10
  require 'webtranslateit/safe/tmp_file'
14
11
 
@@ -38,7 +35,9 @@ require 'webtranslateit/safe/sftp'
38
35
  require 'webtranslateit/safe/ftp'
39
36
 
40
37
  module WebTranslateIt
38
+
41
39
  module Safe
40
+
42
41
  ROOT = File.join(File.dirname(__FILE__), '..', '..')
43
42
 
44
43
  def safe(&block)
@@ -46,17 +45,15 @@ module WebTranslateIt
46
45
  end
47
46
 
48
47
  def process(config)
48
+ [[Mysqldump, %i[mysqldump databases]],
49
+ [Pgdump, %i[pgdump databases]],
50
+ [Mongodump, %i[mongodump databases]],
51
+ [Archive, %i[tar archives]],
52
+ [Svndump, %i[svndump repos]]].each do |klass, path|
53
+ next unless collection = config[*path]
49
54
 
50
- [[Mysqldump, [:mysqldump, :databases]],
51
- [Pgdump, [:pgdump, :databases]],
52
- [Mongodump, [:mongodump, :databases]],
53
- [Archive, [:tar, :archives]],
54
- [Svndump, [:svndump, :repos]]
55
- ].each do |klass, path|
56
- if collection = config[*path]
57
- collection.each do |name, c|
58
- klass.new(name, c).backup.run(c, :gpg, :gzip, :local, :s3, :cloudfiles, :sftp, :ftp)
59
- end
55
+ collection.each do |name, c|
56
+ klass.new(name, c).backup.run(c, :gpg, :gzip, :local, :s3, :cloudfiles, :sftp, :ftp)
60
57
  end
61
58
  end
62
59
 
@@ -64,5 +61,7 @@ module WebTranslateIt
64
61
  end
65
62
  module_function :safe
66
63
  module_function :process
64
+
67
65
  end
66
+
68
67
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webtranslateit-safe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edouard Briere
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-05-22 00:00:00.000000000 Z
12
+ date: 2023-06-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: aws-s3
@@ -64,25 +64,9 @@ executables:
64
64
  extensions: []
65
65
  extra_rdoc_files: []
66
66
  files:
67
- - ".autotest"
68
- - ".document"
69
- - ".github/dependabot.yml"
70
- - ".github/release-drafter.yml"
71
- - ".github/workflows/ci.yml"
72
- - ".github/workflows/release-drafter.yml"
73
- - ".gitignore"
74
- - ".rspec"
75
- - ".rubocop.yml"
76
- - ".rubocop_todo.yml"
77
67
  - CHANGELOG
78
- - Gemfile
79
- - Gemfile.lock
80
- - LICENSE.txt
81
68
  - README.markdown
82
- - Rakefile
83
- - TODO
84
69
  - bin/webtranslateit-safe
85
- - lib/extensions/mktmpdir.rb
86
70
  - lib/webtranslateit/safe.rb
87
71
  - lib/webtranslateit/safe/archive.rb
88
72
  - lib/webtranslateit/safe/backup.rb
@@ -104,23 +88,6 @@ files:
104
88
  - lib/webtranslateit/safe/stream.rb
105
89
  - lib/webtranslateit/safe/svndump.rb
106
90
  - lib/webtranslateit/safe/tmp_file.rb
107
- - lib/webtranslateit/safe/version.rb
108
- - spec/integration/archive_integration_spec.rb
109
- - spec/integration/cleanup_spec.rb
110
- - spec/spec_helper.rb
111
- - spec/webtranslateit/safe/archive_spec.rb
112
- - spec/webtranslateit/safe/cloudfiles_spec.rb
113
- - spec/webtranslateit/safe/config_spec.rb
114
- - spec/webtranslateit/safe/gpg_spec.rb
115
- - spec/webtranslateit/safe/gzip_spec.rb
116
- - spec/webtranslateit/safe/local_spec.rb
117
- - spec/webtranslateit/safe/mongodump_spec.rb
118
- - spec/webtranslateit/safe/mysqldump_spec.rb
119
- - spec/webtranslateit/safe/pgdump_spec.rb
120
- - spec/webtranslateit/safe/s3_spec.rb
121
- - spec/webtranslateit/safe/svndump_spec.rb
122
- - templates/script.rb
123
- - webtranslateit-safe.gemspec
124
91
  homepage: http://github.com/webtranslateit/safe
125
92
  licenses:
126
93
  - MIT
@@ -141,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
108
  - !ruby/object:Gem::Version
142
109
  version: '0'
143
110
  requirements: []
144
- rubygems_version: 3.4.13
111
+ rubygems_version: 3.4.14
145
112
  signing_key:
146
113
  specification_version: 4
147
114
  summary: Backup filesystem and databases (MySQL and PostgreSQL) locally or to a remote
data/.autotest DELETED
@@ -1,3 +0,0 @@
1
- Autotest.add_hook(:initialize) do |at|
2
- at.add_mapping(%r{lib/webtranslateit/safe/config/.*\.rb$}, true) {'spec/webtranslateit/safe/config_spec.rb'}
3
- end
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
@@ -1,26 +0,0 @@
1
- # Please see the documentation for all configuration options:
2
- # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
3
-
4
- version: 2
5
- updates:
6
- - package-ecosystem: "bundler"
7
- directory: "/"
8
- schedule:
9
- interval: "weekly"
10
- day: "monday"
11
- time: "04:00"
12
- reviewers:
13
- - edouard
14
- assignees:
15
- - edouard
16
-
17
- - package-ecosystem: github-actions
18
- directory: "/"
19
- schedule:
20
- interval: weekly
21
- day: monday
22
- time: "04:00"
23
- reviewers:
24
- - edouard
25
- assignees:
26
- - edouard
@@ -1,36 +0,0 @@
1
- name-template: '$RESOLVED_VERSION 🌈'
2
- tag-template: '$RESOLVED_VERSION'
3
- categories:
4
- - title: '🚀 Features'
5
- labels:
6
- - 'feature'
7
- - 'enhancement'
8
- - title: '🐛 Bug Fixes'
9
- labels:
10
- - 'bug'
11
- - 'design'
12
- - 'performance'
13
- - title: '🧰 Maintenance'
14
- labels:
15
- - 'admin'
16
- - 'refactoring'
17
- - 'dependencies'
18
- - 'github_actions'
19
- - 'tests'
20
- change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
21
- change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
22
- version-resolver:
23
- major:
24
- labels:
25
- - 'major'
26
- minor:
27
- labels:
28
- - 'minor'
29
- patch:
30
- labels:
31
- - 'patch'
32
- default: patch
33
- template: |
34
- ## Changes
35
-
36
- $CHANGES