4.18 Exercício M04-E02 Aula anterior
1.4 - Criação do seu ambiente
4.19 - Exercício M04-E03
Objetivos
- Aplicar conceitos básicos de Programação Orientada a Objetos (POO) usando a linguagem Ruby:
- Mixins
Instruções
Neste exercício, queremos implementar a seguinte regra de negócio: produtos frescos e produtos digitais possuem uma data de validade, que fica armazenada na variável de instância @expiration_date
. Sabendo disso, queremos dar um desconto para produtos que estão próximos da data de vencimento, para tentar dar vazão ao nosso estoque.
-
Para fazer isso, você deverá implementar os seguintes métodos do módulo
DiscountEligible
:-
days_to_expire
-
discount_amount
-
discounted_price
Este módulo já está parcialmente implementado (veja o arquivo
discount_eligible.rb
), e os métodos que você precisa implementar estão descritos neste arquivo. -
-
Em seguida, você precisará alterar as classes
FreshProduct
eDigitalProduct
para que elas incluam a funcionalidade implementada no móduloDiscountEligible
.
Testando seu código
Você pode testar o seu código usando as mesmas duas formas que utilizou no exercício M04-E01.
Correção do exercício
-
Quando você estiver satisfeito com a sua resposta, utilize a ferramenta
ep
para executar a correção do exercício.ep 4.3