Class: AdvancedBilling::SendInvoiceRequest

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/advanced_billing/models/send_invoice_request.rb

Overview

SendInvoiceRequest Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #get_additional_properties, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(recipient_emails: SKIP, cc_recipient_emails: SKIP, bcc_recipient_emails: SKIP, attachment_urls: SKIP, additional_properties: {}) ⇒ SendInvoiceRequest

Returns a new instance of SendInvoiceRequest.



54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 54

def initialize(recipient_emails: SKIP, cc_recipient_emails: SKIP,
               bcc_recipient_emails: SKIP, attachment_urls: SKIP,
               additional_properties: {})
  # Add additional model properties to the instance.
  additional_properties.each do |_name, _value|
    instance_variable_set("@#{_name}", _value)
  end

  @recipient_emails = recipient_emails unless recipient_emails == SKIP
  @cc_recipient_emails = cc_recipient_emails unless cc_recipient_emails == SKIP
  @bcc_recipient_emails = bcc_recipient_emails unless bcc_recipient_emails == SKIP
  @attachment_urls = attachment_urls unless attachment_urls == SKIP
end

Instance Attribute Details

#attachment_urlsArray[String]

Array of URLs to files to attach to the invoice email. Max 10 files, 10MB each.

Returns:

  • (Array[String])


27
28
29
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 27

def attachment_urls
  @attachment_urls
end

#bcc_recipient_emailsArray[String]

TODO: Write general description for this method

Returns:

  • (Array[String])


22
23
24
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 22

def bcc_recipient_emails
  @bcc_recipient_emails
end

#cc_recipient_emailsArray[String]

TODO: Write general description for this method

Returns:

  • (Array[String])


18
19
20
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 18

def cc_recipient_emails
  @cc_recipient_emails
end

#recipient_emailsArray[String]

TODO: Write general description for this method

Returns:

  • (Array[String])


14
15
16
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 14

def recipient_emails
  @recipient_emails
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 69

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  recipient_emails =
    hash.key?('recipient_emails') ? hash['recipient_emails'] : SKIP
  cc_recipient_emails =
    hash.key?('cc_recipient_emails') ? hash['cc_recipient_emails'] : SKIP
  bcc_recipient_emails =
    hash.key?('bcc_recipient_emails') ? hash['bcc_recipient_emails'] : SKIP
  attachment_urls =
    hash.key?('attachment_urls') ? hash['attachment_urls'] : SKIP

  # Clean out expected properties from Hash.
  additional_properties = hash.reject { |k, _| names.value?(k) }

  # Create object from extracted values.
  SendInvoiceRequest.new(recipient_emails: recipient_emails,
                         cc_recipient_emails: cc_recipient_emails,
                         bcc_recipient_emails: bcc_recipient_emails,
                         attachment_urls: attachment_urls,
                         additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



30
31
32
33
34
35
36
37
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 30

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['recipient_emails'] = 'recipient_emails'
  @_hash['cc_recipient_emails'] = 'cc_recipient_emails'
  @_hash['bcc_recipient_emails'] = 'bcc_recipient_emails'
  @_hash['attachment_urls'] = 'attachment_urls'
  @_hash
end

.nullablesObject

An array for nullable fields



50
51
52
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 50

def self.nullables
  []
end

.optionalsObject

An array for optional fields



40
41
42
43
44
45
46
47
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 40

def self.optionals
  %w[
    recipient_emails
    cc_recipient_emails
    bcc_recipient_emails
    attachment_urls
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



102
103
104
105
106
107
108
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 102

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} recipient_emails: #{@recipient_emails.inspect}, cc_recipient_emails:"\
  " #{@cc_recipient_emails.inspect}, bcc_recipient_emails: #{@bcc_recipient_emails.inspect},"\
  " attachment_urls: #{@attachment_urls.inspect}, additional_properties:"\
  " #{get_additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



94
95
96
97
98
99
# File 'lib/advanced_billing/models/send_invoice_request.rb', line 94

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} recipient_emails: #{@recipient_emails}, cc_recipient_emails:"\
  " #{@cc_recipient_emails}, bcc_recipient_emails: #{@bcc_recipient_emails}, attachment_urls:"\
  " #{@attachment_urls}, additional_properties: #{get_additional_properties}>"
end