Sha256: 40a8e9c02d37cd653ca92831d0f10b58ea8136df0b54bdeae10dafa375d99055
Contents?: true
Size: 1.09 KB
Versions: 2
Compression:
Stored size: 1.09 KB
Contents
#!/usr/bin/env ruby # encoding: UTF-8 $:.unshift File.expand_path('../../lib', __FILE__) require 'net/http' require 'uri' require 'image_optim/bin_resolver/simple_version' README_FILE = File.expand_path('../../README.markdown', __FILE__) def fetch_url(url) res = Net::HTTP.get_response(URI(url)) raise "Got #{res.class}" unless res.is_a?(Net::HTTPSuccess) res.body end def v(s) ImageOptim::BinResolver::SimpleVersion.new(s) end def update_instructions(text) latest_versions = Hash.new do |h, project| data = fetch_url("http://freecode.com/projects/#{project}/releases.atom") versions = data.scan(%r{<title>[a-z]+ (\d+(?:\.\d+)+)</title>}).map{ |m| v(m[0]) } h[project] = versions.max end updated = text.gsub(/([a-z]+)-(\d+(?:\.\d+)+)/) do |m| project, current = $1, v($2) latest = latest_versions[project] "#{project}-#{[current, latest].max}" end updated unless text == updated end readme = File.read(README_FILE) if readme = update_instructions(readme) File.open(README_FILE, 'w') do |f| f.write readme end else abort "Did not update instructions" end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
image_optim-0.13.3 | script/update_instructions_in_readme |
image_optim-0.13.2 | script/update_instructions_in_readme |