<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,6 @@
 == 1.0.5 2008-05-12
 
-* 1 major enhancement:
+* 1 major change:
 	* Updated and refactored Flickr::Group class and Flickr#groups method to work with current Flickr API. Flickr#groups now searches for given group, rather than groups.getActiveList (which no longer exists as Flickr API call)
 * Minor enhancements:
 	* Tweaked internals so new client instance isn't created each time new object (e.g. photo, user) is created</diff>
      <filename>History.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,27 +1,11 @@
 History.txt
 LICENSE
-License.txt
 Manifest.txt
-PostInstall.txt
-README
 README.txt
 Rakefile
 TODO
 lib/flickr.rb
-script/console
 script/destroy
 script/generate
-script/txt2html
 setup.rb
-spec/flickr_spec.rb
-spec/spec_helper.rb
-tasks/deployment.rake
-tasks/environment.rake
-tasks/website.rake
 test/test_flickr.rb
-test/test_helper.rb
-website/index.html
-website/index.txt
-website/javascripts/rounded_corners_lite.inc.js
-website/stylesheets/screen.css
-website/template.html.erb</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -283,7 +283,10 @@ class Flickr
         
     # Implements flickr.people.getPublicGroups
     def groups
-      @client.people_getPublicGroups('user_id'=&gt;@id)['groups']['group'].collect { |group| Group.new(group['nsid'], @api_key) }
+      @client.people_getPublicGroups('user_id'=&gt;@id)['groups']['group'].collect { |group| Group.new( &quot;id&quot; =&gt; group['nsid'], 
+                                                                                                     &quot;name&quot; =&gt; group['name'],
+                                                                                                     &quot;eighteenplus&quot; =&gt; group['eighteenplus'],
+                                                                                                     &quot;client&quot; =&gt; @client) }
     end
     
     # Implements flickr.people.getPublicPhotos. Options hash allows you to add
@@ -582,7 +585,7 @@ class Flickr
   # flickr.groups.pools.getPhotos
   # flickr.groups.pools.remove
   class Group
-    attr_reader :id, :client, :name, :members, :online, :privacy, :chatid, :chatcount, :url
+    attr_reader :id, :client, :description, :name, :eighteenplus, :members, :online, :privacy, :url#, :chatid, :chatcount
     
     def initialize(id_or_params_hash=nil, api_key=nil)
       if id_or_params_hash.is_a?(Hash)
@@ -602,8 +605,8 @@ class Flickr
       @members = info['members']
       @online = info['online']
       @privacy = info['privacy']
-      @chatid = info['chatid']
-      @chatcount = info['chatcount']
+      # @chatid = info['chatid']
+      # @chatcount = info['chatcount']
       @url = @client.urls_getGroup('group_id'=&gt;@id)['group']['url']
       self
     end</diff>
      <filename>lib/flickr.rb</filename>
    </modified>
    <modified>
      <diff>@@ -231,7 +231,7 @@ class TestFlickr &lt; Test::Unit::TestCase
     assert_kind_of Flickr::Group, group = groups.first
     assert_equal &quot;group1&quot;, group.id
     assert_equal &quot;Group One&quot;, group.name
-    assert_equal &quot;0&quot;, group.instance_variable_get(:@eighteenplus)
+    assert_equal &quot;0&quot;, group.eighteenplus
     assert_equal f, group.client
   end
   
@@ -269,11 +269,7 @@ class TestFlickr &lt; Test::Unit::TestCase
   # ##### Flickr::User tests
   # 
   def test_should_instantiate_user
-    user = Flickr::User.new({ 'id' =&gt; 'foo123',
-                              'username' =&gt; 'some_user',
-                              'name' =&gt; 'Some User', 
-                              'foo' =&gt; 'bar', 
-                              'auth_token' =&gt; 'foobar789'})
+    user = new_user
     assert_equal 'foo123', user.id
     assert_equal 'some_user', user.username
     assert_equal 'bar', user.instance_variable_get(:@foo) # should collect all other params up and store as instance variables
@@ -296,48 +292,41 @@ class TestFlickr &lt; Test::Unit::TestCase
   def test_should_instantiate_new_client_when_instantiating_user_if_no_client_passed_in_params
     f = flickr_client
     Flickr.expects(:new).returns(f)
-    user = Flickr::User.new({ 'id' =&gt; 'foo123',
-                              'username' =&gt; 'some_user',
-                              'name' =&gt; 'Some User', 
-                              'auth_token' =&gt; 'foobar789',
-                              'shared_secret' =&gt; 'some_secret',
-                              'api_key' =&gt; 'an_api_key' })
+    user = new_user( 'api_key' =&gt; 'an_api_key' )
     assert_equal f, user.client
   end
   
   def test_should_not_instantiate_new_client_when_instantiating_user_if_client_passed_in_params
     f = flickr_client
     Flickr.expects(:new).never
-    user = Flickr::User.new({ 'id' =&gt; 'foo123',
-                              'username' =&gt; 'some_user',
-                              'name' =&gt; 'Some User',
-                              'client' =&gt; f })
+    user = new_user( 'client' =&gt; f )
     assert_equal f, user.client
   end
   
