hushed 0.0.8 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
| 
         @@ -19,6 +19,8 @@ module Hushed 
     | 
|
| 
       19 
19 
     | 
    
         
             
                    def initialize(options = {})
         
     | 
| 
       20 
20 
     | 
    
         
             
                      @order = options[:order] || raise(MissingOrderError.new("order cannot be missing"))
         
     | 
| 
       21 
21 
     | 
    
         
             
                      @client = options[:client] || raise(MissingClientError.new("client cannot be missing"))
         
     | 
| 
      
 22 
     | 
    
         
            +
                      @carrier = options[:carrier]
         
     | 
| 
      
 23 
     | 
    
         
            +
                      @service_level = options[:service_level]
         
     | 
| 
       22 
24 
     | 
    
         
             
                    end
         
     | 
| 
       23 
25 
     | 
    
         | 
| 
       24 
26 
     | 
    
         
             
                    def to_xml
         
     | 
| 
         @@ -26,21 +28,29 @@ module Hushed 
     | 
|
| 
       26 
28 
     | 
    
         
             
                        xml.ShipOrderDocument(xmlns: NAMESPACE) do
         
     | 
| 
       27 
29 
     | 
    
         
             
                          xml.ClientID client_id
         
     | 
| 
       28 
30 
     | 
    
         
             
                          xml.BusinessUnit business_unit
         
     | 
| 
       29 
     | 
    
         
            -
                          xml 
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                            xml.ShipMode(shipping_attributes(@order.shipping_lines.first))
         
     | 
| 
       32 
     | 
    
         
            -
                            xml.ShipTo(address_attributes(@order.shipping_address))
         
     | 
| 
       33 
     | 
    
         
            -
                            xml.BillTo(address_attributes(@order.billing_address))
         
     | 
| 
       34 
     | 
    
         
            -
                            xml.DeclaredValue @order.total_price
         
     | 
| 
       35 
     | 
    
         
            -
                            @order.line_items.each.with_index(1) do |line_item, index|
         
     | 
| 
       36 
     | 
    
         
            -
                              xml.OrderDetails(line_item_attributes(line_item, index))
         
     | 
| 
       37 
     | 
    
         
            -
                            end
         
     | 
| 
       38 
     | 
    
         
            -
                          end
         
     | 
| 
      
 31 
     | 
    
         
            +
                          attach_order_header(xml, order_header_attributes, @order)
         
     | 
| 
      
 32 
     | 
    
         
            +
                          attach_order_details(xml, @order.line_items)
         
     | 
| 
       39 
33 
     | 
    
         
             
                        end
         
     | 
| 
       40 
34 
     | 
    
         
             
                      end
         
     | 
| 
       41 
35 
     | 
    
         
             
                      builder.to_xml
         
     | 
| 
       42 
36 
     | 
    
         
             
                    end
         
     | 
| 
       43 
37 
     | 
    
         | 
| 
      
 38 
     | 
    
         
            +
                    def attach_order_header(xml, header_attributes, order)
         
     | 
| 
      
 39 
     | 
    
         
            +
                      xml.OrderHeader(order_header_attributes) do
         
     | 
| 
      
 40 
     | 
    
         
            +
                        xml.Comments order.note
         
     | 
| 
      
 41 
     | 
    
         
            +
                        xml.ShipMode(shipping_attributes(order.shipping_lines.first))
         
     | 
| 
      
 42 
     | 
    
         
            +
                        xml.ShipTo(address_attributes(order.shipping_address))
         
     | 
| 
      
 43 
     | 
    
         
            +
                        xml.BillTo(address_attributes(order.billing_address))
         
     | 
| 
      
 44 
     | 
    
         
            +
                        xml.DeclaredValue order.total_price
         
     | 
| 
      
 45 
     | 
    
         
            +
                      end
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                    def attach_order_details(xml, line_items)
         
     | 
| 
      
 49 
     | 
    
         
            +
                      line_items.each.with_index(1) do |line_item, index|
         
     | 
| 
      
 50 
     | 
    
         
            +
                        xml.OrderDetails(line_item_attributes(line_item, index))
         
     | 
| 
      
 51 
     | 
    
         
            +
                      end
         
     | 
| 
      
 52 
     | 
    
         
            +
                    end
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       44 
54 
     | 
    
         
             
                    def type
         
     | 
| 
       45 
55 
     | 
    
         
             
                      'ShipmentOrder'
         
     | 
| 
       46 
56 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -66,11 +76,11 @@ module Hushed 
     | 
|
| 
       66 
76 
     | 
    
         
             
                    end
         
     | 
| 
       67 
77 
     | 
    
         | 
| 
       68 
78 
     | 
    
         
             
                    def order_header_attributes
         
     | 
| 
       69 
     | 
    
         
            -
                      {OrderNumber: document_number, OrderType: order_type, OrderDate: date, ShipDate: date}
         
     | 
| 
      
 79 
     | 
    
         
            +
                      {OrderNumber: document_number, OrderType: order_type, OrderDate: date.iso8601, ShipDate: date.iso8601}
         
     | 
