Skip to content

Instantly share code, notes, and snippets.

@ctdk
Created June 9, 2009 03:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ctdk/126244 to your computer and use it in GitHub Desktop.
Save ctdk/126244 to your computer and use it in GitHub Desktop.
# works
# friends, followers
has n, :friended_users
has n, :friends, :through => :friended_users, :class_name => "User", :child_key => [:user_id], :mutable => true
has n, :followers, :through => :friended_users, :class_name => "User", :remote_name => :user, :child_key => [:friend_id], :mutable => true
# does not work
has n, :block_users
has n, :you_blockeds, :through => :block_users, :class_name => "User", :child_key => [:user_id], :mutable => true
has n, :blocked_yous, :through => :block_users, :class_name => "User", :child_key => [:blocked_id], :mutable => true
class FriendedUser
include DataMapper::Resource
property :user_id, Integer, :key => true
property :friend_id, Integer, :key => true
property :friend_time, DateTime
belongs_to :user, :child_key => [:user_id]
belongs_to :friend, :class_name => "User", :child_key => [:friend_id]
end
class BlockUser
include DataMapper::Resource
property :user_id, Integer, :key => true
property :blocked_id, Integer, :key => true
property :blocked_time, DateTime
belongs_to :user, :child_key => [:user_id]
belongs_to :blocked, :class_name => "User", :child_key => [:blocked_id]
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment