class Pakyow::TestHelp::Realtime::ObservableMutator

Public Class Methods

new() click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/realtime/observable_mutator.rb, line 7
def initialize
  reset
end

Public Instance Methods

mutate(mutation_name, view, data) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/realtime/observable_mutator.rb, line 15
def mutate(mutation_name, view, data)
  context = ObservableMutateContext.new(
    Pakyow::UI::Mutator.instance.mutate(mutation_name, view, data)
  )

  @mutations << {
    mutation_name: mutation_name,
    context: context,
    view: view,
    data: data
  }

  context
end
mutated?(observable_view, mutation_name, data: nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/realtime/observable_mutator.rb, line 30
def mutated?(observable_view, mutation_name, data: nil)
  if mutation_name.nil? && data.nil?
    @mutations.each do |mutation|
      return true if mutation[:view].subject.observable == observable_view.observable
    end
  elsif mutation_name && data.nil?
    @mutations.each do |mutation|
      return true if mutation[:mutation_name] == mutation_name && mutation[:view].subject.observable == observable_view.observable
    end
  elsif data && mutation_name.nil?
    @mutations.each do |mutation|
      return true if mutation[:view].subject.observable == observable_view.observable && mutation[:data] == data
    end
  else
    @mutations.each do |mutation|
      return true if mutation[:mutation_name] == mutation_name && mutation[:view].subject.observable == observable_view.observable && mutation[:data] == data
    end
  end

  return false
end
reset() click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/realtime/observable_mutator.rb, line 11
def reset
  @mutations = []
end
subscribed?(observable_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/realtime/observable_mutator.rb, line 52
def subscribed?(observable_view)
  @mutations.each do |mutation|
    return true if mutation[:context].subscribed? && mutation[:view].subject.observable == observable_view.observable
  end

  return false
end