| 
       70 
80 
     | 
    
         
             
                    end
         
     | 
| 
       71 
81 
     | 
    
         | 
| 
       72 
82 
     | 
    
         
             
                    def shipping_attributes(shipping_line)
         
     | 
| 
       73 
     | 
    
         
            -
                      {Carrier: shipping_line.carrier, ServiceLevel: shipping_line.service_level}
         
     | 
| 
      
 83 
     | 
    
         
            +
                      {Carrier: @carrier || shipping_line.carrier, ServiceLevel: @service_level || shipping_line.service_level}
         
     | 
| 
       74 
84 
     | 
    
         
             
                    end
         
     | 
| 
       75 
85 
     | 
    
         | 
| 
       76 
86 
     | 
    
         
             
                    def address_attributes(address)
         
     | 
    
        data/lib/hushed/message.rb
    CHANGED
    
    | 
         @@ -42,7 +42,7 @@ module Hushed 
     | 
|
| 
       42 
42 
     | 
    
         
             
                  {
         
     | 
| 
       43 
43 
     | 
    
         
             
                    ClientId: @client.client_id, BusinessUnit: @client.business_unit,
         
     | 
| 
       44 
44 
     | 
    
         
             
                    DocumentName: @document.filename, DocumentType: @document.type,
         
     | 
| 
       45 
     | 
    
         
            -
                    Warehouse: @document.warehouse, MessageDate: @document.date.utc,
         
     | 
| 
      
 45 
     | 
    
         
            +
                    Warehouse: @document.warehouse, MessageDate: @document.date.utc.iso8601,
         
     | 
| 
       46 
46 
     | 
    
         
             
                    MessageId: @document.message_id, xmlns: NAMESPACE
         
     | 
| 
       47 
47 
     | 
    
         
             
                  }
         
     | 
| 
       48 
48 
     | 
    
         
             
                end
         
     | 
    
        data/lib/hushed/version.rb
    CHANGED
    
    
| 
         @@ -54,8 +54,8 @@ module Hushed 
     | 
|
| 
       54 
54 
     | 
    
         
             
                    private
         
     | 
| 
       55 
55 
     | 
    
         
             
                    def assert_header(header)
         
     | 
| 
       56 
56 
     | 
    
         
             
                      assert_equal "#{@order.id}", header['OrderNumber']
         
     | 
| 
       57 
     | 
    
         
            -
                      assert_equal @order.created_at.utc. 
     | 
| 
       58 
     | 
    
         
            -
                      assert_equal @order.created_at.utc. 
     | 
| 
      
 57 
     | 
    
         
            +
                      assert_equal @order.created_at.utc.iso8601, header['OrderDate']
         
     | 
| 
      
 58 
     | 
    
         
            +
                      assert_equal @order.created_at.utc.iso8601, header['ShipDate']
         
     | 
| 
       59 
59 
     | 
    
         
             
                      assert_equal @order.type, header['OrderType']
         
     | 
| 
       60 
60 
     | 
    
         
             
                    end
         
     | 
| 
       61 
61 
     | 
    
         | 
    
        data/spec/unit/message_spec.rb
    CHANGED
    
    | 
         @@ -46,7 +46,7 @@ module Hushed 
     | 
|
| 
       46 
46 
     | 
    
         
             
                  assert_equal @document.type, node['DocumentType']
         
     | 
| 
       47 
47 
     | 
    
         
             
                  assert_equal @document.filename, node['DocumentName']
         
     | 
| 
       48 
48 
     | 
    
         
             
                  assert_equal @document.warehouse, node['Warehouse']
         
     | 
| 
       49 
     | 
    
         
            -
                  assert_equal @document.date.utc. 
     | 
| 
      
 49 
     | 
    
         
            +
                  assert_equal @document.date.utc.iso8601, node['MessageDate']
         
     | 
| 
       50 
50 
     | 
    
         
             
                  assert_equal @document.message_id, node['MessageId']
         
     | 
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
                  assert_equal @client.client_id, node['ClientId']
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -2,14 +2,14 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: hushed
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       5 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 0.0.9
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Chris Saunders
         
     | 
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date: 2013- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-09-06 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              prerelease: false
         
     | 
| 
         @@ -272,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       272 
272 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       273 
273 
     | 
    
         
             
                  segments:
         
     | 
| 
       274 
274 
     | 
    
         
             
                  - 0
         
     | 
| 
       275 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 275 
     | 
    
         
            +
                  hash: 1901725543110324787
         
     | 
| 
       276 
276 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       277 
277 
     | 
    
         
             
              none: false
         
     | 
| 
       278 
278 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -281,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       281 
281 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       282 
282 
     | 
    
         
             
                  segments:
         
     | 
| 
       283 
283 
     | 
    
         
             
                  - 0
         
     | 
| 
       284 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 284 
     | 
    
         
            +
                  hash: 1901725543110324787
         
     | 
| 
       285 
285 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       286 
286 
     | 
    
         
             
              none: false
         
     | 
| 
       287 
287 
     | 
    
         
             
            requirements: []
         
     |