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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ebc8de5879d978edc4129cae7ec7bf8b71dc0b49ab8b5ff9bc6df8cb74baabf8
4
- data.tar.gz: bf3f60595d842e247cf1219c8c48ad86d020a791f8d47475cce486fa63a85efc
3
+ metadata.gz: 282714f27151e8626a70a7a5d583dd16d5f623b5bd6dc5a18b0bd3799972c9b0
4
+ data.tar.gz: 97096cefae2cadbd8708d19cb1d6bfa448a3f324d85b1fa406196de6cc776494
5
5
  SHA512:
6
- metadata.gz: 4022acb24a1b2ca674ed1e8c5d20797a641e8d20e571d138c99b98cb5a23212e4df06301a9362fa3bbcd0275d2ae384c93a836080ac3f1e4abbaef116f00871a
7
- data.tar.gz: aff70125214849a5416b197d4060faba06a23262fc20f49c250dbb78c0d5df47d2d65f2f05e9f30a45f79d9bfb3dd622fed927b1791df3816e14de057f749266
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 Rails::Diff.system!("bundle check", abort: false, logger: logger)
35
+ unless Shell.run!("bundle check", abort: false, logger:)
36
36
  logger.info "Installing application dependencies"
37
- Rails::Diff.system!("bundle install", logger: logger)
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
- Rails::Diff.system!("bin/rails", "destroy", generator_name, *args, logger: logger)
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 { Rails::Diff.system!("bin/rails", "generate", generator_name, *args, logger: logger) }
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
- Rails::Diff.system!("git", "checkout", commit, logger: logger)
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
- Rails::Diff.system!("git fetch origin main", logger: logger)
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 Rails::Diff.system!("bundle check", abort: false, logger: logger)
32
+ unless Shell.run!("bundle check", abort: false, logger:)
33
33
  logger.info "Installing Rails dependencies"
34
- Rails::Diff.system!("bundle install", logger: logger)
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
- Rails::Diff.system!(*command, logger: logger)
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
- Rails::Diff.system!("git", "clone", "--depth", "1", rails_repo, rails_path, logger: logger)
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
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rails
4
4
  module Diff
5
- VERSION = "0.6.0"
5
+ VERSION = "0.6.1"
6
6
  end
7
7
  end
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.0
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: 2025-07-25 00:00:00.000000000 Z
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.2
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: []