Class: XmlConv::Conversion::ProPharmaBdd
- Inherits:
-
Object
- Object
- XmlConv::Conversion::ProPharmaBdd
- Defined in:
- lib/conversion/propharma_bdd.rb
Class Method Summary collapse
- ._bdd_add_delivery(bdd, ast) ⇒ Object
- ._bsr_add_customer_id(bsr, id) ⇒ Object
- ._delivery_add_customer(delivery, ast) ⇒ Object
- ._delivery_add_item(delivery, ast) ⇒ Object
- ._delivery_add_seller(delivery) ⇒ Object
- ._named_data(key, ast) ⇒ Object
- .convert(ast) ⇒ Object
- .parse(src) ⇒ Object
Class Method Details
._bdd_add_delivery(bdd, ast) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/conversion/propharma_bdd.rb', line 47 def _bdd_add_delivery(bdd, ast) delivery = Model::Delivery.new bsr = Model::Bsr.new delivery.add_id('Customer', _named_data(:reference, ast)) _delivery_add_seller(delivery) delivery.bsr = bsr ast.items.each { |item| _delivery_add_item(delivery, item) } bdd.add_delivery(delivery) delivery end |
._bsr_add_customer_id(bsr, id) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/conversion/propharma_bdd.rb', line 59 def _bsr_add_customer_id(bsr, id) customer = Model::Party.new customer.role = 'Customer' ## Propharma sends the Supplier-side Customer-ID, not the public EAN13 as it # is the case in Propharma -> Globopharm customer.add_id('supplier', id) bsr.add_party(customer) end |
._delivery_add_customer(delivery, ast) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/conversion/propharma_bdd.rb', line 67 def _delivery_add_customer(delivery, ast) _bsr_add_customer_id(delivery.bsr, _named_data(:cid, ast)) customer = Model::Party.new customer.role = "Customer" ## Propharma sends the Supplier-side Customer-ID, not the public EAN13 as it # is the case in Propharma -> Globopharm customer.add_id('customer', _named_data(:cid, ast)) name = Model::Name.new name.text = _named_data(:cname, ast) customer.name = name delivery.add_party(customer) customer end |
._delivery_add_item(delivery, ast) ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'lib/conversion/propharma_bdd.rb', line 80 def _delivery_add_item(delivery, ast) item = Model::DeliveryItem.new item.line_no = delivery.items.size.next.to_s item.add_id('Pharmacode', _named_data(:pcode, ast)) item.qty = _named_data(:quantity, ast) item.unit = 'PCE' delivery.add_item(item) end |
._delivery_add_seller(delivery) ⇒ Object
88 89 90 91 92 93 |
# File 'lib/conversion/propharma_bdd.rb', line 88 def _delivery_add_seller(delivery) party = Model::Party.new party.role = 'Seller' party.add_id("ACC", "7601001000681") delivery.add_party(party) end |
._named_data(key, ast) ⇒ Object
94 95 96 |
# File 'lib/conversion/propharma_bdd.rb', line 94 def _named_data(key, ast) ast.send(key).data.value end |
.convert(ast) ⇒ Object
38 39 40 41 42 43 |
# File 'lib/conversion/propharma_bdd.rb', line 38 def convert(ast) bdd = Model::Bdd.new delivery = _bdd_add_delivery(bdd, ast.order) _delivery_add_customer(delivery, ast.customer) bdd end |
.parse(src) ⇒ Object
44 45 46 |
# File 'lib/conversion/propharma_bdd.rb', line 44 def parse(src) @parser.parse(src) end |