diff options
| author | Zog | 2018-03-07 07:50:02 +0100 | 
|---|---|---|
| committer | Zog | 2018-03-12 12:00:13 +0100 | 
| commit | b810deb08cadd56caeb76eb81cff363458bb79a3 (patch) | |
| tree | 6fd0c1bc383a9fa501666f6d86cee2ec06c573cd /app/models/import/gtfs.rb | |
| parent | 7b53b4c86d0469c21b54f4f974fbae5fc205ed0f (diff) | |
| download | chouette-core-b810deb08cadd56caeb76eb81cff363458bb79a3.tar.bz2 | |
Refs #6133; Fix specs
Diffstat (limited to 'app/models/import/gtfs.rb')
| -rw-r--r-- | app/models/import/gtfs.rb | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/app/models/import/gtfs.rb b/app/models/import/gtfs.rb new file mode 100644 index 000000000..03cf49e60 --- /dev/null +++ b/app/models/import/gtfs.rb @@ -0,0 +1,36 @@ +require 'net/http' +class Import::Gtfs < Import::Base +  before_destroy :destroy_non_ready_referential + +  after_commit :launch_java_import, on: :create +  before_save def abort_unless_referential +    self.status = 'aborted' unless referential +  end + +  def launch_java_import +    return if self.class.finished_statuses.include?(status) +    threaded_call_boiv_iev +  end + +  private + +  def destroy_non_ready_referential +    if referential && !referential.ready +      referential.destroy +    end +  end + +  def threaded_call_boiv_iev +    Thread.new(&method(:call_boiv_iev)) +  end + +  def call_boiv_iev +    Rails.logger.error("Begin IEV call for import") +    Net::HTTP.get(URI("#{Rails.configuration.iev_url}/boiv_iev/referentials/importer/new?id=#{id}")) +    Rails.logger.error("End IEV call for import") +  rescue Exception => e +    logger.error "IEV server error : #{e.message}" +    logger.error e.backtrace.inspect +  end + +end | 
