diff options
| author | Alban Peignier | 2017-04-26 15:27:35 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2017-04-26 15:31:02 +0200 | 
| commit | f16da31d109232421d3e0aaba3c62b32f9f0804d (patch) | |
| tree | 27f1f4899a90280c9ad8723f2afa2ce41c00d44d /lib/tasks | |
| parent | 782d7288f75333305635828d19e931ab62decefa (diff) | |
| download | chouette-core-f16da31d109232421d3e0aaba3c62b32f9f0804d.tar.bz2 | |
Fixes referential:create task. Refs #2975
* define default start_date and end_date
* associate VehicleJourneyAtStops to VehicleJourney
* associate VehicleJourney to TimeTables
* add a message to display which Referential is created
* mark created Referential as ready
Diffstat (limited to 'lib/tasks')
| -rw-r--r-- | lib/tasks/referential.rake | 33 | 
1 files changed, 18 insertions, 15 deletions
| diff --git a/lib/tasks/referential.rake b/lib/tasks/referential.rake index caee2042a..9d98a048b 100644 --- a/lib/tasks/referential.rake +++ b/lib/tasks/referential.rake @@ -1,17 +1,22 @@ +# coding: utf-8  # execution example: rake 'referential:create[3, 1896, '01-01-2017', '01-04-2017']'  namespace :referential do    desc 'Create a referential and accompanying data'    task :create, [:workbench_id, :line_id, :start_date, :end_date] => [:environment] do |t, args| +    args.with_defaults(start_date: Date.today.strftime, end_date: (Date.today + 30).strftime) +      workbench = Workbench.find_by!(id: args[:workbench_id])      line = workbench.line_referential.lines.find_by!(id: args[:line_id])      name = "Referential #{Faker::Name.unique.name}" +      referential = workbench.referentials.create!(name: name, slug: name.downcase.parameterize.underscore, organisation: workbench.organisation,       prefix: Faker::Lorem.unique.characters(10))      ReferentialMetadata.create!(referential: referential, line_ids: [args[:line_id]], periodes: [Date.parse(args[:start_date])..Date.parse(args[:end_date])])      referential.switch -    routes = [] +    puts "✓ Created Referential '#{name}' (#{referential.id})" +      stop_areas = workbench.stop_area_referential.stop_areas.last(10)      4.times do |i| @@ -28,29 +33,27 @@ namespace :referential do        end        route.save! -      journey_pattern = Chouette::JourneyPattern.create!(route: route, name: "Journey pattern #{Faker::Name.unique.name}") +      journey_pattern = Chouette::JourneyPattern.create!(route: route, name: "Journey Pattern #{Faker::Name.unique.name}")        journey_pattern.stop_points = stop_areas.inject([]) { |stop_points, stop_area| stop_points += stop_area.stop_points } +      time_tables = [] +      2.times do |j| +        name = "Test #{Faker::Name.unique.name}" +        time_table = Chouette::TimeTable.create!(comment: name, start_date: Date.parse(args[:start_date]) + j.days, +                                                 end_date: Date.parse(args[:end_date]) - j.days) +        time_tables << time_table +      end +        25.times do |j| -        vehicle_journey = Chouette::VehicleJourney.create!(journey_pattern: journey_pattern, route: route, number: Faker::Number.unique.number(4)) +        vehicle_journey = Chouette::VehicleJourney.create!(journey_pattern: journey_pattern, route: route, number: Faker::Number.unique.number(4), time_tables: time_tables)          time = Time.current.at_noon + j.minutes          journey_pattern.stop_points.each_with_index do |stop_point, k| -          vjas = Chouette::VehicleJourneyAtStop.create!(stop_point: stop_point, arrival_time: time + k.minutes, departure_time: time + k.minutes + 30.seconds) +          vehicle_journey.vehicle_journey_at_stops.create!(stop_point: stop_point, arrival_time: time + k.minutes, departure_time: time + k.minutes + 30.seconds)          end        end -      2.times do |j| -        name = "Calendar #{Faker::Name.unique.name}" -        calendar = Calendar.create!(name: name, short_name: name.parameterize, organisation: workbench.organisation, -          date_ranges: [(Date.parse(args[:start_date]) + j.days)..(Date.parse(args[:end_date]) - j.days)]) -        Chouette::TimeTable.create!(comment: Faker::Lorem.sentence(3), calendar: calendar, start_date: Date.parse(args[:start_date]) + j.days, -          end_date: Date.parse(args[:end_date]) - j.days) -      end      end +    referential.update(ready: true)    end  end - - - - | 
