From 3caa4dd1bdf2ddc3c32baf4e3add8cd06c37f9f5 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 5 Mar 2013 14:51:44 +0100 Subject: make sure couchrest actually finds our models in the engines --- core/lib/extensions/couchrest.rb | 52 +++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 14 deletions(-) (limited to 'core/lib/extensions') 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 -- cgit v1.2.3