Method: ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder#entry

Defined in:
actionpack/lib/action_view/helpers/atom_feed_helper.rb

#entry(record, options = {}) ⇒ Object

Creates an entry tag for a specific record and prefills the id using class and id.

Options:

  • :published: Time first published. Defaults to the created_at attribute on the record if one such exists.

  • :updated: Time of update. Defaults to the updated_at attribute on the record if one such exists.

  • :url: The URL for this entry. Defaults to the polymorphic_url for the record.

  • :id: The ID for this entry. Defaults to “tag:#ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder.@view@view.request@view.request.host,#href=":schema_date">feed_options:#ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder.recordrecord.class/#ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder.recordrecord.id”


179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'actionpack/lib/action_view/helpers/atom_feed_helper.rb', line 179

def entry(record, options = {})
  @xml.entry do
    @xml.id(options[:id] || "tag:#{@view.request.host},#{@feed_options[:schema_date]}:#{record.class}/#{record.id}")

    if options[:published] || (record.respond_to?(:created_at) && record.created_at)
      @xml.published((options[:published] || record.created_at).xmlschema)
    end

    if options[:updated] || (record.respond_to?(:updated_at) && record.updated_at)
      @xml.updated((options[:updated] || record.updated_at).xmlschema)
    end

    @xml.link(:rel => 'alternate', :type => 'text/html', :href => options[:url] || @view.polymorphic_url(record))

    yield AtomBuilder.new(@xml)
  end
end