bundlerEnv: better error handling

properly handle the case where a gemspec is missing

+15 -7
+15 -7
pkgs/development/interpreters/ruby/bundler-env/monkey_patches.rb
··· 74 74 75 75 spec_list = gem_names.map do |name| 76 76 spec = Bundler.nix_gemspecs.detect {|spec| spec.name == name } 77 - dependencies = spec.dependencies. 78 - select {|dep| dep.type != :development}. 79 - map do |dep| 80 - deps_list << dep.name 81 - dep 82 - end 77 + if spec.nil? 78 + msg = "WARNING: Could not find gemspec for '#{name}'" 79 + Bundler.ui.warn msg 80 + nil 81 + else 82 + dependencies = spec.dependencies. 83 + select {|dep| dep.type != :development}. 84 + map do |dep| 85 + deps_list << dep.name 86 + dep 87 + end 83 88 84 - [spec.name, spec.version, spec.platform, dependencies] 89 + [spec.name, spec.version, spec.platform, dependencies] 90 + end 85 91 end 92 + 93 + spec_list.compact! 86 94 87 95 [spec_list, deps_list.uniq] 88 96 end