To edit pages or tickets please login with username/password: aaf/aaf

Changeset 338

Show
Ignore:
Timestamp:
04/23/08 07:22:40 (2 months ago)
Author:
jk
Message:

fix aafloader, new ActsAsFerret::initialize method, check if scope method is present before calling it (helps with non-AR models)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/plugin/acts_as_ferret/lib/aaf_loader.rb

    r335 r338  
    55# config/aaf.rb gets reloaded on every request in development mode. 
    66# 
    7 module AafLoader 
    8   def self.included(target) 
    9     ActsAsFerret::load_config 
     7module ActsAsFerret 
     8  module AafLoader 
     9    def self.included(target) 
     10      target.before_filter :load_aaf_config 
     11    end 
     12 
     13    def load_aaf_config 
     14      ActsAsFerret::load_config 
     15    end 
    1016  end 
    1117end 
  • trunk/plugin/acts_as_ferret/lib/acts_as_ferret.rb

    r334 r338  
    4747require 'ferret_server' 
    4848 
     49require 'aaf_loader' 
    4950require 'rdig_adapter' 
    5051 
     
    246247    index.register_class(clazz, options) 
    247248    return index 
     249  end 
     250 
     251  # call this in environment.rb in case you use external index declarations in 
     252  # config/aaf.rb: 
     253  # 
     254  #   Rails::Initializer.run do |config| 
     255  #     ... 
     256  #     config.after_initialize do 
     257  #       ActsAsFerret::initialize 
     258  #     end 
     259  #   end 
     260  # 
     261  def self.initialize 
     262    load_config 
     263    # let the application reload the aaf config on each request so aaf stays 
     264    # active even when classes are reloaded in dev mode. 
     265    if RAILS_ENV == 'development' 
     266      ActionController::Base.send :include, ActsAsFerret::AafLoader 
     267    end 
    248268  end 
    249269 
     
    566586ActiveRecord::Base.extend ActsAsFerret::ActMethods 
    567587 
    568  
  • trunk/plugin/acts_as_ferret/lib/class_methods.rb

    r336 r338  
    146146    # +conitions+ present in +find_options+. 
    147147    def find_with_ferret(q, options = {}, find_options = {}) 
    148       if scope(:find, :conditions) 
     148      if respond_to?(:scope) && scope(:find, :conditions) 
    149149        if find_options[:conditions] 
    150150          find_options[:conditions] = "(#{find_options[:conditions]}) AND (#{scope(:find, :conditions)})" 

To edit pages or tickets please login with username/password: aaf/aaf