diff options
author | Azul <azul@leap.se> | 2013-03-05 14:51:44 +0100 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-03-06 12:12:48 +0100 |
commit | 3caa4dd1bdf2ddc3c32baf4e3add8cd06c37f9f5 (patch) | |
tree | aaa53a1050e945e173c508911131c737acc1b2c1 /core | |
parent | eb6cd0962108412fe92ac8ee2d013d22c0e709d4 (diff) |
make sure couchrest actually finds our models in the engines
Diffstat (limited to 'core')
-rw-r--r-- | core/lib/extensions/couchrest.rb | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/core/lib/extensions/couchrest.rb b/core/lib/extensions/couchrest.rb index ca4b608..57bb837 100644 --- a/core/lib/extensions/couchrest.rb +++ b/core/lib/extensions/couchrest.rb @@ -1,26 +1,50 @@ module CouchRest - module Model::Designs + module Model + module Designs - class View + class View - # so we can called Ticket.method.descending or Ticket.method.ascending - def ascending - self + # so we can called Ticket.method.descending or Ticket.method.ascending + def ascending + self + end end - end - class DesignMapper - def load_views(dir) - Dir.glob("#{dir}/*.js") do |js| - name = File.basename(js, '.js') - file = File.open(js, 'r') - view name.to_sym, - :map => file.read, - :reduce => "function(key, values, rereduce) { return sum(values); }" + class DesignMapper + def load_views(dir) + Dir.glob("#{dir}/*.js") do |js| + name = File.basename(js, '.js') + file = File.open(js, 'r') + view name.to_sym, + :map => file.read, + :reduce => "function(key, values, rereduce) { return sum(values); }" + end end end end + class Migrate + def self.load_all_models_with_engines + self.load_all_models_without_engines + return unless defined?(Rails) + Dir[Rails.root + '**/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) + end + + + + class << self + alias_method_chain :load_all_models, :engines + end + + end end class ModelRailtie |