Sha256: 34c39da66752c70c273575a4f7d076cadc7ee4a7bb2b515c6fd2110730c2e8b8
Contents?: true
Size: 1.48 KB
Versions: 19
Compression:
Stored size: 1.48 KB
Contents
module SocialStream module Population class ActivityObject def initialize(klass, &block) puts "#{ klass.name } population" start_time = Time.now 10.times do author = ::Actor.all.sample owner = author relation_ids = [Relation::Public.instance.id] populate klass, author, owner, relation_ids, &block end if SocialStream.relation_model == :custom ties = Tie.allowing('create', 'activity').all PowerLaw.new ties.sample(ties.count / 3) do |t| author = t.receiver owner = t.sender relation_ids = Array(t.relation_id) populate klass, author, owner, relation_ids, &block end end end_time = Time.now puts ' -> ' + (end_time - start_time).round(4).to_s + 's' end def populate klass, author, owner, relation_ids, &block user_author = ( author.subject_type == "User" ? author : author.user_author ) timestamps = Timestamps.new o = klass.new o.created_at = timestamps.created o.updated_at = timestamps.updated o.author_id = author.id o.owner_id = owner.id o.user_author_id = user_author.id o.relation_ids = relation_ids yield o o.save! o.post_activity.update_attributes(:created_at => o.created_at, :updated_at => o.updated_at) o end end end end
Version data entries
19 entries across 19 versions & 2 rubygems