Sha256: 39ee2945dce22af6a42ef3cdfbb977a71d758b255174ee9c3569439d89b18b68

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

require File.dirname(__FILE__) + "/../mongo_persist"

def db
  Mongo::Connection.new.db('test-db')
end

class Order
  include MongoPersist
  attr_accessor :po_number, :customers
  mongo_reference_attributes ['customers']
  fattr(:order_products) { [] }
  def products
    order_products.map { |x| x.product }
  end
end

class OrderProduct
  include MongoPersist
  attr_accessor :unit_price, :quantity, :product
  mongo_reference_attributes ['product']
end

class Product
  include MongoPersist
  attr_accessor :name
end

class Customer
  include MongoPersist
  attr_accessor :email
end

  [Order,Product].each { |x| x.collection.remove }
  @products = [Product.new(:name => 'Leather Couch'),Product.new(:name => 'Maroon Chair')].each { |x| x.mongo.save! }
  @customers = [Customer.new(:email => 'a'),Customer.new(:email => 'b')].each { |x| x.mongo.save! }

  @orders = []
  @orders << Order.new(:customers => @customers, :po_number => 1234, :order_products => [OrderProduct.new(:unit_price => 1000, :quantity => 1, :product => @products[0])]).mongo.save!
  @orders << Order.new(:customers => @customers, :po_number => 1235, :order_products => [OrderProduct.new(:unit_price => 200, :quantity => 2, :product => @products[1])]).mongo.save!
  
  $orders = @orders

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongo_persist-0.2.1 lib/mongo_persist/sandbox.rb
mongo_persist-0.2.0 lib/mongo_persist/sandbox.rb
mongo_persist-0.1.0 lib/mongo_persist/sandbox.rb
mongo_persist-0.0.2 lib/mongo_persist/sandbox.rb