class Twoffein::Drink

Attributes

brand[R]
key[R]
name[R]

Public Class Methods

new(name, key=nil, brand=false) click to toggle source
# File lib/twoffein-client/drink.rb, line 7
def initialize(name, key=nil, brand=false)
  @name  = name.to_s
  @key   = (key ? key : key_of(name)).to_sym
  @brand = !!brand
end

Public Instance Methods

==(drink) click to toggle source
# File lib/twoffein-client/drink.rb, line 17
def ==(drink)
  name == drink.name &&
    key == drink.key &&
    brand == drink.brand
end
to_s() click to toggle source
# File lib/twoffein-client/drink.rb, line 13
def to_s
  "#@name  (#@key)"
end

Private Instance Methods

key_of(name) click to toggle source
# File lib/twoffein-client/drink.rb, line 25
def key_of(name)
  key = name.dup
  changes = {
    'ü' => 'ue',
    'Ü' => 'Ue',
    'ö' => 'oe',
    'Ö' => 'Oe',
    'ä' => 'ae',
    'Ä' => 'Ae',
  }
  changes.each { |orig, trans| key.gsub!(orig, trans) }

  removeables = [/\W/]
  removeables.each { |r| key.gsub!(r, '') }

  key.downcase.to_sym
end