module Tiles::Rails::Helpers

Public Instance Methods

tile_feed(options = {}) { |tile_feed_builder| ... } click to toggle source
# File lib/tiles/rails/helpers.rb, line 4
def tile_feed(options = {}, &block)
  xml = options.delete(:xml) || eval('xml', block.binding)
  xml.instruct!
  if options[:instruct]
    options.delete(:instruct).each do |target, attrs|
      if attrs.respond_to?(:keys)
        xml.instruct!(target, attrs)
      elsif attrs.respond_to?(:each)
        attrs.each { |attr_group| xml.instruct!(target, attr_group) }
      end
    end
  end

  feed_opts = {'lang' => 'en-US', 'version' => '2'}
  feed_opts.merge!(options)

  xml.tile do
    xml.visual(feed_opts) do
      yield TileFeedBuilder.new(xml, self, options)
    end
  end
end