{"record":{"id":"74b344c76632b054","repo":"ruby/rubygems","slug":"you-need-to-pass-a-block-to-git-source","errorCode":null,"errorMessage":"You need to pass a block to #git_source","messagePattern":"You need to pass a block to #git_source","errorType":"exception","errorClass":"InvalidOption","httpStatus":null,"severity":"error","filePath":"lib/bundler/dsl.rb","lineNumber":152,"sourceCode":"          plugin(source_plugin)\n        end\n\n        unless block_given?\n          raise InvalidOption, \"You need to pass a block to #source with :type option\"\n        end\n\n        source_opts = options.merge(\"uri\" => source)\n        with_source(@sources.add_plugin_source(options[\"type\"], source_opts), &blk)\n      elsif block_given?\n        with_source(@sources.add_rubygems_source(\"remotes\" => source, \"cooldown\" => cooldown), &blk)\n      else\n        @sources.add_global_rubygems_remote(source, cooldown: cooldown)\n      end\n    end\n\n    def git_source(name, &block)\n      unless block_given?\n        raise InvalidOption, \"You need to pass a block to #git_source\"\n      end\n\n      if valid_keys.include?(name.to_s)\n        raise InvalidOption, \"You cannot use #{name} as a git source. It \" \\\n          \"is a reserved key. Reserved keys are: #{valid_keys.join(\", \")}\"\n      end\n\n      @git_sources[name.to_s] = block\n    end\n\n    def path(path, options = {}, &blk)\n      source_options = normalize_hash(options).merge(\n        \"path\" => Pathname.new(path),\n        \"root_path\" => gemfile_root\n      )\n\n      source_options[\"global\"] = true unless block_given?\n","sourceCodeStart":134,"sourceCodeEnd":170,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/bundler/dsl.rb#L134-L170","documentation":"Error \"You need to pass a block to #git_source\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/bundler/dsl.rb:152 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}