Module: AdminIt::Renderable

Included in:
Section, ShowContext
Defined in:
lib/admin_it/renderable.rb

Instance Method Summary collapse

Instance Method Details

#render(entity = nil, instance = nil, &block) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/admin_it/renderable.rb', line 3

def render(entity = nil, instance = nil, &block)
  if entity.nil? && instance.nil?
    # method used as setter - just save block
    @renderer = block if block_given?
  elsif !@renderer.nil?
    # method used as event emmiter, call block in instance or caller
    # context if it present
    if instance.nil?
      @renderer.call(entity)
    else
      instance.instance_exec(entity, &@renderer)
    end
  end
end