-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.rb
More file actions
28 lines (25 loc) · 841 Bytes
/
main.rb
File metadata and controls
28 lines (25 loc) · 841 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true
require_relative 'line_item'
require_relative 'employee_payroll'
require_relative 'calculate_employee_payroll'
require_relative 'calculate_taxes'
require_relative 'build_line_item_with_policy'
module ServiceFunctions
module HandleErrors
module OkError
employee_payroll = EmployeePayroll.new(
employee_id: 1, line_items: [
LineItem.new(amount: 100, line_item_key: 'salary'),
LineItem.new(amount: 150, line_item_key: 'bonus'),
LineItem.new(amount: 200, line_item_key: 'meal_voucher')
]
)
calculated_employee_payroll = CalculateEmployeePayroll.call(
BuildLineItemWithPolicy, # Dependency
CalculateTaxes, # Dependency
employee_payroll # Actual input value
)
p calculated_employee_payroll
end
end
end