Sha256: 3ff47d7841d46c281dc85ac6aae208bbd9a11f6ff6c597740344a2b84afda8a9

Contents?: true

Size: 1010 Bytes

Versions: 5

Compression:

Stored size: 1010 Bytes

Contents

class Chouette::StopPoint < Chouette::TridentActiveRecord
  # FIXME http://jira.codehaus.org/browse/JRUBY-6358
  set_primary_key :id

  belongs_to :stop_area
  belongs_to :route
  acts_as_list :scope => 'route_id = \'#{route.id}\'',:top_of_list => 0

  attr_accessible :route_id, :stop_area_id, :objectid, :object_version, :creation_time, :creator_id, :position

  has_many :vehicle_journey_at_stops, :dependent => :destroy
  has_many :vehicle_journeys, :through => :vehicle_journey_at_stops, :uniq => true
  
  before_destroy :remove_dependent_journey_pattern_stop_points
  
  validates_presence_of :stop_area
  validates_presence_of :route
  
  scope :default_order, order("position")

  def self.area_candidates
    Chouette::StopArea.where( :area_type => ['Quay', 'BoardingPosition'])
  end

  def remove_dependent_journey_pattern_stop_points
    route.journey_patterns.each do |jp|
      if jp.stop_point_ids.include?( id)
        jp.stop_point_ids = jp.stop_point_ids - [id]
      end
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ninoxe-0.1.2 app/models/chouette/stop_point.rb
ninoxe-0.1.1 app/models/chouette/stop_point.rb
ninoxe-0.1.0 app/models/chouette/stop_point.rb
ninoxe-0.0.9 app/models/chouette/stop_point.rb
ninoxe-0.0.8 app/models/chouette/stop_point.rb