Sha256: 5d43a29e0c9b445fd9cd839077533001a813ba7355dc366378200ffd77dd71a7

Contents?: true

Size: 1.62 KB

Versions: 16

Compression:

Stored size: 1.62 KB

Contents

class RacePage < Page
  include WillPaginate::ViewHelpers

  description %{ Takes race and race instance names in child position or as parameters and populates the necessary race objects. }
  
  attr_accessor :race, :race_instance
  
  def self.sphinx_indexes
    []
  end
  
  def cache?
    true
  end
  
  def find_by_url(url, live = true, clean = false)
    url = clean_url(url) if clean
    my_url = self.url
    return false unless url =~ /^#{Regexp.quote(my_url)}(.*)/
    race_slug, instance_slug, subset, id = $1.split('/')
    if race_slug && @race = Race.find_by_slug(race_slug)
      if instance_slug && @race_instance = @race.instances.find_by_slug(instance_slug)
        if subset && id && %w{club cat p}.include?(subset)
          case subset
          when "club"
            @club = RaceClub.find(id)
            @template = 'race_clubs/show'
          when "cat"
            @category = RaceCategory.find(id)
            @template = 'race_categories/show'
          when 'p'
            @performance = RacePerformance.find(id)
            @template = 'race_performances/show'
          end 
        else
          @template = 'race_instances/show'
        end
      else
        @template = 'races/show'
      end
    end
    self
  end

  def pagination
    p = request.params[:page]
    p = 1 if p.blank? || p == 0
    return {
      :page => request.params[:page] || 1, 
      :per_page => Radiant::Config['race_results.per_page'] || 100
    }
  end
  
  def render
    
  end
    
  def title
    if race_instance
      race_instance.full_name
    elsif race
      race.name
    else
      read_attribute(:title)
    end
  end
  
  
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
radiant-race_results-extension-1.4.6 app/models/race_page.rb
radiant-race_results-extension-1.4.5 app/models/race_page.rb
radiant-race_results-extension-1.4.3 app/models/race_page.rb
radiant-race_results-extension-1.4.0 app/models/race_page.rb
radiant-race_results-extension-1.3.6 app/models/race_page.rb
radiant-race_results-extension-1.3.5 app/models/race_page.rb
radiant-race_results-extension-1.3.4 app/models/race_page.rb
radiant-race_results-extension-1.3.3 app/models/race_page.rb
radiant-race_results-extension-1.3.2 app/models/race_page.rb
radiant-race_results-extension-1.3.1 app/models/race_page.rb
radiant-race_results-extension-1.3.0 app/models/race_page.rb
radiant-race_results-extension-1.2.1 app/models/race_page.rb
radiant-race_results-extension-1.2.0 app/models/race_page.rb
radiant-race_results-extension-1.1.1 app/models/race_page.rb
radiant-race_results-extension-1.1.0 app/models/race_page.rb
radiant-race_results-extension-1.0.1 app/models/race_page.rb