diff options
| author | Marc Florisson | 2012-06-01 12:20:57 +0200 |
|---|---|---|
| committer | Marc Florisson | 2012-06-01 12:20:57 +0200 |
| commit | ee866a45955bac5cef7a8bdec58f86ffcb7cb702 (patch) | |
| tree | e66d3da0e628034afc362b524b52a1a71977f4ff /app/models/referential.rb | |
| parent | 7fd20ad1409398e06fb1167332c57b4ac4c9aadc (diff) | |
| parent | 7082d66ec221aee194d64a17ab5d21eb2955f419 (diff) | |
| download | chouette-core-ee866a45955bac5cef7a8bdec58f86ffcb7cb702.tar.bz2 | |
Merge branch 'master' of chouette.dryade.priv:/srv/git/chouette2
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 |
