diff options
| author | Alban Peignier | 2012-05-23 18:28:43 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2012-05-23 18:28:43 +0200 | 
| commit | c203a4b6d3d07928ad4ef41116d38873b9ac5820 (patch) | |
| tree | 4d12b9bcaab5881002dd412bd06982adb385464a /app/models/referential.rb | |
| parent | 811ff1a56c96cee9bd95dac5aa9de91117dfcc28 (diff) | |
| download | chouette-core-c203a4b6d3d07928ad4ef41116d38873b9ac5820.tar.bz2 | |
Add jruby-rack-worker to run workers. Fixes #37
Diffstat (limited to 'app/models/referential.rb')
| -rw-r--r-- | app/models/referential.rb | 37 | 
1 files changed, 4 insertions, 33 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb index 84640e43c..d7c5bba7e 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -34,44 +34,15 @@ class Referential < ActiveRecord::Base      self    end -  before_create :prepare +  before_create :create_schema    before_destroy :destroy_schema -  attr_accessor :resources -  attr_accessor :loader - -  def loader -    @loader ||= ::Chouette::Loader.new(slug) -  end +  after_create :import_resources -  def prepare -    if resources -      import_resources -    else -      create_schema -    end -  end - -  def with_original_filename -    Dir.mktmpdir do |tmp_dir| -      tmp_link = File.join(tmp_dir, resources.original_filename) -      FileUtils.ln_s resources.path, tmp_link -      yield tmp_link -    end -  end +  attr_accessor :resources    def import_resources -    # Apartment::Database.create create tables -    loader.create -    begin -      with_original_filename do |file| -        # chouette-command checks the file extension (and requires .zip) :( -        loader.import file -      end -    rescue => e -      loader.drop -      raise e -    end +    imports.create(:resources => resources) if resources    end    def create_schema  | 
