# File lib/bundler/dsl.rb, line 45
    def gemspec(opts = nil)
      path              = opts && opts[:path] || "."
      glob              = opts && opts[:glob]
      name              = opts && opts[:name] || "{,*}"
      development_group = opts && opts[:development_group] || :development
      expanded_path     = File.expand_path(path, Bundler.default_gemfile.dirname)

      gemspecs = Dir[File.join(expanded_path, "#{name}.gemspec")]

      case gemspecs.size
      when 1
        spec = Bundler.load_gemspec(gemspecs.first)

        unless spec
          raise InvalidOption, "There was an error loading the gemspec at " \
            "#{file}. Make sure you can build the gem, then try again"
        end

        gem spec.name, :path => path, :glob => glob

        group(development_group) do
          spec.development_dependencies.each do |dep|
            gem dep.name, *(dep.requirement.as_list + [:type => :development])
          end
        end

        @gemspecs << gemspecs.first
      when 0
        raise InvalidOption, "There are no gemspecs at #{expanded_path}"
      else
        raise InvalidOption, "There are multiple gemspecs at #{expanded_path}. " \
          "Please use the :name option to specify which one should be used"
      end
    end