Sha256: 0749efeb0e59f285379be8a6082ee60e3622ca33cb19a8eebe4a852e29ebe367

Contents?: true

Size: 696 Bytes

Versions: 3

Compression:

Stored size: 696 Bytes

Contents

module MageRecord
  # order items can be parents / children of other order items
  # (only within the same order)
  class OrderItem < ActiveRecord::Base
    self.table_name = :sales_flat_order_item

    belongs_to :order
    belongs_to :parent, class_name: :OrderItem, foreign_key: :parent_item_id
    belongs_to :product

    # note: add an index on the column "parent_item_id" to
    # *dramatically* speed up loading of child order items from the parent order item
    has_many :children, class_name: :OrderItem, foreign_key: :parent_item_id


    # call associated product's method
    def method_missing(meth, *args, &block)
      product.nil? ? super : product.send(meth)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
magerecord-0.1.2 lib/magerecord/order_item.rb
magerecord-0.1.1 lib/magerecord/order_item.rb
magerecord-0.1.0 lib/magerecord/order_item.rb