Module: Krant
- Defined in:
- lib/krant.rb,
lib/krant/news.rb,
lib/krant/tasks.rb,
lib/krant/engine.rb,
lib/krant/version.rb,
lib/krant/views/news_list.rb,
app/models/krant/news_item.rb,
app/models/krant/last_seen_state.rb,
app/models/krant/broadcast_message.rb,
app/models/krant/translated_broadcast_message.rb,
app/models/krant/broadcast_message_translation.rb,
lib/krant/views/header_with_broadcast_messages.rb
Overview
Global settings
Defined Under Namespace
Modules: Tasks, Views Classes: BroadcastMessage, BroadcastMessageTranslation, Engine, LastSeenState, News, NewsItem, TranslatedBroadcastMessage
Constant Summary collapse
- VERSION =
'1.0.0'.freeze
Class Method Summary collapse
-
.active_admin_load_path ⇒ Object
Unshift to Active Admin load path.
-
.active_admin_news_page(page, news:) ⇒ Object
Apply default settings to news page.
-
.add_active_admin_news_menu_item_to(menu, news:, **options) ⇒ Object
Adds a menu item to open a news page.
Class Method Details
.active_admin_load_path ⇒ Object
Unshift to Active Admin load path.
15 16 17 |
# File 'lib/krant.rb', line 15 def self.active_admin_load_path Dir[Krant::Engine.root.join('admin')].first end |
.active_admin_news_page(page, news:) ⇒ Object
Apply default settings to news page.
49 50 51 52 53 54 55 56 |
# File 'lib/krant.rb', line 49 def self.active_admin_news_page(page, news:) page.(false) page.page_action(:seen, method: [:post]) do news.call.seen_by!(current_active_admin_user) render plain: '' end end |
.add_active_admin_news_menu_item_to(menu, news:, **options) ⇒ Object
Adds a menu item to open a news page. Displays an indicator if there are unseen news items. Supports all parameters supported by ‘ActiveAdmin::Menu#add`. Required options:
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/krant.rb', line 30 def self.(, news:, **) .add(label: -> { I18n.t('krant.admin.news_menu_item.unseen') }, id: 'krant_news_menu_item_unseen', if: -> { news.unseen_items?(for_user: current_active_admin_user) }, html_options: { class: 'krant-news-menu-item krant-news-menu-item-unseen' }, **) .add(label: -> { I18n.t('krant.admin.news_menu_item.no_unseen') }, id: 'krant_news_menu_item_no_unseen', if: -> { !news.unseen_items?(for_user: current_active_admin_user) }, html_options: { class: 'krant-news-menu-item krant-news-menu-item-no-unseen' }, **) end |