Sha256: ca819ec300dd0f8c109b48ce7d93afe19ff884c5509f2aa65ed99355b013bb1e
Contents?: true
Size: 738 Bytes
Versions: 25
Compression:
Stored size: 738 Bytes
Contents
module Observable2 def add_observer observer @observable_observers ||= [] @observable_observers << observer unless @observable_observers.include? observer end def notify_observers method, *args raise "Invalid usage, method must be Symbol or String!" unless method.is_a?(Symbol) or method.is_a?(String) @observable_observers.each{|observer| observer.respond_to method, *args} if @observable_observers end def delete_observer observer @observable_observers.delete observer if @observable_observers end def delete_observers @observable_observers.clear if @observable_observers end def observers_count @observable_observers ? @observable_observers.size : 0 end end
Version data entries
25 entries across 25 versions & 2 rubygems