{"push_id":1116508641,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"dfd461af2b2598aed7e97cb87fd00f5191db2adc","before":"31dae5d55289db44ab70b8c5e19ac8a8b76ae0e2","commits":[{"sha":"dfd461af2b2598aed7e97cb87fd00f5191db2adc","author":{"email":"159cc8791172fcf32db6830f961362c58a8a9b27@gmail.com","name":"Zoltan Biber"},"message":"More generic promotion calculation.\nMoving the concern of applying discount into a separate Promotion\nclass. Checkout is agnostic of the number of promotions and their\ninner workings of calculating the discount.\nLeaving each promotion as an instance of Promotion class as we might\nwant to store more data/state on each promotion in the future.\nEach promotion instance has it's own singleton method to calculate\nthe discount.\nDepending on the usecase the whole of the above could be achieved\nwith a Promotion module (instead of a class) too.","distinct":true,"url":"https://api.github.com/repos/zoltanbiber/ruby_checkout_system/commits/dfd461af2b2598aed7e97cb87fd00f5191db2adc"}]}