Skip to content

Instantly share code, notes, and snippets.

@mwean
Created September 30, 2012 03:36
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 mwean/3805758 to your computer and use it in GitHub Desktop.
Save mwean/3805758 to your computer and use it in GitHub Desktop.
Class-level observers
require 'observer'
class BudgetsConsumer
def self.update(val)
puts "new value from enrollment consumer: #{val}"
end
end
class EnrollmentsConsumer
extend Observable
def self.change_consumer(val)
changed
notify_observers(val)
end
end
EnrollmentsConsumer.add_observer(BudgetsConsumer)
EnrollmentsConsumer.change_consumer(name: 'Jim')
#=> new value from enrollment consumer: {:name=>"Jim"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment