Sha256: bcac28739abc8b79dcf54f41ff4a3d89ade9e605ea865a08c93ab712ccfc9457
Contents?: true
Size: 1.8 KB
Versions: 14
Compression:
Stored size: 1.8 KB
Contents
# frozen_string_literal: true class Tramway::Event::Events::Show::EventDecorator < ::Tramway::Core::ApplicationDecorator class << self def collections [:all] end end delegate :title, to: :object delegate :description, to: :object delegate :participant_form_fields, to: :object delegate :sections, to: :object delegate :partakings, to: :object delegate :request_collecting_state, to: :object if defined?(::Tramway::Partner) ::Tramway::Partner::Partnership.partnership_type.values.each do |partnership_type| decorate_association partnership_type.to_s.pluralize end end def background object.photo end def duration return unless object.begin_date.present? || object.end_date.present? if object.begin_date.to_date == object.end_date.to_date I18n.l(object.begin_date, format: '%d %B %Y').to_s elsif object.begin_date.month == object.end_date.month "#{I18n.t('date.from')} #{I18n.l(object.begin_date, format: '%d')} #{I18n.t('date.to')} #{I18n.l(object.end_date, format: '%d %B %Y')}" else "#{I18n.t('date.from')} #{I18n.l(object.begin_date, format: '%d %B %Y')} #{I18n.t('date.to')} #{I18n.l(object.end_date, format: '%d %B %Y')}" end end def partners if defined?(::Tramway::Partner) @partners ||= ::Tramway::Partner::Partnership.partnership_type.values.reduce({}) do |hash, partnership_type| hash.merge! partnership_type => (object.send(partnership_type.to_s.pluralize).active.map do |partner| Tramway::Partner::OrganizationFeatureDecorator.decorate partner end) end end end alias tagline duration def responsible_person { phone: (object.creator.phone if object.creator&.phone&.present?), email: (object.creator.email if object.creator&.email&.present?) } end end
Version data entries
14 entries across 14 versions & 1 rubygems