Class: Magento::Shipment

Inherits:
Abstract show all
Defined in:
lib/shipment.rb

Overview

:nodoc:

Constant Summary collapse

CARRIERS =
{ :usps => "usps", :ups => "ups", :dhl => "dhl", :fedex => "fedex" }

Instance Attribute Summary

Attributes inherited from Abstract

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Abstract

commit, connect, first, #initialize, #method_missing, #object_attributes=

Constructor Details

This class inherits a constructor from Magento::Abstract

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Magento::Abstract

Class Method Details

.create(order_id, items, comment = "", notify = false, include_in_email = false) ⇒ Object



22
23
24
25
# File 'lib/shipment.rb', line 22

def self.create(order_id, items, comment = "", notify = false, include_in_email = false)
  connect
  @connection.call("order_shipment.create",order_id, items, comment, notify, include_in_email)
end

.find(*args) ⇒ Object



16
17
18
19
20
# File 'lib/shipment.rb', line 16

def self.find(*args)
  connect
  shipment_attributes = @connection.call("order_shipment.info", args)
  new(shipment_attributes)
end

.get_carriers(order_id) ⇒ Object



41
42
43
# File 'lib/shipment.rb', line 41

def self.get_carriers(order_id)
  @connection.call("order_shipment.getCarriers",order_id)
end

.list(*args) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/shipment.rb', line 6

def self.list(*args)
  connect
  shipments = @connection.call("order_shipment.list",args)
  shipment_list = []
  shipments.each do |order|
    shipment_list.push(order.to_struct(self.class.to_s))
  end
  shipment_list
end

Instance Method Details

#add_comment(comment = nil, notify = false, include_in_email = false) ⇒ Object



27
28
29
30
# File 'lib/shipment.rb', line 27

def add_comment(comment = nil, notify = false, include_in_email = false)
  return false if comment.nil?
  @connection.call("order_shipment.addComment",self.increment_id,comment,notify,include_in_email)
end

#add_tracking_number(carrier_code, number, title = "") ⇒ Object

Raises:



32
33
34
35
# File 'lib/shipment.rb', line 32

def add_tracking_number(carrier_code, number, title = "")
  raise ShipmentException, "Invalid carrier code" unless CARRIERS.values.include?(carrier_code)
  @connection.call("order_shipment.addTrack",self.increment_id,carrier_code,title,number)
end

#remove_tracking_number(tracking_number_id) ⇒ Object



37
38
39
# File 'lib/shipment.rb', line 37

def remove_tracking_number(tracking_number_id)
  @connection.call("order_shipment.removeTrack",self.increment_id,tracking_number_id)
end