Skip to content

Instantly share code, notes, and snippets.

@bartlomiejdanek
Created September 25, 2012 14:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bartlomiejdanek/3782170 to your computer and use it in GitHub Desktop.
Save bartlomiejdanek/3782170 to your computer and use it in GitHub Desktop.
Algorytm robienia kawy
# encoding: utf-8
module Selleo::Kuchnia
class PojemnikNaKapsułki
include Singleton
state_machine :initial => :pusty do
state :pusty
state :pełny
event :dorzucam_kapsułkę_do_pojemnika do
transition :pusty => :pełny, :if => ->(obj) { obj.wysypują_się_kapsułki? }
end
event :mam_oczy_i_wyrzucam_kapsułki_do_kosza_na_śmieci_zamiast_robić_syf_dookoła! do
transition :pełny => :pusty
puts "Hurraaaaa! Nie ma syfu!!"
end
end
end
class PijącyKawę
def robię_kawę
przygotowuję_kubek_aromatycznego_napoju_z_ekspresu
PojemnikNaKapsułki.instance.dorzucam_kapsułkę_do_pojemnika!
if PojemnikNaKapsułki.instance.pełny?
PojemnikNaKapsułki.instance.mam_oczy_i_wyrzucam_kapsułki_do_kosza_na_śmieci_zamiast_robić_syf_dookoła!
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment