Sha256: 75e24104daa1a5d983fcb6a276b9af87d09fee0bba53325aaa919b5dd72d1905

Contents?: true

Size: 1.34 KB

Versions: 50

Compression:

Stored size: 1.34 KB

Contents

require 'facebooker/model'
module Facebooker
  class Group
    ##
    # The model of a user's relationship to a group.  Users can occupy different positions within a group (e.g. 'owner')
    class Membership
      include Model
      attr_accessor :position, :gid, :uid
    end
    include Model
    attr_accessor :pic, :pic_small, :pic_big, :name, :creator, :recent_news, :update_time, :group_subtype, :group_type, :website, :office, :description, :venue, :nid, :privacy

    id_is :gid

    ##
    # Get the full list of members as populated User objects.  First time fetches group members via Facebook API call.  
    # Subsequent calls return cached values.
    # This is a convenience method for getting all of the Membership instances and instantiating User instances for each Membership.
    def members
      @members ||= memberships.map do |membership|
        User.new(membership.uid, session)
      end
    end
    
    ##
    # Get a list of Membership instances associated with this Group.  First call retrieves the Membership instances via a Facebook
    # API call.  Subsequent calls are retrieved from in-memory cache.
    def memberships
      @memberships ||= session.post('facebook.groups.getMembers', :gid => gid).map do |hash|
        Membership.from_hash(hash) do |membership|
          membership.gid = gid
        end
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 17 rubygems

Version Path
micahwedemeyer-facebooker-1.0.50 lib/facebooker/models/group.rb
micahwedemeyer-facebooker-1.0.51 lib/facebooker/models/group.rb
mmangino-facebooker-1.0.49 lib/facebooker/models/group.rb
mmangino-facebooker-1.0.50 lib/facebooker/models/group.rb
simianarmy-facebooker-1.0.50 lib/facebooker/models/group.rb
simianarmy-facebooker-1.0.51 lib/facebooker/models/group.rb
taweili-facebooker-1.0.50 lib/facebooker/models/group.rb
facebooker-1.0.75 lib/facebooker/models/group.rb
sentientmonkey-facebooker-1.0.74 lib/facebooker/models/group.rb
facebooker-micah-1.0.74 lib/facebooker/models/group.rb
facebooker-1.0.74 lib/facebooker/models/group.rb
facebooker-1.0.73 lib/facebooker/models/group.rb
facebooker-1.0.72 lib/facebooker/models/group.rb
facebooker-1.0.71 lib/facebooker/models/group.rb
facebooker-1.0.70 lib/facebooker/models/group.rb
benhutton-facebooker-1.0.69.2 lib/facebooker/models/group.rb
benhutton-facebooker-1.0.69.1 lib/facebooker/models/group.rb
facebooker-rails3-1.0.64 lib/facebooker/models/group.rb
facebooker-1.0.69 lib/facebooker/models/group.rb
cbaclig-facebooker-1.0.67.3 lib/facebooker/models/group.rb