def prepare_for_cart_item(item)
      is_a_hash = item.is_a? Hash
      if is_a_hash
        prepared_item = MongoidCart::CartItem.new item

      elsif item.singleton_class.included_modules.include?(MongoidCart::ActsAsProduct)
        prepared_item = item

      else
        raise StandardError, "Given object must be a Hash or include MongoidCart::ActsAsProduct: #{item.class}"
      end


      return prepared_item
    end
def prepare_for_cart_item(item)
      is_a_hash = item.is_a? Hash
      if is_a_hash
        prepared_item = MongoidCart::CartItem.new item

      elsif item.singleton_class.included_modules.include?(MongoidCart::ActsAsProduct)
        prepared_item = item

      else
        raise StandardError, "Given object must be a Hash or include MongoidCart::ActsAsProduct: #{item.class}"
      end


      return prepared_item
    end
given Hash or MongoidCart::ActsAsProduct instance will be prepared to store as cart_item
 @return MongoidCart::ActsAsProduct instance