From e43d62957599ea6607ceb851b7bd9d90148de16b Mon Sep 17 00:00:00 2001 From: Tom Rothe Date: Sun, 21 Jun 2020 17:12:34 +0200 Subject: [PATCH] [ruby/observer] add symbol usage example to Observer#add_observer [doc] https://github.com/ruby/observer/commit/62a94e3799 --- lib/observer.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/observer.rb b/lib/observer.rb index acfe654301..0078d81449 100644 --- a/lib/observer.rb +++ b/lib/observer.rb @@ -111,6 +111,30 @@ # Current price: 112 # Current price: 79 # --- Sun Jun 09 00:10:25 CDT 2002: Price below 80: 79 +# +# === Usage with procs +# +# The +#notify_observers+ method can also be used with +proc+s by using +# the +:call+ as +func+ parameter. +# +# The following example illustrates the use of a lambda: +# +# require 'observer' +# +# class Ticker +# include Observable +# +# def run +# # logic to retrieve the price (here 77.0) +# changed +# notify_observers(77.0) +# end +# end +# +# ticker = Ticker.new +# warner = ->(price) { puts "New price received: #{price}" } +# ticker.add_observer(warner, :call) +# ticker.run module Observable #