diff options
author | jessib <jessib@riseup.net> | 2013-11-21 11:22:30 -0800 |
---|---|---|
committer | jessib <jessib@riseup.net> | 2013-11-21 11:22:30 -0800 |
commit | 15b234bf798f3c6347f3c5a13fd1ddfdb744354d (patch) | |
tree | 2850982de44badbe87e06dca2adbaf9493a26215 /core/lib/extensions | |
parent | f1bc68c73e7183a0ad30c6aefc6cc4cbbf1bc1f0 (diff) | |
parent | 19eac22510fcb4ad74456cc3872196fa1e63a93d (diff) |
Merge branch 'develop' into feature/return_public_key
Diffstat (limited to 'core/lib/extensions')
-rw-r--r-- | core/lib/extensions/couchrest.rb | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/core/lib/extensions/couchrest.rb b/core/lib/extensions/couchrest.rb index 91dfc1c..84cfbb3 100644 --- a/core/lib/extensions/couchrest.rb +++ b/core/lib/extensions/couchrest.rb @@ -47,28 +47,45 @@ module CouchRest def self.load_all_models_with_engines self.load_all_models_without_engines return unless defined?(Rails) - Dir[Rails.root + 'app/models/**/*.rb'].each do |path| - require path - end Dir[Rails.root + '*/app/models/**/*.rb'].each do |path| require path end end - def self.all_models_and_proxies - callbacks = migrate_each_model(find_models) - callbacks += migrate_each_proxying_model(find_proxying_models) - cleanup(callbacks) + class << self + alias_method_chain :load_all_models, :engines + end + + def dump_all_models + prepare_directory + find_models.each do |model| + model.design_docs.each do |design| + dump_design(model, design) + end + end end + protected + def dump_design(model, design) + dir = prepare_directory model.name.tableize + filename = design.id.sub('_design/','') + '.json' + puts dir + filename + design.checksum + File.open(dir + filename, "w") do |file| + file.write(JSON.pretty_generate(design.to_hash)) + end + end - class << self - alias_method_chain :load_all_models, :engines + def prepare_directory(dir = '') + dir = Rails.root + 'tmp' + 'designs' + dir + Dir.mkdir(dir) unless Dir.exists?(dir) + return dir end end end + end class ModelRailtie |