Untitled
unknown
ruby
a year ago
760 B
19
Indexable
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.reportEditor is loading...
Leave a Comment