Class: Merge::Accounting::JournalEntryRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/merge_ruby_client/accounting/types/journal_entry_request.rb

Overview

# The JournalEntry Object

### Description
The `JournalEntry` object is used to get a record of all manually created
entries made in a company

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transaction_date: OMIT, payments: OMIT, memo: OMIT, currency: OMIT, exchange_rate: OMIT, company: OMIT, tracking_categories: OMIT, inclusive_of_tax: OMIT, lines: OMIT, journal_number: OMIT, posting_status: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil) ⇒ Merge::Accounting::JournalEntryRequest



694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 694

def initialize(transaction_date: OMIT, payments: OMIT, memo: OMIT, currency: OMIT, exchange_rate: OMIT,
               company: OMIT, tracking_categories: OMIT, inclusive_of_tax: OMIT, lines: OMIT, journal_number: OMIT, posting_status: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil)
  @transaction_date = transaction_date if transaction_date != OMIT
  @payments = payments if payments != OMIT
  @memo = memo if memo != OMIT
  @currency = currency if currency != OMIT
  @exchange_rate = exchange_rate if exchange_rate != OMIT
  @company = company if company != OMIT
  @tracking_categories = tracking_categories if tracking_categories != OMIT
  @inclusive_of_tax = inclusive_of_tax if inclusive_of_tax != OMIT
  @lines = lines if lines != OMIT
  @journal_number = journal_number if journal_number != OMIT
  @posting_status = posting_status if posting_status != OMIT
  @integration_params = integration_params if integration_params != OMIT
   =  if  != OMIT
  @remote_fields = remote_fields if remote_fields != OMIT
  @additional_properties = additional_properties
  @_field_set = {
    "transaction_date": transaction_date,
    "payments": payments,
    "memo": memo,
    "currency": currency,
    "exchange_rate": exchange_rate,
    "company": company,
    "tracking_categories": tracking_categories,
    "inclusive_of_tax": inclusive_of_tax,
    "lines": lines,
    "journal_number": journal_number,
    "posting_status": posting_status,
    "integration_params": integration_params,
    "linked_account_params": ,
    "remote_fields": remote_fields
  }.reject do |_k, v|
    v == OMIT
  end
end

Instance Attribute Details

#additional_propertiesOpenStruct (readonly)



362
363
364
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 362

def additional_properties
  @additional_properties
end

#companyMerge::Accounting::JournalEntryRequestCompany (readonly)



341
342
343
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 341

def company
  @company
end

#currencyMerge::Accounting::TransactionCurrencyEnum (readonly)



337
338
339
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 337

def currency
  @currency
end

#exchange_rateString (readonly)



339
340
341
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 339

def exchange_rate
  @exchange_rate
end

#inclusive_of_taxBoolean (readonly)



346
347
348
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 346

def inclusive_of_tax
  @inclusive_of_tax
end

#integration_paramsHash{String => Object} (readonly)



356
357
358
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 356

def integration_params
  @integration_params
end

#journal_numberString (readonly)



350
351
352
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 350

def journal_number
  @journal_number
end

#linesArray<Merge::Accounting::JournalLineRequest> (readonly)



348
349
350
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 348

def lines
  @lines
end

#linked_account_paramsHash{String => Object} (readonly)



358
359
360
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 358

def 
  
end

#memoString (readonly)



29
30
31
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 29

def memo
  @memo
end

#paymentsArray<Merge::Accounting::JournalEntryRequestPaymentsItem> (readonly)



27
28
29
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 27

def payments
  @payments
end

#posting_statusMerge::Accounting::PostingStatusEnum (readonly)



354
355
356
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 354

def posting_status
  @posting_status
end

#remote_fieldsArray<Merge::Accounting::RemoteFieldRequest> (readonly)



360
361
362
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 360

def remote_fields
  @remote_fields
end

#tracking_categoriesArray<Merge::Accounting::JournalEntryRequestTrackingCategoriesItem> (readonly)



