diff options
Diffstat (limited to 'lib/grant.rb')
| -rw-r--r-- | lib/grant.rb | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/grant.rb b/lib/grant.rb index a993366..10f89f4 100644 --- a/lib/grant.rb +++ b/lib/grant.rb @@ -1,4 +1,5 @@ class Grant + include Enumerable attr_reader :issued_at def initialize(value_of_grant, share_price, date = Clock.today) @@ -7,14 +8,6 @@ class Grant @issued_at = date end - def value_of_unvested_units_at(price) - value_of(unvested_units, price) - end - - def value_of_vested_units_at(price) - value_of(vested_units, price) - end - def vest_at(price, portion) number_of_units_to_vest = portion.to_f * @units.count unvested_units.take(number_of_units_to_vest).each do |unit| @@ -22,7 +15,9 @@ class Grant end end - private + def each + @units.each { |unit| yield unit } + end def value_of(units, price) units.inject(0.00.dollars) do |memo, unit| @@ -30,6 +25,8 @@ class Grant end end + private + def unvested_units @units - vested_units end |
