Class: LedgerSync::Adaptors::QuickBooksOnline::LedgerSerializerType::EntityReferenceType
- Inherits:
-
LedgerSerializerType::ValueType
- Object
- LedgerSerializerType::ValueType
- LedgerSync::Adaptors::QuickBooksOnline::LedgerSerializerType::EntityReferenceType
- Defined in:
- lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/entity_reference_type.rb
Instance Method Summary collapse
Instance Method Details
#convert_from_ledger(value:) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/entity_reference_type.rb', line 8 def convert_from_ledger(value:) return if value.nil? raise "Unknown value type. Hash expected. Given: #{value.class.name}" unless value.is_a?(Hash) return if value.empty? value = LedgerSync::Util::HashHelpers.deep_stringify_keys(value) resource_class = Adaptor.resource_from_ledger_type(type: value['type']) raise "Unknown QuickBooks Online resource type: #{value['type']}" if resource_class.blank? ret = resource_class.new( ledger_id: value['value'] ) ret.display_name = value['name'] if ret.respond_to?(:display_name) ret end |
#convert_from_local(value:) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/ledger_sync/adaptors/quickbooks_online/ledger_serializer_type/entity_reference_type.rb', line 26 def convert_from_local(value:) return if value.nil? raise "Resource expected. Given: #{value.class.name}" unless value.is_a?(LedgerSync::Resource) ret = { 'value' => value.ledger_id } ret['name'] = value.display_name if value.respond_to?(:display_name) ret['type'] = Adaptor.ledger_resource_type_for( resource_class: value.class ).classify ret end |