class Tippy::Builder

Builder class for the tippy gem

Public Class Methods

new(total:, gratuity:) click to toggle source
# File lib/tippy/builder.rb, line 12
def initialize(total:, gratuity:)
  @total = total
  @gratuity = gratuity
end

Public Instance Methods

calculation(gratuity = @gratuity) click to toggle source
# File lib/tippy/builder.rb, line 35
def calculation(gratuity = @gratuity)
  @total += @total * (gratuity.to_f / 100)
end
generate() click to toggle source
# File lib/tippy/builder.rb, line 17
def generate
  return calculation if number_based?

  string_based
end
number_based?() click to toggle source
# File lib/tippy/builder.rb, line 23
def number_based?
  (@gratuity.is_a? Numeric) || @gratuity.integer?
end
string_based() click to toggle source
# File lib/tippy/builder.rb, line 27
def string_based
  case @gratuity.downcase
  when 'high' then calculation 25
  when 'standard' then calculation 18
  when 'low' then calculation 15
  end
end