Class: Pakyow::Presenter::View

Inherits:
Object
  • Object
show all
Defined in:
lib/pakyow-bindr.rb

Instance Method Summary collapse

Instance Method Details

#applyr(data, bindings: {}, context: nil, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pakyow-bindr.rb', line 12

def applyr(data, bindings: {}, context: nil, &block)
  views = apply(data, bindings: bindings, context: context, &block)
  return if data.nil?

  if data.is_a?(Array)
    # map data across views
    data.each_with_index do |datum,i|
      views[i].applyr(datum, bindings: bindings, context: context, &block)
    end
  else
    data.each_pair do |data_scope, datum|
      next unless view = (views || self).scope(data_scope)
      view.applyr(datum, bindings: bindings, context: context, &block)
    end
  end
end

#bindr(data, bindings: {}, context: nil, &block) ⇒ Object



2
3
4
5
6
7
8
9
10
# File 'lib/pakyow-bindr.rb', line 2

def bindr(data, bindings: {}, context: nil, &block)
  bind(data, bindings: bindings, context: context, &block)
  return if data.nil?
  
  data.each_pair do |data_scope, datum|
    next unless view = scope(data_scope)
    view.bindr(datum, bindings: bindings, context: context, &block)
  end
end