Открыть боковую панель
nt_test111
nt_project_u8hcxr42ygkw
Коммиты
2bb763c5
Коммит
2bb763c5
создал
Май 05, 2017
по автору
M. Ricketts
Зафиксировано автором
Adam Niedzielski
Июн 12, 2017
Просмотр файлов
Show all active broadcast messages, rather than just the last one
владелец
5478ff6d
Изменения
6
Скрыть пробелы
Построчно
Рядом
app/helpers/broadcast_messages_helper.rb
Просмотр файла @
2bb763c5
module
BroadcastMessagesHelper
def
broadcast_message
(
message
=
BroadcastMessage
.
current
)
def
broadcast_message
(
message
)
return
unless
message
.
present?
content_tag
:div
,
class:
'broadcast-message'
,
style:
broadcast_message_style
(
message
)
do
...
...
app/models/broadcast_message.rb
Просмотр файла @
2bb763c5
...
...
@@ -16,7 +16,7 @@ class BroadcastMessage < ActiveRecord::Base
def
self
.
current
Rails
.
cache
.
fetch
(
"broadcast_message_current"
,
expires_in:
1
.
minute
)
do
where
(
"
ends_at > :now AND starts_at <= :now
"
,
now:
Time
.
zone
.
now
)
.
last
where
(
'
ends_at > :now AND starts_at <= :now
'
,
now:
Time
.
zone
.
now
)
end
end
...
...
app/views/layouts/_broadcast.html.haml
Просмотр файла @
2bb763c5
=
broadcast_message
-
BroadcastMessage
.
current
.
each
do
|
message
|
=
broadcast_message
(
message
)
changelogs/unreleased/13336-multiple-broadcast-messages.yml
0 → 100644
Просмотр файла @
2bb763c5
---
title
:
Display all current broadcast messages, not just the last one
merge_request
:
11113
author
:
rickettm
spec/models/broadcast_message_spec.rb
Просмотр файла @
2bb763c5
...
...
@@ -21,22 +21,29 @@
end
describe
'.current'
do
it
"
returns
last
message if time match
"
do
it
'
returns message if time match
'
do
message
=
create
(
:broadcast_message
)
expect
(
BroadcastMessage
.
current
).
to
eq
message
expect
(
BroadcastMessage
.
current
).
to
include
(
message
)
end
it
"returns nil if time not come"
do
it
'returns multiple messages if time match'
do
message1
=
create
(
:broadcast_message
)
message2
=
create
(
:broadcast_message
)
expect
(
BroadcastMessage
.
current
).
to
contain_exactly
(
message1
,
message2
)
end
it
'returns empty list if time not come'
do
create
(
:broadcast_message
,
:future
)
expect
(
BroadcastMessage
.
current
).
to
be_
nil
expect
(
BroadcastMessage
.
current
).
to
be_
empty
end
it
"
returns
nil
if time has passed
"
do
it
'
returns
empty list
if time has passed
'
do
create
(
:broadcast_message
,
:expired
)
expect
(
BroadcastMessage
.
current
).
to
be_
nil
expect
(
BroadcastMessage
.
current
).
to
be_
empty
end
end
...
...
spec/requests/api/internal_spec.rb
Просмотр файла @
2bb763c5
...
...
@@ -23,7 +23,7 @@
get
api
(
"/internal/broadcast_message"
),
secret_token:
secret_token
expect
(
response
).
to
have_http_status
(
200
)
expect
(
json_response
[
"
message
"
]).
to
eq
(
broadcast_message
.
message
)
expect
(
json_response
[
0
][
'
message
'
]).
to
eq
(
broadcast_message
.
message
)
end
end
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать