<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,22 @@
-#Describes a location
 module FireEagle
+  class StringWithExactMatch &lt; String
+    attr_writer :exact_match
+
+    def initialize(value = &quot;&quot;)
+      node = XML::Parser.string(value).parse.root
+      str = super(node.content)
+      str.exact_match = node.attributes.to_h[&quot;exact-match&quot;] == &quot;true&quot;
+      node = nil
+
+      str
+    end
+
+    def exact_match?
+      @exact_match
+    end
+  end
+
+  # Represents a location
   class Location
     include HappyMapper
 
@@ -11,9 +28,9 @@ module FireEagle
     element :located_at, Time,   :tag =&gt; &quot;located-at&quot;
     element :name, String
     element :normal_name, String, :tag =&gt; &quot;normal-name&quot;
-    element :place_id, String,    :tag =&gt; &quot;place-id&quot;
+    element :place_id, StringWithExactMatch, :tag =&gt; &quot;place-id&quot;, :parser =&gt; :new, :raw =&gt; true
     element :query, String
-    element :woeid, Integer
+    element :woeid, StringWithExactMatch,    :parser =&gt; :new,    :raw =&gt; true
 
     element :_box, GeoRuby::SimpleFeatures::Geometry,   :tag =&gt; &quot;box&quot;,
       :namespace =&gt; &quot;georss&quot;, :parser =&gt; :from_georss, :raw =&gt; true
@@ -24,15 +41,15 @@ module FireEagle
       best_guess == true
     end
 
-    def to_s
-      name
-    end
-
     # The GeoRuby[http://georuby.rubyforge.org/] representation of this location
     def geom
       _point || _box
     end
 
     alias_method :geo, :geom
+
+    def to_s
+      name
+    end
   end
 end</diff>
      <filename>lib/fireeagle/location.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,7 +3,8 @@ module FireEagle
     include HappyMapper
 
     tag &quot;location-hierarchy&quot;
-    attribute :timezone, String
+    attribute :string,    String
+    attribute :timezone,  String
     has_many  :locations, Location
   end
 end
\ No newline at end of file</diff>
      <filename>lib/fireeagle/location_hierarchy.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,21 +23,40 @@ describe FireEagle::Location do
     @location.name.should == 'Davis, CA'
   end
 
-  it &quot;should represent the location place id&quot; do
+  it &quot;should represent the raw name&quot; do
+    @location.normal_name.should == &quot;Davis&quot;
+  end
+
+  it &quot;should represent the location's place id&quot; do
     @location.place_id.should == 'u4L9ZOObApTdx1q3'
   end
 
+  it &quot;should represent whether the location's place id is an exact match&quot; do
+    @location.place_id.should be_an_exact_match
+  end
+
+  it &quot;should represent the location's WOEID&quot; do
+    @location.woeid.should == &quot;2389646&quot;
+  end
+
+  it &quot;should represent whether the location's WOEID is an exact match&quot; do
+    @location.woeid.should be_an_exact_match
+  end
+
   it &quot;should represent the location's timestamp&quot; do
     @location.located_at.should == Time.parse(&quot;2008-01-22T14:23:11-08:00&quot;)
   end
 
+  it &quot;should represent the label&quot; do
+    @location.label.should == &quot;Home of UC Davis&quot;
+  end
+
   it &quot;should use the name for #to_s&quot; do
     @location.to_s.should == @location.name
   end
 
-  it &quot;should return the actual query string&quot; do
-    pending(&quot;unclear what this should actually look like; perhaps a Hash?&quot;)
-    @location_with_query.query.should == &quot;333 W Harbor Dr, San Diego, CA&quot;
+  it &quot;should represent the querystring&quot; do
+    @location_with_query.query.should == &quot;q=333%20W%20Harbor%20Dr,%20San%20Diego,%20CA&quot;
   end
 
   describe &quot;GeoRuby support&quot; do</diff>
      <filename>spec/location_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,5 +4,8 @@
   &lt;level-name&gt;city&lt;/level-name&gt;
   &lt;located-at&gt;2008-01-22T14:23:11-08:00&lt;/located-at&gt;
   &lt;name&gt;Davis, CA&lt;/name&gt;
-  &lt;place-id&gt;u4L9ZOObApTdx1q3&lt;/place-id&gt;
+  &lt;normal-name&gt;Davis&lt;/normal-name&gt;
+  &lt;woeid exact-match=&quot;true&quot;&gt;2389646&lt;/woeid&gt;
+  &lt;place-id exact-match=&quot;true&quot;&gt;u4L9ZOObApTdx1q3&lt;/place-id&gt;
+  &lt;label&gt;Home of UC Davis&lt;/label&gt;
 &lt;/location&gt;</diff>
      <filename>spec/responses/location_chunk.xml</filename>
    </modified>
    <modified>
      <diff>@@ -5,5 +5,5 @@
   &lt;level-name&gt;exact&lt;/level-name&gt;
   &lt;located-at&gt;2008-03-03T09:05:16-08:00&lt;/located-at&gt;
   &lt;name&gt;333 W Harbor Dr, San Diego, CA&lt;/name&gt;
-  &lt;query&gt; &quot;q=333%20W%20Harbor%20Dr,%20San%20Diego,%20CA&quot; &lt;/query&gt;
+  &lt;query&gt;q=333%20W%20Harbor%20Dr,%20San%20Diego,%20CA&lt;/query&gt;
 &lt;/location&gt;</diff>
      <filename>spec/responses/location_chunk_with_query.xml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ef1bd51e330faf4a707abaea3bca3538297be48e</id>
    </parent>
  </parents>
  <author>
    <name>Seth Fitzsimmons</name>
    <email>seth@mojodna.net</email>
  </author>
  <url>http://github.com/jnewland/fireeagle/commit/46538cc188fa4fb42f28c145be9f5a8f8498aa18</url>
  <id>46538cc188fa4fb42f28c145be9f5a8f8498aa18</id>
  <committed-date>2009-02-02T19:15:40-08:00</committed-date>
  <authored-date>2009-02-02T19:15:02-08:00</authored-date>
  <message>Added missing response elements</message>
  <tree>375f6559f64699050981fdb8706e92b799073c7e</tree>
  <committer>
    <name>Seth Fitzsimmons</name>
    <email>seth@mojodna.net</email>
  </committer>
</commit>
