AdMob sample code for Rails

I don't see any discussion about AdMob, an aggregator for ads for mobile phones websites. They're going to live for a bit until AdSense puts out it's mobile-capable versions.

AdMob just put up Rails sample code for Rails. I've included it below. It's pretty simple. Unlike Google AdSense, which requires JavaScript, this code builds an HTTP request, performs a GET from the AdMob server, then gets the Ad text back that gets included in the HTML.

I've got a couple of questions and comments, hoping to have some other sets of Rails eyes take a gander:

1) There are some obvious spots for refactoring. link_to isn't used, for example. And a lot of this could be in helper functions.

2) That said, it seems like a bad idea to have all this embedded right in the RHMTL template for performance. Is that right?

3) I don't understand the request.env lines. Will these get the IP & the User Agent of the browser making the request? Will that still work if it's in the RHTML? What about a helper function?

thx, --dwf

<%   require 'net/http'

  # editable area   # change mob_mode from "test" to "live" when you are done testing   mob_mode = "test"   # use this to set a default link to appear if AdMob does not return an ad   mob_alternate_link = ""   # end editable area

  # User agent and IP: used for ad targeting   mob_ua = url_encode(request.env["HTTP_USER_AGENT"])   mob_ip = url_encode(request.env["REMOTE_ADDR"])

  mob_m = ""   if mob_mode == "test"       mob_m = "&m"   end

  # build the request url   mob_url = "http://ads.admob.com/ad_source.php?s=[AdMobKey]&u=&quot; + mob_ua + "&i=" + mob_ip + mob_m

  begin       # make the request       response = Net::HTTP.get_response(URI.parse(mob_url))

      if response.code == '200'           mob_content = response.body           # parse result           if mob_content.include?('><')               mob_ad_text = mob_content.split('><')[0]               mob_ad_link = mob_content.split('><')[1]           end

          if !mob_ad_link.empty?               # display AdMob Ad               mob_link = "<a href='" + mob_ad_link + "'>" + mob_ad_text + "</a>"           else               # no AdMob ad, display alternate               mob_link = mob_alternate_link           end       else           mob_link = mob_alternate_link       end

  rescue       # no ad or server returned and invalid response code       # display alternate link       mob_link = mob_alternate_link   end %>

<%= mob_link %>