343
344
345
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 343

def tracking_categories
  @tracking_categories
end

#transaction_dateDateTime (readonly)



25
26
27
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 25

def transaction_date
  @transaction_date
end

Class Method Details

.from_json(json_object:) ⇒ Merge::Accounting::JournalEntryRequest

Deserialize a JSON object to an instance of JournalEntryRequest



735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 735

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  transaction_date = (DateTime.parse(parsed_json["transaction_date"]) unless parsed_json["transaction_date"].nil?)
  payments = parsed_json["payments"]&.map do |item|
    item = item.to_json
    Merge::Accounting::JournalEntryRequestPaymentsItem.from_json(json_object: item)
  end
  memo = parsed_json["memo"]
  currency = parsed_json["currency"]
  exchange_rate = parsed_json["exchange_rate"]
  if parsed_json["company"].nil?
    company = nil
  else
    company = parsed_json["company"].to_json
    company = Merge::Accounting::JournalEntryRequestCompany.from_json(json_object: company)
  end
  tracking_categories = parsed_json["tracking_categories"]&.map do |item|
    item = item.to_json
    Merge::Accounting::JournalEntryRequestTrackingCategoriesItem.from_json(json_object: item)
  end
  inclusive_of_tax = parsed_json["inclusive_of_tax"]
  lines = parsed_json["lines"]&.map do |item|
    item = item.to_json
    Merge::Accounting::JournalLineRequest.from_json(json_object: item)
  end
  journal_number = parsed_json["journal_number"]
  posting_status = parsed_json["posting_status"]
  integration_params = parsed_json["integration_params"]
   = parsed_json["linked_account_params"]
  remote_fields = parsed_json["remote_fields"]&.map do |item|
    item = item.to_json
    Merge::Accounting::RemoteFieldRequest.from_json(json_object: item)
  end
  new(
    transaction_date: transaction_date,
    payments: payments,
    memo: memo,
    currency: currency,
    exchange_rate: exchange_rate,
    company: company,
    tracking_categories: tracking_categories,
    inclusive_of_tax: inclusive_of_tax,
    lines: lines,
    journal_number: journal_number,
    posting_status: posting_status,
    integration_params: integration_params,
    linked_account_params: ,
    remote_fields: remote_fields,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

Leveraged for Union-type generation, validate_raw attempts to parse the given

hash and check each fields type against the current object's property
definitions.


801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 801

def self.validate_raw(obj:)
  obj.transaction_date&.is_a?(DateTime) != false || raise("Passed value for field obj.transaction_date is not the expected type, validation failed.")
  obj.payments&.is_a?(Array) != false || raise("Passed value for field obj.payments is not the expected type, validation failed.")
  obj.memo&.is_a?(String) != false || raise("Passed value for field obj.memo is not the expected type, validation failed.")
  obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
  obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
  obj.company.nil? || Merge::Accounting::JournalEntryRequestCompany.validate_raw(obj: obj.company)
  obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
  obj.inclusive_of_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.inclusive_of_tax is not the expected type, validation failed.")
  obj.lines&.is_a?(Array) != false || raise("Passed value for field obj.lines is not the expected type, validation failed.")
  obj.journal_number&.is_a?(String) != false || raise("Passed value for field obj.journal_number is not the expected type, validation failed.")
  obj.posting_status&.is_a?(Merge::Accounting::PostingStatusEnum) != false || raise("Passed value for field obj.posting_status is not the expected type, validation failed.")
  obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.")
  obj.&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.")
  obj.remote_fields&.is_a?(Array) != false || raise("Passed value for field obj.remote_fields is not the expected type, validation failed.")
end

Instance Method Details

#to_json(*_args) ⇒ String

Serialize an instance of JournalEntryRequest to a JSON object



791
792
793
# File 'lib/merge_ruby_client/accounting/types/journal_entry_request.rb', line 791

def to_json(*_args)
  @_field_set&.to_json
end