aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/gtfs_export.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/gtfs_export.rb')
-rw-r--r--app/models/gtfs_export.rb58
1 files changed, 35 insertions, 23 deletions
diff --git a/app/models/gtfs_export.rb b/app/models/gtfs_export.rb
index 5f3364ef1..279cc62d7 100644
--- a/app/models/gtfs_export.rb
+++ b/app/models/gtfs_export.rb
@@ -1,28 +1,40 @@
-# class GtfsExport < Export
+class GtfsExport < ExportTask
-# validates_presence_of :time_zone
-# option :time_zone
-# option :object_id_prefix
+ validates_presence_of :time_zone
+ attr_accessor :time_zone, :object_id_prefix
+
+ enumerize :references_type, in: %w( all network line company groupofline stoparea )
-# after_initialize :init_params
+ after_initialize :init_params
-# def references_types
-# [ Chouette::Line, Chouette::Network, Chouette::Company, Chouette::StopArea ]
-# end
+ def init_params
+ if time_zone.nil?
+ self.time_zone = "Paris"
+ end
+ end
-# def init_params
-# if time_zone.nil?
-# self.time_zone = "Paris"
-# end
-# end
-
-# def export_options
-# opts = super.merge(:format => :gtfs, :time_zone => ActiveSupport::TimeZone.find_tzinfo(time_zone).name)
-# if object_id_prefix.present?
-# opts = opts.merge(:object_id_prefix => object_id_prefix)
-# end
-# puts opts.inspect
-# opts
-# end
+ def time_zone=(time_zone)
+ ActiveSupport::TimeZone.find_tzinfo(time_zone).name
+ end
+
+ def action_params
+ {
+ "parameters" => {
+ "gtfs-export" => {
+ "name" => name,
+ "references_type" => references_type,
+ "user_name" => user_name,
+ "organisation_name" => organisation.name,
+ "referential_name" => referential.name,
+ "time_zone" => time_zone,
+ "object_id_prefix" => object_id_prefix
+ }
+ }
+ }
+ end
+
+ def data_format
+ "gtfs"
+ end
-# end
+end