Skip to content

Commit 79ad25a

Browse files
koicbbatsov
authored andcommitted
Add "add_dependency vs add_runtime_dependency" rule
Follow up ruby/rubygems#7799 (comment). Prefer `add_dependency` over `add_runtime_dependency` because `add_dependency` is considered soft-deprecated and the Bundler team recommends `add_dependency`. ```ruby # bad Gem::Specification.new do |s| s.add_runtime_dependency 'gem_a' end # good Gem::Specification.new do |s| s.add_dependency 'gem_a' end ```
1 parent 89ed244 commit 79ad25a

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

README.adoc

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5626,9 +5626,9 @@ The gemspec should not contain `RUBY_VERSION` as a condition to switch dependenc
56265626
# bad
56275627
Gem::Specification.new do |s|
56285628
if RUBY_VERSION >= '2.5'
5629-
s.add_runtime_dependency 'gem_a'
5629+
s.add_dependency 'gem_a'
56305630
else
5631-
s.add_runtime_dependency 'gem_b'
5631+
s.add_dependency 'gem_b'
56325632
end
56335633
end
56345634
----
@@ -5639,6 +5639,26 @@ Fix by either:
56395639
* Add both gems as dependency (if permissible).
56405640
* If development dependencies, move to Gemfile.
56415641

5642+
=== `add_dependency` vs `add_runtime_dependency` [[add_dependency_vs_add_runtime_dependency]]
5643+
5644+
Prefer `add_dependency` over `add_runtime_dependency` because `add_dependency` is considered soft-deprecated
5645+
and the Bundler team recommends `add_dependency`.
5646+
5647+
[source,ruby]
5648+
----
5649+
# bad
5650+
Gem::Specification.new do |s|
5651+
s.add_runtime_dependency 'gem_a'
5652+
end
5653+
5654+
# good
5655+
Gem::Specification.new do |s|
5656+
s.add_dependency 'gem_a'
5657+
end
5658+
----
5659+
5660+
See https://github.com/rubygems/rubygems/issues/7799#issuecomment-2192720316 for details.
5661+
56425662
== Misc
56435663

56445664
=== No Flip-flops [[no-flip-flops]]

0 commit comments

Comments
 (0)