def about(force_refresh=false)
unless force_refresh
if Repositories.instance.source_cache['plugins'].has_key?(name)
return Repositories.instance.source_cache['plugins'][name]
end
end
tmp = "#{rails_env.root}/_tmp_about.yml"
if svn_url?
cmd = %(svn export #{@uri}/about.yml "#{tmp}")
puts cmd if $verbose
system(cmd)
end
about_uri = svn_url? ? tmp : File.join(@uri, 'about.yml')
open(about_uri) do |stream|
about_hash = YAML.load(stream.read)
unless about_hash.is_a?(Hash) && !about_hash['plugin'].nil?
raise("#{name}'s about.yml wasn't valid YAML")
end
return about_hash
end
rescue
{
'plugin' => uri
}
ensure
FileUtils.rm_rf tmp if svn_url?
end