dump 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.rubocop.yml +53 -0
- data/.rubocop_todo.yml +33 -0
- data/.travis.yml +12 -3
- data/README.markdown +8 -0
- data/dump.gemspec +4 -1
- data/lib/dump.rb +1 -0
- data/lib/dump/capistrano.rb +7 -1
- data/lib/dump/capistrano/v2.rb +331 -0
- data/lib/dump/railtie.rb +1 -0
- data/lib/dump_rake.rb +17 -8
- data/lib/dump_rake/archive_tar_minitar_fix.rb +3 -1
- data/lib/dump_rake/assets.rb +1 -0
- data/lib/dump_rake/continious_timeout.rb +17 -17
- data/lib/dump_rake/dump.rb +27 -22
- data/lib/dump_rake/dump_reader.rb +62 -63
- data/lib/dump_rake/dump_writer.rb +20 -21
- data/lib/dump_rake/env.rb +12 -10
- data/lib/dump_rake/env/filter.rb +3 -0
- data/lib/dump_rake/rails_root.rb +1 -0
- data/lib/dump_rake/table_manipulation.rb +23 -20
- data/lib/generators/assets_config/assets_config_generator.rb +2 -0
- data/lib/tasks/assets.rake +1 -2
- data/lib/tasks/dump.rake +5 -6
- data/recipes/dump.rb +1 -343
- data/script/update_readme +5 -3
- data/spec/cycle_spec.rb +33 -30
- data/spec/dummy_rails_app.rb +42 -0
- data/spec/lib/dump_rake/dump_reader_spec.rb +80 -92
- data/spec/lib/dump_rake/dump_spec.rb +56 -58
- data/spec/lib/dump_rake/dump_writer_spec.rb +42 -43
- data/spec/lib/dump_rake/env/filter_spec.rb +9 -9
- data/spec/lib/dump_rake/env_spec.rb +21 -21
- data/spec/lib/dump_rake/rails_root_spec.rb +7 -7
- data/spec/lib/dump_rake/table_manipulation_spec.rb +57 -63
- data/spec/lib/dump_rake_spec.rb +76 -76
- data/spec/recipes/dump_spec.rb +241 -217
- data/spec/spec_helper.rb +1 -42
- data/spec/tasks/assets_spec.rb +18 -18
- data/spec/tasks/dump_spec.rb +18 -18
- metadata +21 -2
data/spec/spec_helper.rb
CHANGED
@@ -1,51 +1,10 @@
|
|
1
1
|
ENV['RAILS_ENV'] ||= 'test'
|
2
2
|
|
3
|
-
require '
|
4
|
-
|
5
|
-
rails_version = Rails::VERSION::STRING.split('.')
|
6
|
-
|
7
|
-
if rails_version[0].to_i < 3 && !Gem.respond_to?(:source_index)
|
8
|
-
module Gem
|
9
|
-
def self.source_index; sources; end
|
10
|
-
SourceIndex = Specification
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
environment_paths = (1..rails_version.length).map do |count|
|
15
|
-
version_part = rails_version[0, count].join('.')
|
16
|
-
File.expand_path("../dummy-#{version_part}/config/environment", __FILE__)
|
17
|
-
end.reverse
|
18
|
-
|
19
|
-
environment_paths.any? do |environment_path|
|
20
|
-
if File.exist?("#{environment_path}.rb")
|
21
|
-
require environment_path
|
22
|
-
true
|
23
|
-
end
|
24
|
-
end || begin
|
25
|
-
command = "RAILS_VERSION=#{rails_version.join('.')} bundle exec rails " + if rails_version[0].to_i < 3
|
26
|
-
"spec/dummy-#{rails_version[0, 2].join('.')}"
|
27
|
-
else
|
28
|
-
"new spec/dummy-#{rails_version[0, 2].join('.')} -TSJ --skip-bundle"
|
29
|
-
end
|
30
|
-
|
31
|
-
abort [
|
32
|
-
"No dummy app for rails version #{rails_version.join('.')}",
|
33
|
-
"Create using `#{command}`",
|
34
|
-
'Tried:', *environment_paths
|
35
|
-
].join("\n")
|
36
|
-
end
|
37
|
-
|
38
|
-
$:.unshift '../lib/dump_rake'
|
3
|
+
require 'dummy_rails_app'
|
39
4
|
require 'dump_rake'
|
40
5
|
|
41
|
-
PLUGIN_SPEC_DIR = File.expand_path(File.dirname(__FILE__)) unless defined? PLUGIN_SPEC_DIR
|
42
6
|
ActiveRecord::Base.logger = Logger.new(File.join(DumpRake::RailsRoot, 'log/dump.log'))
|
43
7
|
|
44
|
-
DUMMY_SCHEMA_PATH = File.join(PLUGIN_SPEC_DIR, "db", "schema.rb") unless defined? DUMMY_SCHEMA_PATH
|
45
|
-
|
46
|
-
class Chicken < ActiveRecord::Base
|
47
|
-
end
|
48
|
-
|
49
8
|
def grab_output
|
50
9
|
real_stdout, $stdout = $stdout, StringIO.new
|
51
10
|
real_stderr, $stderr = $stderr, StringIO.new
|
data/spec/tasks/assets_spec.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rake'
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe 'rake assets' do
|
5
5
|
before do
|
6
6
|
@rake = Rake::Application.new
|
7
7
|
Rake.application = @rake
|
8
|
-
load
|
8
|
+
load 'tasks/assets.rake'
|
9
9
|
ENV['ASSETS'] = nil
|
10
10
|
end
|
11
11
|
|
@@ -15,11 +15,11 @@ describe "rake assets" do
|
|
15
15
|
public/images/b
|
16
16
|
end_src
|
17
17
|
expect(File).to receive(:readlines).with(File.join(DumpRake::RailsRoot, 'config/assets')).and_return(StringIO.new(data).readlines)
|
18
|
-
@rake[
|
18
|
+
@rake['assets'].invoke
|
19
19
|
expect(ENV['ASSETS']).to eq('public/images/a:public/images/b')
|
20
20
|
end
|
21
21
|
|
22
|
-
it
|
22
|
+
it 'should ignore comments in config/assets' do
|
23
23
|
data = <<-end_src
|
24
24
|
#comment
|
25
25
|
#comment
|
@@ -27,7 +27,7 @@ describe "rake assets" do
|
|
27
27
|
public/images/b
|
28
28
|
end_src
|
29
29
|
allow(File).to receive(:readlines).and_return(StringIO.new(data).readlines)
|
30
|
-
@rake[
|
30
|
+
@rake['assets'].invoke
|
31
31
|
expect(ENV['ASSETS']).to eq('public/images/a:public/images/b')
|
32
32
|
end
|
33
33
|
|
@@ -38,31 +38,31 @@ describe "rake assets" do
|
|
38
38
|
end_src
|
39
39
|
allow(File).to receive(:readlines).and_return(StringIO.new(data).readlines)
|
40
40
|
DumpRake::Env.with_env :assets => 'public/images' do
|
41
|
-
@rake[
|
41
|
+
@rake['assets'].invoke
|
42
42
|
expect(ENV['ASSETS']).to eq('public/images')
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe
|
46
|
+
describe 'delete' do
|
47
47
|
before do
|
48
48
|
allow(FileUtils).to receive(:remove_entry)
|
49
49
|
end
|
50
50
|
|
51
|
-
it
|
52
|
-
expect(@rake[
|
51
|
+
it 'should require assets task' do
|
52
|
+
expect(@rake['assets:delete'].prerequisites).to include('assets')
|
53
53
|
end
|
54
54
|
|
55
|
-
describe
|
56
|
-
it
|
55
|
+
describe 'deleting existing assets' do
|
56
|
+
it 'should go through each asset from config' do
|
57
57
|
allow(ENV).to receive(:[]).with('ASSETS').and_return('images:videos')
|
58
58
|
|
59
59
|
expect(File).to receive(:expand_path).with('images', DumpRake::RailsRoot).and_return('')
|
60
60
|
expect(File).to receive(:expand_path).with('videos', DumpRake::RailsRoot).and_return('')
|
61
61
|
|
62
|
-
@rake[
|
62
|
+
@rake['assets:delete'].invoke
|
63
63
|
end
|
64
64
|
|
65
|
-
it
|
65
|
+
it 'should glob all assets and delete content' do
|
66
66
|
@assets = %w[images videos]
|
67
67
|
allow(ENV).to receive(:[]).with('ASSETS').and_return(@assets.join(':'))
|
68
68
|
@assets.each do |asset|
|
@@ -74,10 +74,10 @@ describe "rake assets" do
|
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
77
|
-
@rake[
|
77
|
+
@rake['assets:delete'].invoke
|
78
78
|
end
|
79
79
|
|
80
|
-
it
|
80
|
+
it 'should not glob risky paths' do
|
81
81
|
@assets = %w[images / /private ../ ../.. ./../ dir/.. dir/../..]
|
82
82
|
allow(ENV).to receive(:[]).with('ASSETS').and_return(@assets.join(':'))
|
83
83
|
|
@@ -85,7 +85,7 @@ describe "rake assets" do
|
|
85
85
|
expect(Dir).to receive(:[]).with(File.join(DumpRake::RailsRoot, '*')).and_return([])
|
86
86
|
expect(FileUtils).not_to receive(:remove_entry)
|
87
87
|
|
88
|
-
@rake[
|
88
|
+
@rake['assets:delete'].invoke
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
data/spec/tasks/dump_spec.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rake'
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe 'rake dump' do
|
5
5
|
before do
|
6
6
|
@rake = Rake::Application.new
|
7
7
|
Rake.application = @rake
|
8
|
-
load
|
8
|
+
load 'tasks/dump.rake'
|
9
9
|
Rake::Task.define_task(:environment)
|
10
10
|
end
|
11
11
|
|
12
12
|
%w[versions create restore cleanup].each do |task|
|
13
13
|
describe task do
|
14
|
-
it
|
15
|
-
expect(@rake["dump:#{task}"].prerequisites).to include(
|
14
|
+
it 'should require environment task' do
|
15
|
+
expect(@rake["dump:#{task}"].prerequisites).to include('environment')
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
-
describe
|
20
|
+
describe 'versions' do
|
21
21
|
before do
|
22
|
-
@task = @rake[
|
22
|
+
@task = @rake['dump:versions']
|
23
23
|
end
|
24
24
|
|
25
|
-
it
|
25
|
+
it 'should call DumpRake.versions' do
|
26
26
|
expect(DumpRake).to receive(:versions)
|
27
27
|
@task.invoke
|
28
28
|
end
|
@@ -39,12 +39,12 @@ describe "rake dump" do
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
describe
|
42
|
+
describe 'create' do
|
43
43
|
before do
|
44
|
-
@task = @rake[
|
44
|
+
@task = @rake['dump:create']
|
45
45
|
end
|
46
46
|
|
47
|
-
it
|
47
|
+
it 'should call DumpRake.create' do
|
48
48
|
expect(DumpRake).to receive(:create)
|
49
49
|
@task.invoke
|
50
50
|
end
|
@@ -61,12 +61,12 @@ describe "rake dump" do
|
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
64
|
-
describe
|
64
|
+
describe 'restore' do
|
65
65
|
before do
|
66
|
-
@task = @rake[
|
66
|
+
@task = @rake['dump:restore']
|
67
67
|
end
|
68
68
|
|
69
|
-
it
|
69
|
+
it 'should call DumpRake.restore' do
|
70
70
|
expect(DumpRake).to receive(:restore)
|
71
71
|
@task.invoke
|
72
72
|
end
|
@@ -83,12 +83,12 @@ describe "rake dump" do
|
|
83
83
|
end
|
84
84
|
end
|
85
85
|
|
86
|
-
describe
|
86
|
+
describe 'cleanup' do
|
87
87
|
before do
|
88
|
-
@task = @rake[
|
88
|
+
@task = @rake['dump:cleanup']
|
89
89
|
end
|
90
90
|
|
91
|
-
it
|
91
|
+
it 'should call DumpRake.cleanup' do
|
92
92
|
expect(DumpRake).to receive(:cleanup)
|
93
93
|
@task.invoke
|
94
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dump
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Kuchin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: archive-tar-minitar
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubocop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.27'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.27'
|
55
69
|
description:
|
56
70
|
email:
|
57
71
|
executables: []
|
@@ -60,6 +74,8 @@ extra_rdoc_files: []
|
|
60
74
|
files:
|
61
75
|
- .autotest
|
62
76
|
- .gitignore
|
77
|
+
- .rubocop.yml
|
78
|
+
- .rubocop_todo.yml
|
63
79
|
- .travis.database.yml
|
64
80
|
- .travis.yml
|
65
81
|
- Gemfile
|
@@ -68,6 +84,7 @@ files:
|
|
68
84
|
- dump.gemspec
|
69
85
|
- lib/dump.rb
|
70
86
|
- lib/dump/capistrano.rb
|
87
|
+
- lib/dump/capistrano/v2.rb
|
71
88
|
- lib/dump/railtie.rb
|
72
89
|
- lib/dump_rake.rb
|
73
90
|
- lib/dump_rake/archive_tar_minitar_fix.rb
|
@@ -202,6 +219,7 @@ files:
|
|
202
219
|
- spec/dummy-4.1/config/secrets.yml
|
203
220
|
- spec/dummy-4.1/db/seeds.rb
|
204
221
|
- spec/dummy-4.1/log/.keep
|
222
|
+
- spec/dummy_rails_app.rb
|
205
223
|
- spec/lib/dump_rake/dump_reader_spec.rb
|
206
224
|
- spec/lib/dump_rake/dump_spec.rb
|
207
225
|
- spec/lib/dump_rake/dump_writer_spec.rb
|
@@ -355,6 +373,7 @@ test_files:
|
|
355
373
|
- spec/dummy-4.1/config/secrets.yml
|
356
374
|
- spec/dummy-4.1/db/seeds.rb
|
357
375
|
- spec/dummy-4.1/log/.keep
|
376
|
+
- spec/dummy_rails_app.rb
|
358
377
|
- spec/lib/dump_rake/dump_reader_spec.rb
|
359
378
|
- spec/lib/dump_rake/dump_spec.rb
|
360
379
|
- spec/lib/dump_rake/dump_writer_spec.rb
|