Sha256: 02d391570a0178d049411ff95080fc69909b06d5485726cd3c3efb179be03e12
Contents?: true
Size: 753 Bytes
Versions: 1
Compression:
Stored size: 753 Bytes
Contents
class String def integer? return true if self =~ /^[1-9]\d*(\.\d+)?$/ false end end module TippyRor # class Error < StandardError; end class Builder def initialize total:, gratuity: @total = total @gratuity = gratuity end def generate return calculation if number_based? string_based end def number_based? (@gratuity.is_a? Numeric) || (@gratuity.integer?) end def string_based case @gratuity.downcase when 'high' then calculation 25 when 'standard' then calculation 18 when 'low' then calculation 15 end end def calculation gratuity = @gratuity @total += @total * (gratuity.to_f / 100) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tippy_ror-0.1.1 | lib/tippy_ror/builder.rb |