class Pakyow::TestHelp::ObservableView

Attributes

presenter[R]
traversal[R]
view[R]

Public Class Methods

new(view, presenter, traversal) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 9
def initialize(view, presenter, traversal)
  @view = view
  @presenter = presenter
  @traversal = traversal
end

Public Instance Methods

==(other) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 15
def ==(other)
  doc == other.doc
end
after(after_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 69
def after(after_view)
  presenter.observing(view.scoped_as, :after, traversal, view: after_view)
  handle_value(view.after(after_view))
end
after?(after_view = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 124
def after?(after_view = nil)
  values = {}
  values[:view] = after_view if after_view
  presenter.observed?(view.scoped_as, :after, traversal, values)
end
append(appendable_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 59
def append(appendable_view)
  presenter.observing(view.scoped_as, :append, traversal, view: appendable_view)
  handle_value(view.append(appendable_view))
end
appended?(appended_view = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 112
def appended?(appended_view = nil)
  values = {}
  values[:view] = appended_view if appended_view
  presenter.observed?(view.scoped_as, :append, traversal, values)
end
applied?(data = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 96
def applied?(data = nil)
  values = {}
  values[:data] = data if data
  presenter.observed?(view.scoped_as, :apply, traversal, values)
end
apply(data, bindings: {}, context: nil, &block) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 49
def apply(data, bindings: {}, context: nil, &block)
  presenter.observing(view.scoped_as, :apply, traversal, data: data, bindings: bindings, context: context, block: block)

  result = view.apply(data, bindings: bindings, context: context) do |view, datum|
    block.call(handle_value(view), datum) unless block.nil?
  end

  handle_value(result)
end
before(before_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 74
def before(before_view)
  presenter.observing(view.scoped_as, :before, traversal, view: before_view)
  handle_value(view.before(before_view))
end
before?(before_view = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 130
def before?(before_view = nil)
  values = {}
  values[:view] = before_view if before_view
  presenter.observed?(view.scoped_as, :before, traversal, values)
end
bind(data, bindings: {}, context: nil, &block) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 39
def bind(data, bindings: {}, context: nil, &block)
  presenter.observing(view.scoped_as, :bind, traversal, data: data, bindings: bindings, context: context, block: block)

  result = view.bind(data, bindings: bindings, context: context) do |view, datum|
    block.call(handle_value(view), datum) unless block.nil?
  end

  handle_value(result)
end
bound?(data = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 102
def bound?(data = nil)
  if view.first.doc.has_attribute?(:'data-scope')
    values = {}
    values[:data] = data if data
    presenter.observed?(view.scoped_as, :bind, traversal, values)
  else
    data && (view.first.text == data || view.first.attrs.value.to_s == data)
  end
end
exists?() click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 92
def exists?
  view.length > 0
end
for(data, &block) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 33
def for(data, &block)
  view.for(data) do |view, datum|
    block.call(handle_value(view), datum)
  end
end
mutated?(mutation = nil, data: nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 142
def mutated?(mutation = nil, data: nil)
  Pakyow::TestHelp::Realtime::ObservableMutator.instance.mutated?(self, mutation, data: data)
end
observable() click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 19
def observable
  view
end
prepend(prependable_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 64
def prepend(prependable_view)
  presenter.observing(view.scoped_as, :prepend, traversal, view: prependable_view)
  handle_value(view.prepend(prependable_view))
end
prepended?(prepended_view = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 118
def prepended?(prepended_view = nil)
  values = {}
  values[:view] = prepended_view if prepended_view
  presenter.observed?(view.scoped_as, :prepend, traversal, values)
end
prop?(name) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 88
def prop?(name)
  view.prop(name).length > 0
end
replace(replace_view) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 79
def replace(replace_view)
  presenter.observing(view.scoped_as, :replace, traversal, view: replace_view)
  handle_value(view.replace(replace_view))
end
replaced?(replace_view = nil) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 136
def replaced?(replace_view = nil)
  values = {}
  values[:view] = replace_view if replace_view
  presenter.observed?(view.scoped_as, :replace, traversal, values)
end
scope?(name) click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 84
def scope?(name)
  view.scope(name).length > 0
end
subscribed?() click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 146
def subscribed?
  Pakyow::TestHelp::Realtime::ObservableMutator.instance.subscribed?(self)
end
with() { |self| ... } click to toggle source
# File pakyow-test/lib/pakyow/test_help/observables/observable_view.rb, line 23
def with(&block)
  if block.arity == 0
    instance_exec(&block)
  else
    yield(self)
  end

  self
end