class Tippy::Builder
Public Class Methods
new(total:, gratuity:)
click to toggle source
# File lib/tippy/builder.rb, line 10 def initialize(total:, gratuity:) @total = total.to_i @gratuity = gratuity end
Public Instance Methods
generate()
click to toggle source
# File lib/tippy/builder.rb, line 15 def generate return calculation if number_based? @gratuity = string_based? calculation end
Private Instance Methods
calculation()
click to toggle source
# File lib/tippy/builder.rb, line 36 def calculation return @total + (@total * @gratuity / 100) end
number_based?()
click to toggle source
# File lib/tippy/builder.rb, line 22 def number_based? if (@gratuity.is_a? Numeric or @gratuity.number?) @gratuity = @gratuity.to_f return true end false end
string_based?()
click to toggle source
# File lib/tippy/builder.rb, line 30 def string_based? gratuity = @gratuity.upcase return @@const_hash[gratuity] if @@const_hash.has_key? gratuity return @@const_hash["ZERO"] end