Sha256: c3d0bdef8202232c146efad33e983941ade76915adce87db881f9f10195b4bbb

Contents?: true

Size: 987 Bytes

Versions: 1

Compression:

Stored size: 987 Bytes

Contents

class String
	  def integer? 
			    return true if self =~ /^[1-9]\d*(\.\d+)?$/
					    false
							  end
end

module Tippy

	  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_mun-0.1.6 lib/tippy_mun/builder.rb