From bb2fabd07cbc722abafa0339457c274c87e07cd6 Mon Sep 17 00:00:00 2001 From: Jan Lelis Date: Thu, 19 Mar 2015 04:38:52 +0100 Subject: Improve generating module name from gem name in gem generator --- lib/bundler/cli/gem.rb | 4 ++-- spec/commands/newgem_spec.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/bundler/cli/gem.rb b/lib/bundler/cli/gem.rb index 9ce8de4a05..da747992c4 100644 --- a/lib/bundler/cli/gem.rb +++ b/lib/bundler/cli/gem.rb @@ -20,8 +20,8 @@ module Bundler underscored_name = name.tr('-', '_') namespaced_path = name.tr('-', '/') - constant_name = name.split('_').map{|p| p[0..0].upcase + p[1..-1] unless p.empty?}.join - constant_name = constant_name.split('-').map{|q| q[0..0].upcase + q[1..-1] }.join('::') if constant_name =~ /-/ + constant_name = name.gsub(/-[_-]*(?![_-]|$)/){ '::' }.gsub(/([_-]+|(::)|^)(.|$)/){ $2.to_s + $3.upcase } + constant_array = constant_name.split('::') git_user_name = `git config user.name`.chomp git_user_email = `git config user.email`.chomp diff --git a/spec/commands/newgem_spec.rb b/spec/commands/newgem_spec.rb index c8c5bf5917..7ea10cc247 100644 --- a/spec/commands/newgem_spec.rb +++ b/spec/commands/newgem_spec.rb @@ -578,6 +578,15 @@ describe "bundle gem" do end end + describe "uncommon gem names" do + it "can deal with two dashes" do + bundle "gem a--a" + Bundler.clear_gemspec_cache + + expect(bundled_app("a--a/a--a.gemspec")).to exist + end + end + context "on first run" do before do in_app_root -- cgit v1.2.1