Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Rails ActiveRecord
- class Playlist
- serialize :items_ids
- def videos(offset = nil, limit = nil)
- ids = item_ids || []
- vs = Video.find(:all, :conditions => ["id in (?)", ids],
- :limit => limit, :offset => offset)
- hvs = Hash[*(vs.map{|v| [v.id.to_i, v] }.flatten)]
- ids.map{|i| hvs[i.to_i] }
- end
- def add_item(v)
- self.items_id ||= []
- items_id.unshift(v.id)
- v.playlist_id = self.id
- v.save!
- end
- end
- list = Playlist.new
- list.add_item(some_video)
- list.videos(0, 2) #=> [ #<Video ...> ]
- ## StrokeDB
- Playlist = Meta.new do
- on_initialize do |doc|
- doc["videos"] ||= []
- end
- end
- list = Playlist.new
- list.videos << some_video # store reference
- list.videos[0, 2] #=> [ #<Video ...> ] (auto dereferencing)
Add Comment
Please, Sign In to add comment