json API for suseconferenceclient

This commit is contained in:
Ancor Gonzalez Sosa 2013-07-08 10:07:12 +02:00
parent d648ab7cb5
commit d95d8f234b
12 changed files with 159 additions and 8 deletions

View file

@ -0,0 +1,41 @@
class EventSerializer < ActiveModel::Serializer
include ActionView::Helpers::TextHelper
attributes :guid, :title, :length, :date, :language, :abstract,
:speaker_ids, :type, :room, :track
def date
object.start_time
end
def speaker_ids
speakers = object.event_people.select {|i| i.event_role == "speaker" }
speakers.map {|i| i.person.guid}
end
def type
object.event_type.try(:title)
end
def room
object.room.try(:guid)
end
def track
object.track.try(:guid)
end
def abstract
# This should never happen
if object.abstract.blank?
nil
else
simple_format(object.abstract).gsub("\n", "")
end
end
# FIXME: duplicated logic from Event#as_json
def length
object.event_type.try(:length) || 25
end
end