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