bundlerのsourceに指定するショートカットは古い
WEB+DB PRESS vol.74のrubymotionの特集の記事を読みながら
sampleコードを写経していたら、Gemfileの内容が以下のようになっていました。
sourceの部分がsymbolですね。
source :rubygems gem 'rake' 略
おもむろにbundle installすると
下記のようなwarningが表示されました。
$ bundle The source :rubygems is deprecated because HTTP requests are insecure. Please change your source to 'https://rubygems.org' if possible, or 'http://rubygems.org' if not. Fetching gem metadata from http://rubygems.org/...
httpはinsecureだからdeprecatedでhttps://rubygems.org使っておきなさいとのこと。
そういえば、railsでもそういうやりとりがあったのを思い出しました。
Access rubygems.org via https by default when using :rubygems in Gemfile by spagalloco · Pull Request #1585 · carlhuda/bundler
ちなみにcodeは下記
bundler-1.3.5/lib/bundler/dsl.rb
def source(source, options = {}) case source when :gemcutter, :rubygems, :rubyforge then Bundler.ui.warn "The source :#{source} is deprecated because HTTP " \ "requests are insecure.\nPlease change your source to 'https://" \ "rubygems.org' if possible, or 'http://rubygems.org' if not." @rubygems_source.add_remote "http://rubygems.org" return when String @rubygems_source.add_remote source return else @source = source if options[:prepend] @sources = [@source] | @sources else @sources = @sources | [@source] end yield if block_given? return @source end ensure @source = nil end
:gemcutter, :rubygems, :rubyforge が使えたんですね。
古い公式には一応記載されています