-  def test_should_not_instantiate_new_client_if_existing_client_passed
-    f = flickr_client
+  def test_should_not_instantiate_client_if_no_api_key_passed
     Flickr.expects(:new).never
-    user = Flickr::User.new({ 'id' =&gt; 'foo123',
-                              'username' =&gt; 'some_user',
-                              'name' =&gt; 'Some User', 
-                              'api_key' =&gt; 'an_api_key',
-                              'client' =&gt; f })
-    assert_equal f, user.client
+    user = new_user
+    assert_nil user.client
   end
   
-  def test_should_not_instantiate_client_if_no_api_key_passed
-    user = Flickr::User.new({ 'id' =&gt; 'foo123',
-                              'username' =&gt; 'some_user',
-                              'name' =&gt; 'Some User'})
-    assert_nil user.client
+  def test_should_get_users_public_groups
+    f = flickr_client
+    f.expects(:request).with(&quot;people.getPublicGroups&quot;, anything).returns(dummy_groups_response)
+    new_user( 'client' =&gt; f ).groups
   end
   
-  def test_should_not_instantiate_new_client_when_instantiating_user_if_existing_client_passed_to_user_as_param
+  def test_should_instantiate_users_public_groups
     f = flickr_client
-    Flickr.expects(:new).never
-    user = Flickr::User.new('client' =&gt; f)
-    assert_equal f, user.client
+    f.stubs(:request).returns(dummy_groups_response)
+    user = new_user( 'client' =&gt; f )
+
+    groups = user.groups
+    assert_equal 2, groups.size
+    assert_kind_of Flickr::Group, group = groups.first
+    assert_equal &quot;group1&quot;, group.id
+    assert_equal &quot;Group One&quot;, group.name
+    assert_equal &quot;0&quot;, group.eighteenplus
+    assert_equal f, group.client
   end
   
   # def test_getInfo
@@ -631,9 +620,10 @@ class TestFlickr &lt; Test::Unit::TestCase
   
   # new api for instantiating groups
   def test_should_instantiate_group_from_params_hash
-    group = Flickr::Group.new(&quot;id&quot; =&gt; &quot;group1&quot;, &quot;name&quot; =&gt; &quot;Group One&quot;, &quot;foo&quot; =&gt; &quot;bar&quot;)
+    group = Flickr::Group.new(&quot;id&quot; =&gt; &quot;group1&quot;, &quot;name&quot; =&gt; &quot;Group One&quot;, &quot;eighteenplus&quot; =&gt; &quot;1&quot;, &quot;foo&quot; =&gt; &quot;bar&quot;)
     assert_equal &quot;group1&quot;, group.id
     assert_equal &quot;Group One&quot;, group.name
+    assert_equal &quot;1&quot;, group.eighteenplus
     assert_equal &quot;bar&quot;, group.instance_variable_get(:@foo)
   end
   
@@ -644,6 +634,14 @@ class TestFlickr &lt; Test::Unit::TestCase
     assert_equal f, group.client
   end
   
+  def test_should_provide_id_name_eighteenplus_description_members_online_privacy_reader_methods_for_group
+    g = Flickr::Group.new
+    %w(id name eighteenplus description members online privacy).each do |m|
+      g.instance_variable_set(&quot;@#{m}&quot;, &quot;foo_#{m}&quot;)
+      assert_equal &quot;foo_#{m}&quot;, g.send(m)
+    end
+  end
+  
   # def test_should_initialize_photo_from_id
   #   photo = Flickr::Photo.new(&quot;foo123&quot;)
   #   assert_equal &quot;foo123&quot;, photo.id
@@ -719,6 +717,14 @@ class TestFlickr &lt; Test::Unit::TestCase
     f
   end
   
+  def new_user(options={})
+    Flickr::User.new({ 'id' =&gt; 'foo123',
+                       'username' =&gt; 'some_user',
+                       'name' =&gt; 'Some User', 
+                       'foo' =&gt; 'bar', 
+                       'auth_token' =&gt; 'foobar789'}.merge(options))
+    
+  end
   def new_photo(options={})
     Flickr::Photo.new(&quot;1418878&quot;, 
                       &quot;foo123&quot;,</diff>
      <filename>test/test_flickr.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>12a6397989f5db3cd38eca633e3d0e5324ed006b</id>
    </parent>
  </parents>
  <author>
    <name>Chris Taggart</name>
    <email>chris@windowsxponmac.home</email>
  </author>
  <url>http://github.com/ctagg/flickr/commit/2bd476fc5b656b20adf451f647fb4dc88add782d</url>
  <id>2bd476fc5b656b20adf451f647fb4dc88add782d</id>
  <committed-date>2008-05-12T06:39:01-07:00</committed-date>
  <authored-date>2008-05-12T06:39:01-07:00</authored-date>
  <message>More work on groups.
Tidied up Manifest</message>
  <tree>351c5896bfffae80942f4eee5c4d7107519c5b08</tree>
  <committer>
    <name>Chris Taggart</name>
    <email>chris@windowsxponmac.home</email>
  </committer>
</commit>
