Java vs. Ruby
They say fewer words are needed to express yourself in swedish compared to finish (soumalainen). The case seems to be the same for Ruby compared to Java
Java (32 lines):
public void testValidity(URLConnection url_conn) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(url_conn.getInputStream()));
String l;
StringBuffer buff = new StringBuffer();
while((l = br.readLine()) != null) {
buff.append(l).append(“\n”);
}
String data = URLEncoder.encode(“rawdata”, “UTF-8”) + “=” + URLEncoder.encode(buff.toString(), “UTF-8”);
data += “&” + URLEncoder.encode(“manual”, “UTF-8”) + “=” + URLEncoder.encode(“1”, “UTF-8”);
URL url = new URL(VALIDATOR_URL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestMethod(“POST”);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
wr.close();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuffer strbuff = new StringBuffer();
while ((line = rd.readLine()) != null) {
strbuff.append(line);
}
rd.close();
assertThat(“That our RSS feed is valid”, strbuff.toString().contains(“This is a valid RSS feed”), is(notNullValue()));
}
Ruby (4 lines):
%w[uri net/http].each {|x| require x}
params = {‘rawdata’=>Net::HTTP.get(URI.parse(‘http://jenstinfors.com/rss’)), ‘manual’=>’1’}
response = Net::HTTP.post_form(URI.parse(‘http://validator.w3.org/feed/check.cgi’), params)
puts ‘ok’ if response.read_body =~ /This is a valid RSS feed/