diff options
author | Tony Jian <tonytonyjan@gmail.com> | 2015-02-21 12:17:19 -0700 |
---|---|---|
committer | BM5k <me@bm5k.com> | 2015-02-21 12:17:19 -0700 |
commit | 17a4fc47bfad02de553e5a53b00ad38b4c905e18 (patch) | |
tree | 5dcfb339e02d5428b879f8f42ae7d8b229ddc09a /lib/bundler/cli | |
parent | 47fe559667ffd8e11169189c1c65c1d86d9e6a72 (diff) | |
download | bundler-17a4fc47bfad02de553e5a53b00ad38b4c905e18.tar.gz |
prevent naming mistake
Diffstat (limited to 'lib/bundler/cli')
-rw-r--r-- | lib/bundler/cli/gem.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb index e00994a4..ea15b3b4 100644 --- a/lib/bundler/cli/gem.rb +++ b/lib/bundler/cli/gem.rb @@ -40,6 +40,7 @@ module Bundler :bin => options[:bin], :bundler_version => bundler_dependency_version } + ensure_safe_gem_name(opts[:name], opts[:constant_array]) templates = { "Gemfile.tt" => "Gemfile", @@ -170,5 +171,15 @@ module Bundler req.join(".") end + def ensure_safe_gem_name name, constant_array + if name =~ /^\d/ + Bundler.ui.error "Invalid gem name #{name} Please give a name which does not start with numbers." + exit 1 + elsif Object.const_defined?(constant_array.first) + Bundler.ui.error "Invalid gem name #{name} constant #{constant_array.join("::")} is already in use. Please choose another gem name." + exit 1 + end + end + end end |