diff options
| author | Zakaria BOUZIANE | 2014-07-07 16:48:45 +0200 |
|---|---|---|
| committer | Zakaria BOUZIANE | 2014-07-07 16:48:45 +0200 |
| commit | c5228e916b7b468a56c3c8a7441ac6973b875fff (patch) | |
| tree | aa81d1ec7b655046e2d9b8d0f7d6f7a85c53aa74 /app/models/hub_export.rb | |
| parent | f6f936ed2c33035904a6c5c002ff21dd27df3f38 (diff) | |
| download | chouette-core-c5228e916b7b468a56c3c8a7441ac6973b875fff.tar.bz2 | |
Hub export
Diffstat (limited to 'app/models/hub_export.rb')
| -rw-r--r-- | app/models/hub_export.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/app/models/hub_export.rb b/app/models/hub_export.rb new file mode 100644 index 000000000..3d93cbfae --- /dev/null +++ b/app/models/hub_export.rb @@ -0,0 +1,35 @@ +class HubExport < Export + + option :start_date + option :end_date + + after_initialize :init_period + + def init_period + unless Chouette::TimeTable.start_validity_period.nil? + if start_date.nil? + self.start_date = Chouette::TimeTable.start_validity_period + end + if end_date.nil? + self.end_date = Chouette::TimeTable.end_validity_period + end + end + end + + def export_options + if (start_date.empty? && end_date.empty?) + super.merge(:format => :hub).except(:start_date).except(:end_date) + elsif start_date.empty? + super.merge(:format => :hub, :end_date => end_date).except(:start_date) + elsif end_date.empty? + super.merge(:format => :hub, :start_date => start_date).except(:end_date) + else + super.merge(:format => :hub, :start_date => start_date, :end_date => end_date) + end + end + + def exporter + exporter ||= ::Chouette::Hub::Exporter.new(referential, self) + end + +end |
