Class: Gentle::Documents::Request::RMADocument
- Inherits:
-
Object
- Object
- Gentle::Documents::Request::RMADocument
show all
- Extended by:
- Forwardable
- Includes:
- Document
- Defined in:
- lib/gentle/documents/request/rma_document.rb
Defined Under Namespace
Classes: MissingClientError, MissingOrderError
Constant Summary
collapse
- NAMESPACE =
"http://schemas.quietlogistics.com/V2/RMADocument.xsd"
- DATEFORMAT =
"%Y%m%d_%H%M%S"
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ RMADocument
Returns a new instance of RMADocument.
18
19
20
21
22
23
|
# File 'lib/gentle/documents/request/rma_document.rb', line 18
def initialize(options = {})
@config = options.fetch(:config).symbolize_keys
@rma = options.fetch(:rma)
@order = @rma.order
@name = "RMA_#{@rma.number}_#{date_stamp}.xml"
end
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
16
17
18
|
# File 'lib/gentle/documents/request/rma_document.rb', line 16
def config
@config
end
|
#name ⇒ Object
Returns the value of attribute name.
16
17
18
|
# File 'lib/gentle/documents/request/rma_document.rb', line 16
def name
@name
end
|
#rma ⇒ Object
Returns the value of attribute rma.
16
17
18
|
# File 'lib/gentle/documents/request/rma_document.rb', line 16
def rma
@rma
end
|
Instance Method Details
#business_unit ⇒ Object
58
59
60
|
# File 'lib/gentle/documents/request/rma_document.rb', line 58
def business_unit
@config[:business_unit]
end
|
#date ⇒ Object
74
75
76
|
# File 'lib/gentle/documents/request/rma_document.rb', line 74
def date
@rma.created_at
end
|
#date_stamp ⇒ Object
54
55
56
|
# File 'lib/gentle/documents/request/rma_document.rb', line 54
def date_stamp
Time.now.strftime('%Y%m%d_%H%M%3N')
end
|
#document_number ⇒ Object
66
67
68
|
# File 'lib/gentle/documents/request/rma_document.rb', line 66
def document_number
@rma.number
end
|
#filename ⇒ Object
78
79
80
|
# File 'lib/gentle/documents/request/rma_document.rb', line 78
def filename
"#{business_unit}_#{type}_#{document_number}_#{date.strftime(DATEFORMAT)}.xml"
end
|
#message ⇒ Object
50
51
52
|
# File 'lib/gentle/documents/request/rma_document.rb', line 50
def message
"Sent RMA #{@number} to QL"
end
|
#to_xml ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/gentle/documents/request/rma_document.rb', line 25
def to_xml
builder = Nokogiri::XML::Builder.new do |xml|
xml.RMADocument('xmlns' => 'http://schemas.quietlogistics.com/V2/RMADocument.xsd') do
xml.RMA('ClientID' => @config[:client_id],
'BusinessUnit' => @config[:business_unit],
'RMANumber' => @rma.number,
'Warehouse' => warehouse,
'TrackingNumber' => @rma.tracking_number) do
@rma.returned_items.each_with_index do |returned_item, line_number|
xml.Line('LineNo' => line_number + 1,
'OrderNumber' => @order.number,
'ItemNumber' => returned_item.sku,
'Quantity' => 1,
'SaleUOM' => 'EA',
'ReturnReason' => @rma.reason.name,
'CustomerComment' => ''
)
end
end
end
end
builder.to_xml
end
|
#type ⇒ Object
62
63
64
|
# File 'lib/gentle/documents/request/rma_document.rb', line 62
def type
'RMADocument'
end
|
#warehouse ⇒ Object
70
71
72
|
# File 'lib/gentle/documents/request/rma_document.rb', line 70
def warehouse
'Default'
end
|