Sha256: 3566d06cc4d9a147a401a928d9023e612abaa27712f2ad03af01ff7389e758d8

Contents?: true

Size: 919 Bytes

Versions: 2

Compression:

Stored size: 919 Bytes

Contents

object false

node :links do
  @pagination_links
end

child @rooms, :root => :data, :object_root => false, :if => lambda { |r| @rooms.size > 0 } do
  node(:type) { |obj| api_type_of(obj) }
  node(:id) { |obj| obj.to_param }

  node :attributes do |room|
    attrs = { }
    [ :name, :private ].each { |attr|
      attrs.merge!({ :"#{attr}" => room.send(attr) })
    }
    attrs
  end

  node :relationships, :unless => lambda { |r| r.owner.nil? } do |room|
    owner = room.owner
    url = polymorphic_path(owner)
    { :owner =>
      {
        :data => {
          :type => api_type_of(owner),
          :id => owner.to_param,
          :attributes => {
            :name => owner.try(:name)
          }
        },
        :links => {
          :self => url
        }
      }
    }
  end

  node :links do |room|
    { self: room.short_path }
  end
end

node :data, :if => lambda { |r| @rooms.size == 0 } do
  []
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bigbluebutton_rails-3.0.0 app/views/bigbluebutton/api/rooms/index.rabl
bigbluebutton_rails-2.3.0 app/views/bigbluebutton/api/rooms/index.rabl