rails-diff 0.6.0 → 0.6.1
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.
- checksums.yaml +4 -4
- data/lib/rails/diff/rails_app_generator.rb +4 -4
- data/lib/rails/diff/rails_repo.rb +7 -6
- data/lib/rails/diff/shell.rb +24 -0
- data/lib/rails/diff/version.rb +1 -1
- data/lib/rails/diff.rb +1 -14
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 282714f27151e8626a70a7a5d583dd16d5f623b5bd6dc5a18b0bd3799972c9b0
|
|
4
|
+
data.tar.gz: 97096cefae2cadbd8708d19cb1d6bfa448a3f324d85b1fa406196de6cc776494
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3aac33eb6514f976ef2d69b98b9a9afcbaf488b4dd10966f7895296cbec5035800851c6ce274a1bbd4dfdd09bda75c95474bb4aa1c441611ff52513e4acc4ccd
|
|
7
|
+
data.tar.gz: 12c2327650881b2de7fcecd7b154106b1445794d8088b12f23f6c0fa2a528d9026c434a4ed6e3b056ccf1bc5d037a7e4c7a958ffa77f74b1ed039fd319e13e3e
|
|
@@ -32,20 +32,20 @@ module Rails
|
|
|
32
32
|
|
|
33
33
|
def install_app_dependencies
|
|
34
34
|
Dir.chdir(template_app_path) do
|
|
35
|
-
unless
|
|
35
|
+
unless Shell.run!("bundle check", abort: false, logger:)
|
|
36
36
|
logger.info "Installing application dependencies"
|
|
37
|
-
|
|
37
|
+
Shell.run!("bundle install", logger:)
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def run_generator(generator_name, *args, skip, only)
|
|
43
43
|
Dir.chdir(template_app_path) do
|
|
44
|
-
|
|
44
|
+
Shell.run!("bin/rails", "destroy", generator_name, *args, logger:)
|
|
45
45
|
logger.info "Running generator: rails generate #{generator_name} #{args.join(" ")}"
|
|
46
46
|
|
|
47
47
|
FileTracker.new(template_app_path, skip, only)
|
|
48
|
-
.new_files {
|
|
48
|
+
.new_files { Shell.run!("bin/rails", "generate", generator_name, *args, logger:) }
|
|
49
49
|
.map { |it| it.delete_prefix("#{template_app_path}/") }
|
|
50
50
|
end
|
|
51
51
|
end
|
|
@@ -12,13 +12,13 @@ module Rails
|
|
|
12
12
|
def checkout(commit)
|
|
13
13
|
on_rails_dir do
|
|
14
14
|
logger.info "Checking out Rails (at commit #{commit[0..6]})"
|
|
15
|
-
|
|
15
|
+
Shell.run!("git", "checkout", commit, logger:)
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def latest_commit
|
|
20
20
|
@latest_commit ||= on_rails_dir do
|
|
21
|
-
|
|
21
|
+
Shell.run!("git fetch origin main", logger:)
|
|
22
22
|
`git rev-parse origin/main`.strip
|
|
23
23
|
end
|
|
24
24
|
end
|
|
@@ -29,9 +29,10 @@ module Rails
|
|
|
29
29
|
|
|
30
30
|
def install_dependencies
|
|
31
31
|
within "railties" do
|
|
32
|
-
unless
|
|
32
|
+
unless Shell.run!("bundle check", abort: false, logger:)
|
|
33
33
|
logger.info "Installing Rails dependencies"
|
|
34
|
-
|
|
34
|
+
Shell.run!("bundle", "config", "set", "--local", "without", "db", logger:)
|
|
35
|
+
Shell.run!("bundle", "install", logger:)
|
|
35
36
|
end
|
|
36
37
|
end
|
|
37
38
|
end
|
|
@@ -40,7 +41,7 @@ module Rails
|
|
|
40
41
|
within "railties" do
|
|
41
42
|
command = rails_new_command(name, options)
|
|
42
43
|
logger.info "Generating new Rails application\n\t > #{command.join(" ")}"
|
|
43
|
-
|
|
44
|
+
Shell.run!(*command, logger:)
|
|
44
45
|
end
|
|
45
46
|
end
|
|
46
47
|
|
|
@@ -74,7 +75,7 @@ module Rails
|
|
|
74
75
|
|
|
75
76
|
def clone_repo
|
|
76
77
|
logger.info "Cloning Rails repository"
|
|
77
|
-
|
|
78
|
+
Shell.run!("git", "clone", "--depth", "1", rails_repo, rails_path, logger:)
|
|
78
79
|
end
|
|
79
80
|
|
|
80
81
|
def rails_new_command(name, options)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "open3"
|
|
4
|
+
|
|
5
|
+
module Rails
|
|
6
|
+
module Diff
|
|
7
|
+
module Shell
|
|
8
|
+
extend self
|
|
9
|
+
|
|
10
|
+
def run!(*cmd, logger:, abort: true)
|
|
11
|
+
_, stderr, status = Open3.capture3(*cmd)
|
|
12
|
+
logger.debug(cmd.join(" "))
|
|
13
|
+
if status.success?
|
|
14
|
+
true
|
|
15
|
+
elsif abort
|
|
16
|
+
logger.error("Command failed:", cmd.join(" "))
|
|
17
|
+
abort stderr
|
|
18
|
+
else
|
|
19
|
+
false
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/rails/diff/version.rb
CHANGED
data/lib/rails/diff.rb
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
require "rails"
|
|
4
4
|
require "diffy"
|
|
5
5
|
require "fileutils"
|
|
6
|
-
require "open3"
|
|
7
6
|
require_relative "diff/cli"
|
|
8
7
|
require_relative "diff/file_tracker"
|
|
9
8
|
require_relative "diff/logger"
|
|
9
|
+
require_relative "diff/shell"
|
|
10
10
|
require_relative "diff/rails_app_generator"
|
|
11
11
|
require_relative "diff/rails_repo"
|
|
12
12
|
require_relative "diff/version"
|
|
@@ -35,19 +35,6 @@ module Rails
|
|
|
35
35
|
.join("\n\n")
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def system!(*cmd, logger:, abort: true)
|
|
39
|
-
_, stderr, status = Open3.capture3(*cmd)
|
|
40
|
-
logger.debug(cmd.join(" "))
|
|
41
|
-
if status.success?
|
|
42
|
-
true
|
|
43
|
-
elsif abort
|
|
44
|
-
logger.error("Command failed:", cmd.join(" "))
|
|
45
|
-
abort stderr
|
|
46
|
-
else
|
|
47
|
-
false
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
38
|
private
|
|
52
39
|
|
|
53
40
|
def diff_with_header(file, template_app_path)
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rails-diff
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matheus Richard
|
|
8
8
|
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: rails
|
|
@@ -74,6 +74,7 @@ files:
|
|
|
74
74
|
- lib/rails/diff/logger.rb
|
|
75
75
|
- lib/rails/diff/rails_app_generator.rb
|
|
76
76
|
- lib/rails/diff/rails_repo.rb
|
|
77
|
+
- lib/rails/diff/shell.rb
|
|
77
78
|
- lib/rails/diff/version.rb
|
|
78
79
|
homepage: https://github.com/matheusrich/rails-diff
|
|
79
80
|
licenses:
|
|
@@ -97,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
97
98
|
- !ruby/object:Gem::Version
|
|
98
99
|
version: '0'
|
|
99
100
|
requirements: []
|
|
100
|
-
rubygems_version: 3.6.
|
|
101
|
+
rubygems_version: 3.6.9
|
|
101
102
|
specification_version: 4
|
|
102
103
|
summary: Compare Rails-generated files with the ones in your repository
|
|
103
104
|
test_files: []
|