Sha256: 93b0a52f571e699ca1c1baa35767af87e5c7edb48bc11c103af74b48b67e56ab

Contents?: true

Size: 1.31 KB

Versions: 55

Compression:

Stored size: 1.31 KB

Contents

class FestivityEventPage < FestivityBasePage
  has_many :festivity_performances, foreign_key: :event_page_id
  has_many :festivity_page_categories, foreign_key: :page_id
  has_many :festivity_categories, through: :festivity_page_categories

  def festivity_performances=(performances)
    performances.each do |performance|
      performance_id = performance.delete(:performance_id)
      FestivityPerformance.find(performance_id).update_attributes(performance)
    end
  end

  def performances
    self.festivity_performances.select {|perf| perf.festivity_location_page && perf.start_date && perf.end_date }
  end

  def single_location?
    @single_location ||= self.locations.count == 1
  end

  def locations
    @locations ||= event_locations
  end

  def can_buy?
    !self.buy_url.empty?
  end

  def has_social?
    (has_twitter? or has_facebook? or has_homepage? or has_instagram?)
  end

  def has_twitter?
    !self.artist_twitter.empty?
  end

  def has_facebook?
    !self.artist_facebook.empty?
  end

  def has_instagram?
    !self.artist_instagram.empty?
  end

  def has_homepage?
    !self.artist_homepage.empty?
  end

  def event_locations
    # Return array of unique locations
    self.performances.
        map{ |performance| performance.festivity_location_page }.
        uniq{ |location| location.id }
  end


end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.4.6 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.5 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.4 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.3 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.2 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.1 app/models/festivity_event_page.rb
trusty-festivity-extension-2.4.0 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.30 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.29 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.28 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.27 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.26 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.25 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.24 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.23 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.22 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.21 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.20 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.19 app/models/festivity_event_page.rb
trusty-festivity-extension-2.3.18 app/models/festivity_event_page.rb