Module: SpreePacketa::OrderDecorator
- Defined in:
- app/decorators/spree_packeta/order_decorator.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#packeta_address_id ⇒ Integer?
Get the Packeta pickup point ID for this order.
-
#set_packeta_pickup_point(point_data) ⇒ Object
Set Packeta pickup point from widget data.
- #update_packeta_pickup_point ⇒ Object
Class Method Details
.prepended(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'app/decorators/spree_packeta/order_decorator.rb', line 5 def self.prepended(base) base.class_eval do set_callback :updating_from_params, :before, :update_packeta_pickup_point # Store Packeta pickup point data in order metadata store_accessor :public_metadata, :packeta_pickup_point_id store_accessor :public_metadata, :packeta_pickup_point_name store_accessor :public_metadata, :packeta_pickup_point_address end end |
Instance Method Details
#packeta_address_id ⇒ Integer?
Get the Packeta pickup point ID for this order
24 25 26 |
# File 'app/decorators/spree_packeta/order_decorator.rb', line 24 def packeta_address_id packeta_pickup_point_id&.to_i end |
#set_packeta_pickup_point(point_data) ⇒ Object
Set Packeta pickup point from widget data
31 32 33 34 35 36 37 38 39 40 |
# File 'app/decorators/spree_packeta/order_decorator.rb', line 31 def set_packeta_pickup_point(point_data) return unless point_data self.packeta_pickup_point_id = point_data[:id] self.packeta_pickup_point_name = point_data[:name] address_parts = [point_data[:street], point_data[:city], point_data[:zip]].compact self.packeta_pickup_point_address = address_parts.join(', ') end |
#update_packeta_pickup_point ⇒ Object
16 17 18 19 |
# File 'app/decorators/spree_packeta/order_decorator.rb', line 16 def update_packeta_pickup_point return unless @updating_params[:order] && @updating_params[:order][:packeta_pickup_point].present? set_packeta_pickup_point(@updating_params[:order].delete(:packeta_pickup_point)) end |