Untitled
class Employee attr_accessor :id, :name, :role def initialize(id, name, role) @id = id @name = name @role = role end def calculate_pay case @role when 'developer' 5000 when 'manager' 8000 else 3000 end end def save File.open("#{@id}.txt", 'w') do |f| f.write("ID: #{@id}, Name: #{@name}, Role: #{@role}") end end end class EmployeeReport def initialize(employee) @employee = employee end def report puts "Report for #{@employee.name}, Role: #{@employee.role}, Pay: #{@employee.calculate_pay}" end end # Usage example e1 = Employee.new(1, 'Alice', 'developer') e2 = Employee.new(2, 'Bob', 'manager') e1.save e2.save report = EmployeeReport.new(e1) report.report
Leave a Comment