fiedl/your_platform

View on GitHub
app/models/concerns/page_events.rb

Summary

Maintainability
A
1 hr
Test Coverage
concern :PageEvents do

  def events
    if show_events?
      events = show_events_for_group.try(:events) || Event.all
      events = events.where(publish_on_global_website: true) if settings.show_only_events_published_on_global_website
      events = events.where(publish_on_local_website: true) if settings.show_only_events_published_on_local_website
      events
    else
      Event.none
    end
  end

  def event_ids
    events.pluck(:id)
  end

  def show_events?
    settings.show_events
  end

  def show_events_for_group_id
    settings.show_events_for_group_id.to_i if settings.show_events_for_group_id
  end

  def show_events_for_group_id=(new_group_id)
    settings.show_events_for_group_id = new_group_id
  end

  def show_events_for_group
    Group.find(show_events_for_group_id) if show_events_for_group_id
  end

  def semester_calendar
    show_events_for_group.try(:semester_calendar)
  end

end