mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-18 14:11:10 +00:00
Use JSON date serializer
Effective API changes:
- nil serializes to null, not empty string
- dates serialize to IETF RFC 3339 with millisecond precision, not
second precision surrounded by spaces
This commit is contained in:
parent
b60257ef59
commit
397341a324
4 changed files with 8 additions and 15 deletions
|
|
@ -3,12 +3,8 @@
|
||||||
class EventScheduleSerializer < ActiveModel::Serializer
|
class EventScheduleSerializer < ActiveModel::Serializer
|
||||||
include ActionView::Helpers::TextHelper
|
include ActionView::Helpers::TextHelper
|
||||||
|
|
||||||
attributes :date, :room
|
attribute :start_time, key: :date
|
||||||
|
attributes :room
|
||||||
def date
|
|
||||||
t = object.start_time
|
|
||||||
t.blank? ? '' : %( #{I18n.l t, format: :short}#{t.formatted_offset(false)} )
|
|
||||||
end
|
|
||||||
|
|
||||||
def room
|
def room
|
||||||
object.room.guid
|
object.room.guid
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,9 @@
|
||||||
class EventSerializer < ActiveModel::Serializer
|
class EventSerializer < ActiveModel::Serializer
|
||||||
include ActionView::Helpers::TextHelper
|
include ActionView::Helpers::TextHelper
|
||||||
|
|
||||||
attributes :guid, :title, :length, :scheduled_date, :language, :abstract, :speaker_ids, :type, :room, :track
|
attributes :guid, :title, :length
|
||||||
|
attribute :time, key: :scheduled_date
|
||||||
def scheduled_date
|
attributes :language, :abstract, :speaker_ids, :type, :room, :track
|
||||||
t = object.time
|
|
||||||
t.blank? ? '' : %( #{I18n.l t, format: :short}#{t.formatted_offset(false)} )
|
|
||||||
end
|
|
||||||
|
|
||||||
def speaker_ids
|
def speaker_ids
|
||||||
speakers = object.event_users.select { |i| i.event_role == 'speaker' }
|
speakers = object.event_users.select { |i| i.event_role == 'speaker' }
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ describe EventScheduleSerializer, type: :serializer do
|
||||||
|
|
||||||
it 'sets date and room' do
|
it 'sets date and room' do
|
||||||
expected_json = {
|
expected_json = {
|
||||||
date: ' 2000-01-02T03:04:05+0000 ',
|
date: '2000-01-02T03:04:05.000Z',
|
||||||
room: event_schedule.room.guid
|
room: event_schedule.room.guid
|
||||||
}.to_json
|
}.to_json
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ describe EventSerializer, type: :serializer do
|
||||||
guid: event.guid,
|
guid: event.guid,
|
||||||
title: 'Some Talk',
|
title: 'Some Talk',
|
||||||
length: 30,
|
length: 30,
|
||||||
scheduled_date: '',
|
scheduled_date: nil,
|
||||||
language: nil,
|
language: nil,
|
||||||
abstract: 'Lorem ipsum dolor sit amet',
|
abstract: 'Lorem ipsum dolor sit amet',
|
||||||
speaker_ids: event.speaker_ids,
|
speaker_ids: event.speaker_ids,
|
||||||
|
|
@ -41,7 +41,7 @@ describe EventSerializer, type: :serializer do
|
||||||
guid: event.guid,
|
guid: event.guid,
|
||||||
title: 'Some Talk',
|
title: 'Some Talk',
|
||||||
length: 30,
|
length: 30,
|
||||||
scheduled_date: ' 2014-03-04T09:00:00+0000 ',
|
scheduled_date: '2014-03-04T09:00:00.000Z',
|
||||||
language: 'English',
|
language: 'English',
|
||||||
abstract: 'Lorem ipsum dolor sit amet',
|
abstract: 'Lorem ipsum dolor sit amet',
|
||||||
speaker_ids: [speaker.id],
|
speaker_ids: [speaker.id],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue