Sha256: 52848d6d3044abd85c9b43f158f83130426949fd8c286e1bd67a61b433d2a42f
Contents?: true
Size: 1.19 KB
Versions: 3
Compression:
Stored size: 1.19 KB
Contents
module LedgerSync module Adaptors module QuickBooksOnline module Product module Operations class Create < Operation::Create class Contract < LedgerSync::Adaptors::Contract params do required(:ledger_id).value(:nil) required(:ledger_id).value(:nil) required(:name).filled(:string) optional(:description).maybe(:string) end end private def operate response = adaptor.upsert( resource: 'item', payload: local_resource_data ) resource.ledger_id = response.dig('Id') success(response: response) rescue OAuth2::Error => e failure(e) end def local_resource_data { 'Name': resource.name, 'Description': resource.description, 'Type': 'Service', 'IncomeAccountRef': { 'value': '1', 'name': 'Services' } } end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems