aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
authorMarc Florisson2012-06-01 12:20:57 +0200
committerMarc Florisson2012-06-01 12:20:57 +0200
commitee866a45955bac5cef7a8bdec58f86ffcb7cb702 (patch)
treee66d3da0e628034afc362b524b52a1a71977f4ff /app/models/referential.rb
parent7fd20ad1409398e06fb1167332c57b4ac4c9aadc (diff)
parent7082d66ec221aee194d64a17ab5d21eb2955f419 (diff)
downloadchouette-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.rb37
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