Sha256: 9bec6c566a35e59b085011dfd9c04795d4149f787f35a23c1e5e52913a99c448

Contents?: true

Size: 1.27 KB

Versions: 28

Compression:

Stored size: 1.27 KB

Contents

require "rubygems"
require "ruby-prof"
require "mongo_doc"

class RubyDriver
  attr_accessor :collection
  attr_accessor :objects
  attr_accessor :ids

  def initialize
    MongoDoc::Connection.name = 'ruby_driver_test'
    self.collection = MongoDoc::Connection.database.collection 'people'
    collection.drop
  end

  def generate(count)
    self.objects = []
    self.ids = []
    count.times do |i|
      person = {:birth_date => Date.new(1970, 1, 1).to_bson, :phones => []}
      name = {:given => "James #{i}", :family => "Kirk", :middle => "Tiberius"}
      address = {:street => "1 Starfleet Command Way", :city => "San Francisco", :state => "CA", :post_code => "94133", :type => "Work"}
      phone = {:country_code => 1, :number => "415-555-1212", :type => "Mobile"}
      person[:name] = name
      person[:address] = address
      person[:phones] << phone
      objects << person
    end
  end

  def writes(count)
    count.times do |i|
      ids[i] = collection.save(objects[i])
    end
  end

  def reads(count)
    count.times do |i|
      obj = collection.find_one(ids[i])
      raise 'Not found' unless obj and obj['name']['given'] == objects[i][:name][:given]
    end
  end

  def query_all
    collection.find().each do |obj|
      given_name = obj['name']['given']
    end
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
mongo_doc-0.6.26 perf/ruby_driver.rb
mongo_doc-0.6.25 perf/ruby_driver.rb
mongo_doc-0.6.23 perf/ruby_driver.rb
mongo_doc-0.6.22 perf/ruby_driver.rb
mongo_doc-0.6.21 perf/ruby_driver.rb
mongo_doc-0.6.20 perf/ruby_driver.rb
mongo_doc-0.6.19 perf/ruby_driver.rb
mongo_doc-0.6.18 perf/ruby_driver.rb
mongo_doc-0.6.17 perf/ruby_driver.rb
mongo_doc-0.6.16 perf/ruby_driver.rb
mongo_doc-0.6.15 perf/ruby_driver.rb
mongo_doc-0.6.14 perf/ruby_driver.rb
mongo_doc-0.6.13 perf/ruby_driver.rb
mongo_doc-0.6.12 perf/ruby_driver.rb
mongo_doc-0.6.11 perf/ruby_driver.rb
mongo_doc-0.6.10 perf/ruby_driver.rb
mongo_doc-0.6.9 perf/ruby_driver.rb
mongo_doc-0.6.8 perf/ruby_driver.rb
mongo_doc-0.6.7 perf/ruby_driver.rb
mongo_doc-0.6.6 perf/ruby_driver.rb