Class: CartItem
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- CartItem
- Defined in:
- app/models/cart_item.rb
Instance Method Summary collapse
- #as_json(options = {}) ⇒ Object
- #item ⇒ Object
- #item=(new_item) ⇒ Object
-
#total_price ⇒ Object
TODO attr_accessible :quantity.
Instance Method Details
#as_json(options = {}) ⇒ Object
40 41 42 43 44 45 |
# File 'app/models/cart_item.rb', line 40 def as_json(={}) { :quantity => quantity, :id => item.id } end |
#item ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/models/cart_item.rb', line 27 def item return nil unless raw_item unless @parsed_raw_item json = JSON.parse(raw_item) if json @parsed_raw_item = ShopBunny.item_model_class_name.constantize.new(json) @parsed_raw_item.id = json['id'] end end @parsed_raw_item end |
#item=(new_item) ⇒ Object
21 22 23 24 25 |
# File 'app/models/cart_item.rb', line 21 def item=(new_item) write_attribute(:raw_item, (new_item.respond_to?(:shop_bunny_json_attributes) ? new_item.shop_bunny_json_attributes : new_item.attributes).to_json) @parsed_raw_item = nil new_item end |
#total_price ⇒ Object
TODO attr_accessible :quantity
17 18 19 |
# File 'app/models/cart_item.rb', line 17 def total_price quantity * item.price end |