ninoxe 1.1.5 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +9 -12
- data/app/models/chouette/access_link.rb +52 -51
- data/app/models/chouette/access_point.rb +7 -7
- data/app/models/chouette/active_record.rb +28 -28
- data/app/models/chouette/company.rb +3 -3
- data/app/models/chouette/connection_link.rb +3 -3
- data/app/models/chouette/footnote.rb +1 -1
- data/app/models/chouette/group_of_line.rb +2 -2
- data/app/models/chouette/journey_pattern.rb +7 -3
- data/app/models/chouette/line.rb +11 -9
- data/app/models/chouette/network.rb +2 -2
- data/app/models/chouette/pt_link.rb +1 -1
- data/app/models/chouette/route.rb +9 -10
- data/app/models/chouette/stop_area.rb +8 -8
- data/app/models/chouette/stop_point.rb +3 -3
- data/app/models/chouette/time_table.rb +25 -122
- data/app/models/chouette/time_table_date.rb +1 -1
- data/app/models/chouette/time_table_period.rb +1 -1
- data/app/models/chouette/vehicle_journey.rb +82 -77
- data/app/models/chouette/vehicle_journey_at_stop.rb +1 -1
- data/config/database.yml +16 -8
- data/config/database.yml.travis +15 -6
- data/db/migrate/20150526075108_add_foreign_key_to_routes.rb +28 -0
- data/lib/ninoxe/engine.rb +4 -0
- data/lib/ninoxe/version.rb +1 -1
- data/lib/ninoxe.rb +3 -0
- data/spec/dummy/README.rdoc +15 -248
- data/spec/dummy/Rakefile +1 -1
- data/spec/dummy/app/{mailers/.gitkeep → assets/images/.keep} +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +3 -5
- data/spec/dummy/app/assets/stylesheets/application.css +1 -1
- data/spec/dummy/app/controllers/application_controller.rb +3 -1
- data/spec/dummy/app/{models/.gitkeep → controllers/concerns/.keep} +0 -0
- data/spec/dummy/{lib/assets/.gitkeep → app/mailers/.keep} +0 -0
- data/spec/dummy/{log/.gitkeep → app/models/.keep} +0 -0
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/views/layouts/application.html.erb +2 -2
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/config/application.rb +8 -36
- data/spec/dummy/config/boot.rb +4 -9
- data/spec/dummy/config/database.yml +16 -8
- data/spec/dummy/config/environment.rb +2 -4
- data/spec/dummy/config/environments/development.rb +11 -19
- data/spec/dummy/config/environments/production.rb +41 -28
- data/spec/dummy/config/environments/test.rb +13 -14
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +6 -5
- data/spec/dummy/config/initializers/secret_token.rb +7 -2
- data/spec/dummy/config/initializers/session_store.rb +1 -6
- data/spec/dummy/config/initializers/wrap_parameters.rb +6 -6
- data/spec/dummy/config/locales/en.yml +20 -2
- data/spec/dummy/config/locales/fr.yml +23 -0
- data/spec/dummy/config.ru +1 -1
- data/spec/dummy/db/schema.rb +147 -143
- data/spec/dummy/lib/assets/.keep +0 -0
- data/spec/dummy/log/.keep +0 -0
- data/spec/dummy/public/404.html +43 -11
- data/spec/dummy/public/422.html +43 -11
- data/spec/dummy/public/500.html +43 -11
- data/spec/dummy/script/rails +1 -1
- data/spec/factories/chouette_access_links.rb +13 -0
- data/spec/factories/chouette_access_points.rb +12 -0
- data/spec/factories/chouette_companies.rb +9 -0
- data/spec/factories/chouette_connection_links.rb +13 -0
- data/spec/factories/chouette_footnotes.rb +10 -0
- data/spec/factories/chouette_group_of_lines.rb +9 -0
- data/spec/factories/chouette_journey_pattern.rb +40 -0
- data/spec/factories/chouette_lines.rb +44 -0
- data/spec/factories/chouette_networks.rb +9 -0
- data/spec/factories/chouette_routes.rb +26 -0
- data/spec/factories/chouette_stop_areas.rb +12 -0
- data/spec/factories/chouette_stop_points.rb +10 -0
- data/spec/factories/chouette_time_table.rb +37 -0
- data/spec/factories/chouette_vehicle_journey.rb +66 -0
- data/spec/factories/chouette_vehicle_journey_at_stop.rb +8 -0
- data/spec/models/chouette/access_link_spec.rb +17 -13
- data/spec/models/chouette/access_point_spec.rb +106 -103
- data/spec/models/chouette/active_record_spec.rb +57 -57
- data/spec/models/chouette/area_type_spec.rb +8 -8
- data/spec/models/chouette/company_spec.rb +18 -18
- data/spec/models/chouette/connection_link_spec.rb +19 -15
- data/spec/models/chouette/direction_spec.rb +8 -8
- data/spec/models/chouette/exporter_spec.rb +4 -4
- data/spec/models/chouette/file_validator_spec.rb +4 -4
- data/spec/models/chouette/footnote_spec.rb +1 -1
- data/spec/models/chouette/group_of_line_spec.rb +11 -11
- data/spec/models/chouette/journey_pattern_spec.rb +16 -14
- data/spec/models/chouette/line_spec.rb +36 -32
- data/spec/models/chouette/loader_spec.rb +9 -9
- data/spec/models/chouette/network_spec.rb +9 -9
- data/spec/models/chouette/object_id_spec.rb +31 -28
- data/spec/models/chouette/route_spec.rb +51 -47
- data/spec/models/chouette/stop_area_spec.rb +191 -188
- data/spec/models/chouette/stop_point_spec.rb +13 -10
- data/spec/models/chouette/time_table_period_spec.rb +18 -18
- data/spec/models/chouette/time_table_spec.rb +303 -255
- data/spec/models/chouette/transport_mode_spec.rb +10 -10
- data/spec/models/chouette/trident_active_record_spec.rb +17 -17
- data/spec/models/chouette/vehicle_journey_at_stop_spec.rb +13 -12
- data/spec/models/chouette/vehicle_journey_spec.rb +46 -46
- data/spec/presenters/chouette/geometry/line_presenter_spec.rb +2 -2
- data/spec/spec_helper.rb +22 -9
- metadata +102 -87
- data/config/database.yml.ci +0 -14
- data/lib/factories/chouette_access_links.rb +0 -11
- data/lib/factories/chouette_access_points.rb +0 -8
- data/lib/factories/chouette_companies.rb +0 -5
- data/lib/factories/chouette_connection_links.rb +0 -11
- data/lib/factories/chouette_footnotes.rb +0 -6
- data/lib/factories/chouette_group_of_lines.rb +0 -5
- data/lib/factories/chouette_journey_pattern.rb +0 -32
- data/lib/factories/chouette_lines.rb +0 -31
- data/lib/factories/chouette_networks.rb +0 -5
- data/lib/factories/chouette_routes.rb +0 -20
- data/lib/factories/chouette_stop_areas.rb +0 -8
- data/lib/factories/chouette_stop_points.rb +0 -7
- data/lib/factories/chouette_time_table.rb +0 -23
- data/lib/factories/chouette_vehicle_journey.rb +0 -51
- data/lib/factories/chouette_vehicle_journey_at_stop.rb +0 -5
- data/spec/dummy/config/initializers/active_record.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00251189c84f005b277cc0237fea8d2d68674e4a
|
4
|
+
data.tar.gz: 45199b49e8b0e9483cf35d14981542783e4bf7b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65d6c2a966940aa23f9e1bddc7ddf29c5efa43ec27cacba74759d64c5a74e0fda9e33238bc6e58337d78a126941f331ebe7069c035dd799541e62de04b7b29d4
|
7
|
+
data.tar.gz: 6abccc002329cc535fe7df7586ea75baf09e80a14af49b2f9ee0f26a6e83f5a6d8a0f32aac45ec40d288e6d651cccdabd96ee83ecf0877d210d213fb4ffd0eb6
|
data/Rakefile
CHANGED
@@ -5,19 +5,10 @@ rescue LoadError
|
|
5
5
|
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
6
|
end
|
7
7
|
|
8
|
-
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
9
|
-
load 'rails/tasks/engine.rake'
|
10
|
-
|
11
|
-
Bundler::GemHelper.install_tasks
|
12
|
-
|
13
8
|
namespace :ci do
|
14
|
-
task :
|
15
|
-
cp "config/database.yml.ci", "config/database.yml"
|
16
|
-
end
|
17
|
-
task :travis do
|
9
|
+
task :db_travis_config do
|
18
10
|
cp "config/database.yml.travis", "config/database.yml"
|
19
11
|
end
|
20
|
-
task :build => ["db:migrate", "spec"]
|
21
12
|
end
|
22
13
|
|
23
14
|
begin
|
@@ -36,14 +27,20 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
36
27
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
37
28
|
end
|
38
29
|
|
30
|
+
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
31
|
+
load 'rails/tasks/engine.rake'
|
32
|
+
|
33
|
+
Bundler::GemHelper.install_tasks
|
34
|
+
|
39
35
|
require 'rspec/core'
|
40
36
|
require 'rspec/core/rake_task'
|
41
37
|
|
42
38
|
RSpec::Core::RakeTask.new(:spec)
|
43
39
|
|
44
|
-
task :spec => "app:db:test:prepare"
|
45
|
-
|
46
40
|
RSpec::Core::RakeTask.new(:rcov) do |t|
|
47
41
|
t.rcov = true
|
48
42
|
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,lib\/database_cleaner\/}
|
49
43
|
end
|
44
|
+
|
45
|
+
task :spec => "app:db:test:prepare"
|
46
|
+
|
@@ -1,67 +1,68 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
module Chouette
|
2
|
+
class AccessLink < TridentActiveRecord
|
3
|
+
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
|
4
|
+
self.primary_key = "id"
|
4
5
|
|
5
|
-
|
6
|
+
attr_accessor :access_link_type, :link_orientation_type, :link_key
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
# attr_accessible :id, :access_link_type,:access_point_id, :stop_area_id
|
9
|
+
# attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :comment
|
10
|
+
# attr_accessible :link_distance, :link_type, :default_duration, :frequent_traveller_duration, :occasional_traveller_duration
|
11
|
+
# attr_accessible :mobility_restricted_traveller_duration, :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs
|
12
|
+
# attr_accessible :link_orientation
|
13
|
+
# attr_accessible :link_orientation_type, :stop_area
|
13
14
|
|
14
|
-
|
15
|
-
|
15
|
+
belongs_to :access_point, :class_name => 'Chouette::AccessPoint'
|
16
|
+
belongs_to :stop_area, :class_name => 'Chouette::StopArea'
|
16
17
|
|
17
|
-
|
18
|
-
|
19
|
-
|
18
|
+
validates_presence_of :name
|
19
|
+
validates_presence_of :link_type
|
20
|
+
validates_presence_of :link_orientation
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
def access_link_type
|
23
|
+
link_type && Chouette::ConnectionLinkType.new(link_type.underscore)
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
def access_link_type=(access_link_type)
|
27
|
+
self.link_type = (access_link_type ? access_link_type.camelcase : nil)
|
28
|
+
end
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
@@access_link_types = nil
|
31
|
+
def self.access_link_types
|
32
|
+
@@access_link_types ||= Chouette::ConnectionLinkType.all
|
33
|
+
end
|
33
34
|
|
34
|
-
|
35
|
-
|
36
|
-
|
35
|
+
def link_orientation_type
|
36
|
+
link_orientation && Chouette::LinkOrientationType.new(link_orientation.underscore)
|
37
|
+
end
|
37
38
|
|
38
|
-
|
39
|
-
|
40
|
-
|
39
|
+
def link_orientation_type=(link_orientation_type)
|
40
|
+
self.link_orientation = (link_orientation_type ? link_orientation_type.camelcase : nil)
|
41
|
+
end
|
41
42
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
@@link_orientation_types = nil
|
44
|
+
def self.link_orientation_types
|
45
|
+
@@link_orientation_types ||= Chouette::LinkOrientationType.all
|
46
|
+
end
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
48
|
+
def geometry
|
49
|
+
GeoRuby::SimpleFeatures::LineString.from_points( [ access_point.geometry, stop_area.geometry], 4326) if access_point.geometry and stop_area.geometry
|
50
|
+
end
|
50
51
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
52
|
+
def link_key
|
53
|
+
Chouette::AccessLink.build_link_key(access_point,stop_area,link_orientation_type)
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.build_link_key(access_point,stop_area,link_orientation_type)
|
57
|
+
if link_orientation_type == "access_point_to_stop_area"
|
58
|
+
"A_#{access_point.id}-S_#{stop_area.id}"
|
59
|
+
else
|
60
|
+
"S_#{stop_area.id}-A_#{access_point.id}"
|
61
|
+
end
|
60
62
|
end
|
61
|
-
end
|
62
63
|
|
63
|
-
|
64
|
-
|
64
|
+
def geometry_presenter
|
65
|
+
Chouette::Geometry::AccessLinkPresenter.new self
|
66
|
+
end
|
65
67
|
end
|
66
68
|
end
|
67
|
-
|
@@ -11,13 +11,13 @@ class Chouette::AccessPoint < Chouette::TridentActiveRecord
|
|
11
11
|
attr_accessor :access_point_type
|
12
12
|
attr_writer :coordinates
|
13
13
|
|
14
|
-
attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :comment
|
15
|
-
attr_accessible :longitude, :latitude, :long_lat_type
|
16
|
-
attr_accessible :country_code, :street_name, :zip_code, :city_name
|
17
|
-
attr_accessible :openning_time, :closing_time, :access_type, :access_point_type
|
18
|
-
attr_accessible :mobility_restricted_suitability, :stairs_availability, :lift_availability
|
19
|
-
attr_accessible :stop_area_id
|
20
|
-
attr_accessible :coordinates
|
14
|
+
# attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :comment
|
15
|
+
# attr_accessible :longitude, :latitude, :long_lat_type
|
16
|
+
# attr_accessible :country_code, :street_name, :zip_code, :city_name
|
17
|
+
# attr_accessible :openning_time, :closing_time, :access_type, :access_point_type
|
18
|
+
# attr_accessible :mobility_restricted_suitability, :stairs_availability, :lift_availability
|
19
|
+
# attr_accessible :stop_area_id
|
20
|
+
# attr_accessible :coordinates
|
21
21
|
|
22
22
|
validates_presence_of :name
|
23
23
|
validates_presence_of :access_type
|
@@ -21,46 +21,46 @@ module Chouette
|
|
21
21
|
self.class.human_attribute_name(*args)
|
22
22
|
end
|
23
23
|
|
24
|
-
class << self
|
25
|
-
|
24
|
+
# class << self
|
25
|
+
# alias_method :create_reflection_without_chouette_naming, :create_reflection
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
# def create_reflection(macro, name, options, active_record)
|
28
|
+
# options =
|
29
|
+
# Reflection.new(macro, name, options, active_record).options_with_default
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
end
|
31
|
+
# create_reflection_without_chouette_naming(macro, name, options, active_record)
|
32
|
+
# end
|
33
|
+
# end
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
class Reflection
|
37
|
+
# class Reflection
|
38
38
|
|
39
|
-
|
39
|
+
# attr_reader :macro, :name, :options, :active_record
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
41
|
+
# def initialize(macro, name, options, active_record)
|
42
|
+
# @macro, @name, @options, @active_record = macro, name.to_s, options, active_record
|
43
|
+
# end
|
44
44
|
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
# def collection?
|
46
|
+
# macro == :has_many
|
47
|
+
# end
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
# def singular_name
|
50
|
+
# collection? ? name.singularize : name
|
51
|
+
# end
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
53
|
+
# def class_name
|
54
|
+
# "Chouette::#{singular_name.camelize}"
|
55
|
+
# end
|
56
56
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
57
|
+
# def options_with_default
|
58
|
+
# options.dup.tap do |options|
|
59
|
+
# options[:class_name] ||= class_name
|
60
|
+
# end
|
61
|
+
# end
|
62
62
|
|
63
|
-
end
|
63
|
+
# end
|
64
64
|
|
65
65
|
end
|
66
66
|
end
|
@@ -7,9 +7,9 @@ class Chouette::Company < Chouette::TridentActiveRecord
|
|
7
7
|
|
8
8
|
validates_presence_of :name
|
9
9
|
|
10
|
-
attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :short_name
|
11
|
-
attr_accessible :organizational_unit, :operating_department_name, :code, :phone, :fax, :email, :registration_number
|
12
|
-
attr_accessible :url, :time_zone
|
10
|
+
# attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :short_name
|
11
|
+
# attr_accessible :organizational_unit, :operating_department_name, :code, :phone, :fax, :email, :registration_number
|
12
|
+
# attr_accessible :url, :time_zone
|
13
13
|
|
14
14
|
validates_format_of :url, :with => %r{\Ahttps?:\/\/([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\Z}, :allow_nil => true, :allow_blank => true
|
15
15
|
|
@@ -4,9 +4,9 @@ class Chouette::ConnectionLink < Chouette::TridentActiveRecord
|
|
4
4
|
|
5
5
|
attr_accessor :connection_link_type
|
6
6
|
|
7
|
-
attr_accessible :connection_link_type,:departure_id, :arrival_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment
|
8
|
-
attr_accessible :link_distance, :link_type, :default_duration, :frequent_traveller_duration, :occasional_traveller_duration
|
9
|
-
attr_accessible :mobility_restricted_traveller_duration, :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs
|
7
|
+
# attr_accessible :connection_link_type,:departure_id, :arrival_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment
|
8
|
+
# attr_accessible :link_distance, :link_type, :default_duration, :frequent_traveller_duration, :occasional_traveller_duration
|
9
|
+
# attr_accessible :mobility_restricted_traveller_duration, :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs
|
10
10
|
|
11
11
|
belongs_to :departure, :class_name => 'Chouette::StopArea'
|
12
12
|
belongs_to :arrival, :class_name => 'Chouette::StopArea'
|
@@ -6,8 +6,8 @@ class Chouette::GroupOfLine < Chouette::TridentActiveRecord
|
|
6
6
|
|
7
7
|
validates_presence_of :name
|
8
8
|
|
9
|
-
attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :lines, :registration_number
|
10
|
-
attr_accessible :line_tokens
|
9
|
+
# attr_accessible :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :lines, :registration_number
|
10
|
+
# attr_accessible :line_tokens
|
11
11
|
attr_reader :line_tokens
|
12
12
|
|
13
13
|
def self.nullable_attributes
|
@@ -5,9 +5,9 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
|
|
5
5
|
belongs_to :route
|
6
6
|
has_many :vehicle_journeys, :dependent => :destroy
|
7
7
|
has_many :vehicle_journey_at_stops, :through => :vehicle_journeys
|
8
|
-
has_and_belongs_to_many :stop_points,
|
8
|
+
has_and_belongs_to_many :stop_points, -> { order("stop_points.position") }, :before_add => :vjas_add, :before_remove => :vjas_remove, :after_add => :shortcuts_update_for_add, :after_remove => :shortcuts_update_for_remove
|
9
9
|
|
10
|
-
attr_accessible :route_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :registration_number, :published_name, :departure_stop_point_id, :arrival_stop_point_id, :stop_point_ids, :stop_points
|
10
|
+
#attr_accessible :route_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :registration_number, :published_name, :departure_stop_point_id, :arrival_stop_point_id, :stop_point_ids, :stop_points
|
11
11
|
|
12
12
|
validates_presence_of :route
|
13
13
|
|
@@ -24,6 +24,7 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
|
|
24
24
|
return unless departure_stop_point_id
|
25
25
|
Chouette::StopPoint.find( departure_stop_point_id)
|
26
26
|
end
|
27
|
+
|
27
28
|
def arrival_stop_point
|
28
29
|
return unless arrival_stop_point_id
|
29
30
|
Chouette::StopPoint.find( arrival_stop_point_id)
|
@@ -38,6 +39,7 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
|
|
38
39
|
self.update_attributes( :departure_stop_point_id => (ordered_stop_points.first && ordered_stop_points.first.id),
|
39
40
|
:arrival_stop_point_id => (ordered_stop_points.last && ordered_stop_points.last.id))
|
40
41
|
end
|
42
|
+
|
41
43
|
def shortcuts_update_for_remove( stop_point)
|
42
44
|
stop_points.delete( stop_point) if stop_points.include?( stop_point)
|
43
45
|
|
@@ -47,6 +49,7 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
|
|
47
49
|
self.update_attributes( :departure_stop_point_id => (ordered_stop_points.first && ordered_stop_points.first.id),
|
48
50
|
:arrival_stop_point_id => (ordered_stop_points.last && ordered_stop_points.last.id))
|
49
51
|
end
|
52
|
+
|
50
53
|
def vjas_add( stop_point)
|
51
54
|
return if new_record?
|
52
55
|
|
@@ -54,9 +57,10 @@ class Chouette::JourneyPattern < Chouette::TridentActiveRecord
|
|
54
57
|
vjas = vj.vehicle_journey_at_stops.create :stop_point_id => stop_point.id
|
55
58
|
end
|
56
59
|
end
|
60
|
+
|
57
61
|
def vjas_remove( stop_point)
|
58
62
|
return if new_record?
|
59
|
-
|
63
|
+
|
60
64
|
vehicle_journey_at_stops.where( :stop_point_id => stop_point.id).each do |vjas|
|
61
65
|
vjas.destroy
|
62
66
|
end
|
data/app/models/chouette/line.rb
CHANGED
@@ -2,11 +2,12 @@ class Chouette::Line < Chouette::TridentActiveRecord
|
|
2
2
|
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
|
3
3
|
self.primary_key = "id"
|
4
4
|
|
5
|
-
|
6
|
-
attr_accessible :
|
7
|
-
attr_accessible :
|
8
|
-
attr_accessible :
|
9
|
-
attr_accessible :
|
5
|
+
# attr_accessible :transport_mode, :network_id, :company_id, :objectid, :object_version
|
6
|
+
# attr_accessible :creation_time, :creator_id, :name, :number, :published_name, :transport_mode_name
|
7
|
+
# attr_accessible :registration_number, :comment, :mobility_restricted_suitability, :int_user_needs
|
8
|
+
# attr_accessible :flexible_service
|
9
|
+
# attr_accessible :group_of_lines, :group_of_line_ids, :group_of_line_tokens
|
10
|
+
# attr_accessible :url, :color, :text_color
|
10
11
|
|
11
12
|
belongs_to :company
|
12
13
|
belongs_to :network
|
@@ -16,13 +17,14 @@ class Chouette::Line < Chouette::TridentActiveRecord
|
|
16
17
|
|
17
18
|
has_and_belongs_to_many :group_of_lines, :class_name => 'Chouette::GroupOfLine', :order => 'group_of_lines.name'
|
18
19
|
|
19
|
-
has_many :footnotes, :dependent => :destroy
|
20
|
+
has_many :footnotes, :inverse_of => :line, :validate => :true, :dependent => :destroy
|
20
21
|
accepts_nested_attributes_for :footnotes, :reject_if => :all_blank, :allow_destroy => true
|
21
|
-
attr_accessible :footnotes_attributes
|
22
|
+
#attr_accessible :footnotes_attributes
|
22
23
|
|
23
|
-
attr_accessible :group_of_lines, :group_of_line_ids, :group_of_line_tokens
|
24
|
-
attr_accessible :url, :color, :text_color
|
24
|
+
#attr_accessible :group_of_lines, :group_of_line_ids, :group_of_line_tokens
|
25
|
+
#attr_accessible :url, :color, :text_color
|
25
26
|
attr_reader :group_of_line_tokens
|
27
|
+
attr_accessor :transport_mode
|
26
28
|
|
27
29
|
validates_presence_of :network
|
28
30
|
validates_presence_of :company
|
@@ -10,8 +10,8 @@ class Chouette::Network < Chouette::TridentActiveRecord
|
|
10
10
|
|
11
11
|
validates_presence_of :name
|
12
12
|
|
13
|
-
attr_accessible :objectid, :object_version, :creation_time, :creator_id, :version_date, :description, :name
|
14
|
-
attr_accessible :registration_number, :source_name, :source_type, :source_identifier, :comment
|
13
|
+
# attr_accessible :objectid, :object_version, :creation_time, :creator_id, :version_date, :description, :name
|
14
|
+
# attr_accessible :registration_number, :source_name, :source_type, :source_identifier, :comment
|
15
15
|
|
16
16
|
def self.object_id_key
|
17
17
|
"GroupOfLine"
|
@@ -4,7 +4,7 @@ class Chouette::PtLink < Chouette::ActiveRecord
|
|
4
4
|
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
|
5
5
|
self.primary_key = "id"
|
6
6
|
|
7
|
-
attr_accessible :start_of_link_id, :end_of_link_id, :route_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :link_distance
|
7
|
+
# attr_accessible :start_of_link_id, :end_of_link_id, :route_id, :objectid, :object_version, :creation_time, :creator_id, :name, :comment, :link_distance
|
8
8
|
include Geokit::Mappable
|
9
9
|
|
10
10
|
|
@@ -5,11 +5,11 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
5
5
|
attr_accessor :wayback_code
|
6
6
|
attr_accessor :direction_code
|
7
7
|
|
8
|
-
attr_accessible :direction_code, :wayback_code, :line_id, :objectid, :object_version, :creation_time, :creator_id, :name
|
9
|
-
attr_accessible :comment, :opposite_route_id, :published_name, :number, :direction, :wayback, :stop_points_attributes
|
8
|
+
# attr_accessible :direction_code, :wayback_code, :line_id, :objectid, :object_version, :creation_time, :creator_id, :name
|
9
|
+
# attr_accessible :comment, :opposite_route_id, :published_name, :number, :direction, :wayback, :stop_points_attributes
|
10
10
|
|
11
11
|
def self.nullable_attributes
|
12
|
-
[:published_name, :comment, :number]
|
12
|
+
[:published_name, :comment, :number, :name]
|
13
13
|
end
|
14
14
|
|
15
15
|
belongs_to :line
|
@@ -21,7 +21,7 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
belongs_to :opposite_route, :class_name => 'Chouette::Route', :foreign_key => :opposite_route_id
|
24
|
-
has_many :stop_points,
|
24
|
+
has_many :stop_points, -> { order('position ASC') }, :dependent => :destroy do
|
25
25
|
def find_by_stop_area(stop_area)
|
26
26
|
stop_area_ids = Integer === stop_area ? [stop_area] : (stop_area.children_in_depth + [stop_area]).map(&:id)
|
27
27
|
where( :stop_area_id => stop_area_ids).first or
|
@@ -44,7 +44,7 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
44
44
|
where(" position between ? and ? ", between_positions.first, between_positions.last)
|
45
45
|
end
|
46
46
|
end
|
47
|
-
has_many :stop_areas,
|
47
|
+
has_many :stop_areas, -> { order('stop_points.position ASC') }, :through => :stop_points do
|
48
48
|
def between(departure, arrival)
|
49
49
|
departure, arrival = [departure, arrival].collect do |endpoint|
|
50
50
|
String === endpoint ? Chouette::StopArea.find_by_objectid(endpoint) : endpoint
|
@@ -54,10 +54,10 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
54
54
|
end
|
55
55
|
accepts_nested_attributes_for :stop_points, :allow_destroy => :true
|
56
56
|
|
57
|
-
validates_presence_of :name
|
57
|
+
# validates_presence_of :name
|
58
58
|
validates_presence_of :line
|
59
|
-
validates_presence_of :direction_code
|
60
|
-
validates_presence_of :wayback_code
|
59
|
+
# validates_presence_of :direction_code
|
60
|
+
# validates_presence_of :wayback_code
|
61
61
|
|
62
62
|
before_destroy :dereference_opposite_route
|
63
63
|
|
@@ -83,7 +83,7 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
83
83
|
end
|
84
84
|
|
85
85
|
def sorted_vehicle_journeys
|
86
|
-
vehicle_journeys.
|
86
|
+
vehicle_journeys.joins(:journey_pattern, :vehicle_journey_at_stops).where("vehicle_journey_at_stops.stop_point_id=journey_patterns.departure_stop_point_id").order( "vehicle_journey_at_stops.departure_time")
|
87
87
|
end
|
88
88
|
|
89
89
|
def self.direction_binding
|
@@ -160,4 +160,3 @@ class Chouette::Route < Chouette::TridentActiveRecord
|
|
160
160
|
return true
|
161
161
|
end
|
162
162
|
end
|
163
|
-
|
@@ -17,13 +17,13 @@ class Chouette::StopArea < Chouette::TridentActiveRecord
|
|
17
17
|
attr_accessor :children_ids
|
18
18
|
attr_writer :coordinates
|
19
19
|
|
20
|
-
attr_accessible :routing_stop_ids, :routing_line_ids, :children_ids, :stop_area_type, :parent_id, :objectid
|
21
|
-
attr_accessible :object_version, :creation_time, :creator_id, :name, :comment, :area_type, :registration_number
|
22
|
-
attr_accessible :nearest_topic_name, :fare_code, :longitude, :latitude, :long_lat_type
|
23
|
-
attr_accessible :country_code, :street_name, :zip_code, :city_name
|
24
|
-
attr_accessible :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs
|
25
|
-
attr_accessible :coordinates
|
26
|
-
attr_accessible :url, :time_zone
|
20
|
+
# attr_accessible :routing_stop_ids, :routing_line_ids, :children_ids, :stop_area_type, :parent_id, :objectid
|
21
|
+
# attr_accessible :object_version, :creation_time, :creator_id, :name, :comment, :area_type, :registration_number
|
22
|
+
# attr_accessible :nearest_topic_name, :fare_code, :longitude, :latitude, :long_lat_type
|
23
|
+
# attr_accessible :country_code, :street_name, :zip_code, :city_name
|
24
|
+
# attr_accessible :mobility_restricted_suitability, :stairs_availability, :lift_availability, :int_user_needs
|
25
|
+
# attr_accessible :coordinates
|
26
|
+
# attr_accessible :url, :time_zone
|
27
27
|
|
28
28
|
validates_uniqueness_of :registration_number, :allow_nil => true, :allow_blank => true
|
29
29
|
validates_format_of :registration_number, :with => %r{\A[\d\w_\-]+\Z}, :allow_blank => true
|
@@ -246,7 +246,7 @@ class Chouette::StopArea < Chouette::TridentActiveRecord
|
|
246
246
|
|
247
247
|
def self.default_geometry!
|
248
248
|
count = 0
|
249
|
-
|
249
|
+
where(nil).find_each do |stop_area|
|
250
250
|
Chouette::StopArea.unscoped do
|
251
251
|
count += 1 if stop_area.default_geometry!
|
252
252
|
end
|
@@ -9,17 +9,17 @@ module Chouette
|
|
9
9
|
belongs_to :stop_area
|
10
10
|
belongs_to :route, inverse_of: :stop_points
|
11
11
|
has_many :vehicle_journey_at_stops, :dependent => :destroy
|
12
|
-
has_many :vehicle_journeys, :through => :vehicle_journey_at_stops
|
12
|
+
has_many :vehicle_journeys, -> {uniq}, :through => :vehicle_journey_at_stops
|
13
13
|
|
14
14
|
acts_as_list :scope => 'route_id = \'#{route.id}\'',:top_of_list => 0
|
15
15
|
|
16
|
-
attr_accessible :route_id, :stop_area_id, :objectid, :object_version, :creation_time, :creator_id, :position, :for_boarding, :for_alighting
|
16
|
+
#attr_accessible :route_id, :stop_area_id, :objectid, :object_version, :creation_time, :creator_id, :position, :for_boarding, :for_alighting
|
17
17
|
|
18
18
|
validates_presence_of :stop_area
|
19
19
|
validate :stop_area_id_validation
|
20
20
|
|
21
21
|
scope :default_order, order("position")
|
22
|
-
|
22
|
+
|
23
23
|
before_destroy :remove_dependent_journey_pattern_stop_points
|
24
24
|
def remove_dependent_journey_pattern_stop_points
|
25
25
|
route.journey_patterns.each do |jp|
|