Class: Gusto::Payrolls::PaidTimeOff
- Inherits:
-
Object
- Object
- Gusto::Payrolls::PaidTimeOff
- Defined in:
- lib/fern_gusto/payrolls/types/paid_time_off.rb
Overview
The representation of paid time off in Gusto.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#accrual_balance ⇒ String
readonly
The number of accrual units accrued.
-
#accrual_method ⇒ String
readonly
The accrual method of the time off policy.
-
#accrual_period ⇒ String
readonly
The frequency at which the PTO type is accrued.
-
#accrual_rate ⇒ String
readonly
The number of accrual units accrued per accrual period.
-
#accrual_unit ⇒ String
readonly
The unit the PTO type is accrued in.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#maximum_accrual_balance ⇒ String
readonly
The maximum number of accrual units allowed.
-
#name ⇒ Gusto::Payrolls::PaidTimeOffName
readonly
The name of the paid time off type.
-
#paid_at_termination ⇒ Boolean
readonly
Whether the accrual balance is paid to the employee upon termination.
-
#policy_name ⇒ String
readonly
The name of the time off policy.
-
#policy_uuid ⇒ String
readonly
The UUID of the time off policy.
Class Method Summary collapse
Instance Method Summary collapse
- #initialize(name: OMIT, policy_name: OMIT, policy_uuid: OMIT, accrual_unit: OMIT, accrual_rate: OMIT, accrual_method: OMIT, accrual_period: OMIT, accrual_balance: OMIT, maximum_accrual_balance: OMIT, paid_at_termination: OMIT, additional_properties: nil) ⇒ Gusto::Payrolls::PaidTimeOff constructor
- #to_json ⇒ String
Constructor Details
#initialize(name: OMIT, policy_name: OMIT, policy_uuid: OMIT, accrual_unit: OMIT, accrual_rate: OMIT, accrual_method: OMIT, accrual_period: OMIT, accrual_balance: OMIT, maximum_accrual_balance: OMIT, paid_at_termination: OMIT, additional_properties: nil) ⇒ Gusto::Payrolls::PaidTimeOff
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 50 def initialize(name: OMIT, policy_name: OMIT, policy_uuid: OMIT, accrual_unit: OMIT, accrual_rate: OMIT, accrual_method: OMIT, accrual_period: OMIT, accrual_balance: OMIT, maximum_accrual_balance: OMIT, paid_at_termination: OMIT, additional_properties: nil) @name = name if name != OMIT @policy_name = policy_name if policy_name != OMIT @policy_uuid = policy_uuid if policy_uuid != OMIT @accrual_unit = accrual_unit if accrual_unit != OMIT @accrual_rate = accrual_rate if accrual_rate != OMIT @accrual_method = accrual_method if accrual_method != OMIT @accrual_period = accrual_period if accrual_period != OMIT @accrual_balance = accrual_balance if accrual_balance != OMIT @maximum_accrual_balance = maximum_accrual_balance if maximum_accrual_balance != OMIT @paid_at_termination = paid_at_termination if paid_at_termination != OMIT @additional_properties = additional_properties @_field_set = { "name": name, "policy_name": policy_name, "policy_uuid": policy_uuid, "accrual_unit": accrual_unit, "accrual_rate": accrual_rate, "accrual_method": accrual_method, "accrual_period": accrual_period, "accrual_balance": accrual_balance, "maximum_accrual_balance": maximum_accrual_balance, "paid_at_termination": paid_at_termination }.reject do | _k, v | v == OMIT end end |
Instance Attribute Details
#accrual_balance ⇒ String (readonly)
Returns The number of accrual units accrued.
25 26 27 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 25 def accrual_balance @accrual_balance end |
#accrual_method ⇒ String (readonly)
Returns The accrual method of the time off policy.
21 22 23 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 21 def accrual_method @accrual_method end |
#accrual_period ⇒ String (readonly)
Returns The frequency at which the PTO type is accrued.
23 24 25 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 23 def accrual_period @accrual_period end |
#accrual_rate ⇒ String (readonly)
Returns The number of accrual units accrued per accrual period.
19 20 21 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 19 def accrual_rate @accrual_rate end |
#accrual_unit ⇒ String (readonly)
Returns The unit the PTO type is accrued in.
17 18 19 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 17 def accrual_unit @accrual_unit end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
31 32 33 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 31 def additional_properties @additional_properties end |
#maximum_accrual_balance ⇒ String (readonly)
Returns The maximum number of accrual units allowed. A null value signifies no maximum.
27 28 29 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 27 def maximum_accrual_balance @maximum_accrual_balance end |
#name ⇒ Gusto::Payrolls::PaidTimeOffName (readonly)
Returns The name of the paid time off type.
11 12 13 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 11 def name @name end |
#paid_at_termination ⇒ Boolean (readonly)
Returns Whether the accrual balance is paid to the employee upon termination.
29 30 31 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 29 def paid_at_termination @paid_at_termination end |
#policy_name ⇒ String (readonly)
Returns The name of the time off policy.
13 14 15 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 13 def policy_name @policy_name end |
#policy_uuid ⇒ String (readonly)
Returns The UUID of the time off policy.
15 16 17 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 15 def policy_uuid @policy_uuid end |
Class Method Details
.from_json(json_object:) ⇒ Gusto::Payrolls::PaidTimeOff
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 70 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) name = parsed_json["name"] policy_name = parsed_json["policy_name"] policy_uuid = parsed_json["policy_uuid"] accrual_unit = parsed_json["accrual_unit"] accrual_rate = parsed_json["accrual_rate"] accrual_method = parsed_json["accrual_method"] accrual_period = parsed_json["accrual_period"] accrual_balance = parsed_json["accrual_balance"] maximum_accrual_balance = parsed_json["maximum_accrual_balance"] paid_at_termination = parsed_json["paid_at_termination"] new( name: name, policy_name: policy_name, policy_uuid: policy_uuid, accrual_unit: accrual_unit, accrual_rate: accrual_rate, accrual_method: accrual_method, accrual_period: accrual_period, accrual_balance: accrual_balance, maximum_accrual_balance: maximum_accrual_balance, paid_at_termination: paid_at_termination, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 109 def self.validate_raw(obj:) obj.name&.is_a?(Gusto::Payrolls::PaidTimeOffName) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") obj.policy_name&.is_a?(String) != false || raise("Passed value for field obj.policy_name is not the expected type, validation failed.") obj.policy_uuid&.is_a?(String) != false || raise("Passed value for field obj.policy_uuid is not the expected type, validation failed.") obj.accrual_unit&.is_a?(String) != false || raise("Passed value for field obj.accrual_unit is not the expected type, validation failed.") obj.accrual_rate&.is_a?(String) != false || raise("Passed value for field obj.accrual_rate is not the expected type, validation failed.") obj.accrual_method&.is_a?(String) != false || raise("Passed value for field obj.accrual_method is not the expected type, validation failed.") obj.accrual_period&.is_a?(String) != false || raise("Passed value for field obj.accrual_period is not the expected type, validation failed.") obj.accrual_balance&.is_a?(String) != false || raise("Passed value for field obj.accrual_balance is not the expected type, validation failed.") obj.maximum_accrual_balance&.is_a?(String) != false || raise("Passed value for field obj.maximum_accrual_balance is not the expected type, validation failed.") obj.paid_at_termination&.is_a?(Boolean) != false || raise("Passed value for field obj.paid_at_termination is not the expected type, validation failed.") end |
Instance Method Details
#to_json ⇒ String
100 101 102 |
# File 'lib/fern_gusto/payrolls/types/paid_time_off.rb', line 100 def to_json @_field_set&.to_json end |