diff options
Diffstat (limited to 'app/models/export_task.rb')
| -rw-r--r-- | app/models/export_task.rb | 119 | 
1 files changed, 0 insertions, 119 deletions
| diff --git a/app/models/export_task.rb b/app/models/export_task.rb deleted file mode 100644 index f02cb914e..000000000 --- a/app/models/export_task.rb +++ /dev/null @@ -1,119 +0,0 @@ -class ExportTask -  extend Enumerize -  extend ActiveModel::Naming -  extend ActiveModel::Translation -  extend ActiveModel::Callbacks -  include ActiveModel::Validations -  include ActiveModel::Conversion - -  attr_accessor :start_date, :end_date - -  define_model_callbacks :initialize, only: :after - -  enumerize :data_format, in: %w( neptune netex gtfs hub kml ) -  attr_accessor :referential_id, :user_id, :user_name, :references_type, :data_format, :name, :projection_type, :reference_ids - -  validates_presence_of :referential_id -  validates_presence_of :user_id -  validates_presence_of :user_name -  validates_presence_of :name -  validates_presence_of :data_format - -  validate :period_validation - -  after_initialize :init_period - -  def initialize( params = {} ) -    run_callbacks :initialize do -      params.each {|k,v| send("#{k}=",v)} -    end -  end - -  def period_validation -    st_date = start_date.is_a?(String) ? Date.parse(start_date) : start_date -    ed_date = end_date.is_a?(String) ? Date.parse(end_date) : end_date - -    unless  Chouette::TimeTable.start_validity_period.nil? || st_date.nil? -      tt_st_date = Chouette::TimeTable.start_validity_period -      errors.add(:start_date, ExportTask.human_attribute_name("start_date_greater_than" , {:tt_st_date => tt_st_date})) unless tt_st_date <= st_date -    end -    unless st_date.nil? || ed_date.nil? -      errors.add(:end_date, ExportTask.human_attribute_name("end_date_greater_than_start_date")) unless st_date <= ed_date -    end -    unless  ed_date.nil? || Chouette::TimeTable.end_validity_period.nil? -      tt_ed_date = Chouette::TimeTable.end_validity_period -      errors.add(:end_date, ExportTask.human_attribute_name("end_date_less_than", {:tt_ed_date => tt_ed_date})) unless ed_date <= tt_ed_date -    end -  end - -  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 referential -    Referential.find(referential_id) -  end - -  def organisation -    referential.organisation -  end - -  def save -    if self.valid? -      # Call Iev Server -      begin -        Ievkit.create_job( referential.slug, "exporter", data_format, { -                             :file1 => params_io, -                           } ) -      rescue Exception => exception -        raise exception -      end -      true -    else -      false -    end -  end - -  def self.data_formats -    self.data_format.values -  end - -  def self.references_types -    self.references_type.values -  end - -  def params -    {}.tap do |h| -      h["parameters"] = action_params -    end -  end - -  def action_params -    {} -  end - -  def params_io -    file = StringIO.new( params.to_json ) -    Faraday::UploadIO.new(file, "application/json", "parameters.json") -  end - -  def self.optional_attributes(references_type) -    [] -  end - -  def optional_attributes -    self.class.optional_attributes(references_type.to_s) -  end - -  def optional_attribute?(attribute) -    optional_attributes.include? attribute.to_sym -  end - -end | 
