Sha256: 4069d29fd60fb5a6e251ca3e04f9d5bc0a34c4a13b9dbfbe086fdf49865b3658

Contents?: true

Size: 604 Bytes

Versions: 1

Compression:

Stored size: 604 Bytes

Contents

module TippyNextolive
  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_Nextolive-0.1.0 lib/tippy_Nextolive/builder.rb