Class: CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
- Inherits:
-
Object
- Object
- CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
- Defined in:
- lib/candidhealth/write_offs/v_1/types/write_off_create.rb
Instance Attribute Summary collapse
- #discriminant ⇒ String readonly
- #member ⇒ Object readonly
Class Method Summary collapse
-
.from_json(json_object:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
Deserialize a JSON object to an instance of WriteOffCreate.
- .insurance(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
- .non_insurance_payer(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
- .patient(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
-
.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.
Instance Method Summary collapse
- #initialize(member:, discriminant:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate constructor
-
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
- #kind_of? ⇒ Object
-
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
Constructor Details
#initialize(member:, discriminant:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
24 25 26 27 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 24 def initialize(member:, discriminant:) @member = member @discriminant = discriminant end |
Instance Attribute Details
#discriminant ⇒ String (readonly)
16 17 18 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 16 def discriminant @discriminant end |
#member ⇒ Object (readonly)
14 15 16 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 14 def member @member end |
Class Method Details
.from_json(json_object:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
Deserialize a JSON object to an instance of WriteOffCreate
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 33 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) member = case struct.type when "patient" CandidApiClient::WriteOffs::V1::Types::PatientWriteOffCreate.from_json(json_object: json_object) when "insurance" CandidApiClient::WriteOffs::V1::Types::InsuranceWriteOffCreate.from_json(json_object: json_object) when "non_insurance_payer" CandidApiClient::WriteOffs::V1::Types::NonInsurancePayerWriteOffCreate.from_json(json_object: json_object) else CandidApiClient::WriteOffs::V1::Types::PatientWriteOffCreate.from_json(json_object: json_object) end new(member: member, discriminant: struct.type) end |
.insurance(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
100 101 102 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 100 def self.insurance(member:) new(member: member, discriminant: "insurance") end |
.non_insurance_payer(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
106 107 108 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 106 def self.non_insurance_payer(member:) new(member: member, discriminant: "non_insurance_payer") end |
.patient(member:) ⇒ CandidApiClient::WriteOffs::V1::Types::WriteOffCreate
94 95 96 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 94 def self.patient(member:) new(member: member, discriminant: "patient") 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.
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 71 def self.validate_raw(obj:) case obj.type when "patient" CandidApiClient::WriteOffs::V1::Types::PatientWriteOffCreate.validate_raw(obj: obj) when "insurance" CandidApiClient::WriteOffs::V1::Types::InsuranceWriteOffCreate.validate_raw(obj: obj) when "non_insurance_payer" CandidApiClient::WriteOffs::V1::Types::NonInsurancePayerWriteOffCreate.validate_raw(obj: obj) else raise("Passed value matched no type within the union, validation failed.") end end |
Instance Method Details
#is_a?(obj) ⇒ Boolean
For Union Types, is_a? functionality is delegated to the wrapped member.
88 89 90 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 88 def is_a?(obj) @member.is_a?(obj) end |
#kind_of? ⇒ Object
19 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 19 alias kind_of? is_a? |
#to_json(*_args) ⇒ String
For Union Types, to_json functionality is delegated to the wrapped member.
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/candidhealth/write_offs/v_1/types/write_off_create.rb', line 51 def to_json(*_args) case @discriminant when "patient" { **@member.to_json, type: @discriminant }.to_json when "insurance" { **@member.to_json, type: @discriminant }.to_json when "non_insurance_payer" { **@member.to_json, type: @discriminant }.to_json else { "type": @discriminant, value: @member }.to_json end @member.to_json end |