class ReactiveObservers::Observer::Container
Attributes
constrain[RW]
context[RW]
fields[RW]
notify[RW]
observed[RW]
observer[RW]
on[RW]
only[RW]
refine[RW]
trigger[RW]
trigger_with_previous_values[RW]
Public Class Methods
new(observer, observed, options)
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 15 def initialize(observer, observed, options) @observer = observer @observed = observed.is_a?(Symbol) ? observed.to_s.classify.constantize : observed @on = Array.wrap options[:on] @fields = Array.wrap options[:fields] @only = options[:only] @trigger = options[:trigger] || ReactiveObservers.configuration.default_trigger @notify = options[:notify] @refine = options[:refine] @context = options[:context] ReactiveObservers::Observer::ContainerValidator.new(self).run_validations! @constrain = load_observer_constrains @trigger_with_previous_values = options[:trigger_with_previous_values] || false end
Public Instance Methods
compare()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 30 def compare ReactiveObservers::Observer::ContainerComparator.new(self) end
klass_observed?()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 38 def klass_observed? @observed.is_a? Class end
klass_observer?()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 34 def klass_observer? @observer.is_a? Class end
observed_klass()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 48 def observed_klass return @observed if klass_observed? @observed.class end
observer_klass()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 42 def observer_klass return @observer if klass_observer? @observer.class end
to_h()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 54 def to_h { observer: @observer, observed: @observed, fields: @fields, on: @on, only: @only, constrain: @constrain, trigger: @trigger, refine: @refine, notify: @notify, context: @context} end
Private Instance Methods
load_observer_constrains()
click to toggle source
# File lib/reactive_observers/observer/container.rb, line 61 def load_observer_constrains return [] if @observed.is_a?(Class) [@observed.id] end