Module: SproutCore::ViewHelpers

Defined in:
lib/sproutcore/deprecated/view_helper.rb

Instance Method Summary collapse

Instance Method Details

#render_page_views(prefix = 'SC') ⇒ Object



619
620
621
622
623
# File 'lib/sproutcore/deprecated/view_helper.rb', line 619

def render_page_views(prefix = 'SC')
  ret = %(<script type="text/javascript">\n#{SproutCore::PageHelper.render_js(prefix, self.bundle)}\n</script>)
  SproutCore::PageHelper.reset!
  return ret
end

#require_helpers(helper_name, bundle = nil) ⇒ Object

Call this method to load a helper. This will get the file contents and eval it.



627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
# File 'lib/sproutcore/deprecated/view_helper.rb', line 627

def require_helpers(helper_name, bundle=nil)

  # save bundle for future use
  unless bundle.nil?
    old_helper_bundle = @helper_bundle
    @helper_bundle = bundle
  end

  # Get all the helper paths we want to load
  if helper_name.nil?
    paths = @helper_bundle.helper_paths
  else
    paths = [@helper_bundle.helper_for(helper_name)]
  end
  paths.compact!

  # Create list of loaded helper paths
  @loaded_helpers ||= []

  # If a helper path was found, load it.  May require other helpers
  paths.each do |path|
    next if @loaded_helpers.include?(path)
    @loaded_helpers << path

    eval(@helper_bundle.helper_contents_for(path))
  end

  # restore old bundle helper.
  unless bundle.nil?
    @helper_bundle = old_helper_bundle
  end
end

#view_helper(helper_name, opts = {}, &prepare_block) ⇒ Object



607
608
609
610
611
612
613
614
615
616
617
# File 'lib/sproutcore/deprecated/view_helper.rb', line 607

def view_helper(helper_name,opts={},&prepare_block)
  hs = SproutCore::ViewHelperSupport::HelperState.new(helper_name,opts,&prepare_block)
  SproutCore::ViewHelperSupport.set_helper(helper_name, hs)

  ## install the helper method
  eval %{
    def #{helper_name}(item_id=nil, opts={}, &block)
      SproutCore::ViewHelperSupport.render_view(:#{helper_name}, item_id, opts, bundle, self, &block)
    end }

end