aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
authorAlban Peignier2012-05-23 18:28:43 +0200
committerAlban Peignier2012-05-23 18:28:43 +0200
commitc203a4b6d3d07928ad4ef41116d38873b9ac5820 (patch)
tree4d12b9bcaab5881002dd412bd06982adb385464a /app/models/referential.rb
parent811ff1a56c96cee9bd95dac5aa9de91117dfcc28 (diff)
downloadchouette-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.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