Class: Exact::BaseMapping
- Inherits:
-
Object
- Object
- Exact::BaseMapping
- Defined in:
- lib/exact/mappings/base_mapping.rb
Direct Known Subclasses
AccountMapping, BankAccountMapping, CostCenterMapping, CostUnitMapping, GLAccountMapping, ItemMapping, LayoutMapping, ProjectMapping, SalesInvoiceLineMapping, SalesInvoiceMapping, VATCodeMapping
Class Method Summary collapse
Class Method Details
.convert(exact_object, object = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/exact/mappings/base_mapping.rb', line 3 def self.convert(exact_object, object = nil) hsh = exact_object.instance_variables.each_with_object({}) { |var, hash| hash[var.to_s.delete('@').to_sym] = exact_object.instance_variable_get(var) }.except!(:__metadata) if object.present? hsh.each do |k, v| object.send("#{k}=", v) end object else name = to_s.demodulize name.slice!('Mapping') Exact.const_get(name).new(hsh) unless object.present? end end |