Sha256: 02142702ffc1b5cf68a036ab86008e82f98e36c3064a10e496ea9b72fd493b37
Contents?: true
Size: 785 Bytes
Versions: 1
Compression:
Stored size: 785 Bytes
Contents
class String def number? return true if self =~ /[+-]?([0-9]*[.])?[0-9]+/ end end module Tippy class Builder @@const_hash = { "HIGH" => 25.0, "LOW" => 15.0, "STANDARD" => 18.0, "ZERO" => 0.0 } def initialize(total:, gratuity:) @total = total.to_i @gratuity = gratuity end def generate return calculation if number_based? @gratuity = string_based? calculation end private def number_based? if (@gratuity.is_a? Numeric or @gratuity.number?) @gratuity = @gratuity.to_f return true end false end def string_based? gratuity = @gratuity.upcase return @@const_hash[gratuity] if @@const_hash.has_key? gratuity return @@const_hash["ZERO"] end def calculation return @total + (@total * @gratuity / 100) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tippy_technov-0.1.1 | lib/tippy/builder.rb |