self.from_rubygems

in lib/logstash-docket/repository.rb [27:46]


    def self.from_rubygems(gem_name, gem_version=nil, &source_generator)
      rubygem_info = RubygemInfo.new(gem_name)
      if rubygem_info.nil?
        $stderr.puts("[gem:#{gem_name}]: release metadata unavailable from rubygems.org")
        return nil
      end

      gem_version ||= rubygem_info.latest

      gemdata = rubygem_info.for_version(gem_version)
      if gemdata.nil?
        $stderr.puts("[gem:#{gem_name}]: release `#{gem_version}` not published to rubygems.org")
        return nil
      end

      source = source_generator.call(gemdata)

      new(gem_name, source, rubygem_info)
    end