lib/searchlogic.rb in searchlogic-1.6.6 vs lib/searchlogic.rb in searchlogic-2.1.0

- old
+ new

@@ -1,100 +1,20 @@ -$:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__))) - -require "active_support" -require "active_record" -require "active_record/version" - -["mysql", "postgresql", "sqlite"].each do |adapter_name| - begin - require "active_record/connection_adapters/#{adapter_name}_adapter" - require "searchlogic/active_record/connection_adapters/#{adapter_name}_adapter" - rescue Exception - end -end - -# Core Ext -require "searchlogic/core_ext/hash" +require "searchlogic/core_ext/proc" require "searchlogic/core_ext/object" +require "searchlogic/named_scopes/conditions" +require "searchlogic/named_scopes/ordering" +require "searchlogic/named_scopes/associations" +require "searchlogic/named_scopes/alias_scope" +require "searchlogic/search" -# Shared -require "searchlogic/shared/utilities" -require "searchlogic/shared/virtual_classes" +Proc.send(:include, Searchlogic::CoreExt::Proc) +Object.send(:include, Searchlogic::CoreExt::Object) +ActiveRecord::Base.extend(Searchlogic::NamedScopes::Conditions) +ActiveRecord::Base.extend(Searchlogic::NamedScopes::Ordering) +ActiveRecord::Base.extend(Searchlogic::NamedScopes::Associations) +ActiveRecord::Base.extend(Searchlogic::NamedScopes::AliasScope) +ActiveRecord::Base.extend(Searchlogic::Search::Implementation) -# Base classes -require "searchlogic/version" -require "searchlogic/config/helpers" -require "searchlogic/config/search" -require "searchlogic/config" - -# ActiveRecord -require "searchlogic/active_record/base" -require "searchlogic/active_record/associations" - -# Search -require "searchlogic/search/ordering" -require "searchlogic/search/pagination" -require "searchlogic/search/conditions" -require "searchlogic/search/searching" -require "searchlogic/search/base" -require "searchlogic/search/protection" - -# Conditions -require "searchlogic/conditions/any_or_all" -require "searchlogic/conditions/groups" -require "searchlogic/conditions/magic_methods" -require "searchlogic/conditions/multiparameter_attributes" -require "searchlogic/conditions/protection" -require "searchlogic/conditions/base" - -# Condition -require "searchlogic/condition/base" -require "searchlogic/condition/nested_set" -SEARCHLOGIC_CONDITIONS = [:begins_with, :blank, :child_of, :descendant_of, :ends_with, :equals, :greater_than, :greater_than_or_equal_to, :inclusive_descendant_of, :like, :nil, :not_begin_with, - :not_blank, :not_end_with, :not_equal, :not_have_keywords, :not_like, :not_nil, :keywords, :less_than, :less_than_or_equal_to, :sibling_of] -SEARCHLOGIC_CONDITIONS.each { |condition| require "searchlogic/condition/#{condition}" } - -# Modifiers -require "searchlogic/modifiers/base" -SEARCHLOGIC_MODIFIERS = [:absolute, :acos, :asin, :atan, :avg, :ceil, :char_length, :cos, :cot, :count, :day_of_month, :day_of_week, :day_of_year, :degrees, :exp, :floor, :hex, :hour, :log, :log10, - :log2, :lower, :ltrim, :md5, :microseconds, :milliseconds, :minute, :month, :octal, :radians, :round, :rtrim, :second, :sign, :sin, :square_root, :sum, :tan, :trim, :upper, :week, :year] -SEARCHLOGIC_MODIFIERS.each { |modifier| require "searchlogic/modifiers/#{modifier}" } - -# Helpers -require "searchlogic/helpers/utilities" -require "searchlogic/helpers/form" -require "searchlogic/helpers/control_types/link" -require "searchlogic/helpers/control_types/links" -require "searchlogic/helpers/control_types/select" -require "searchlogic/helpers/control_types/remote_link" -require "searchlogic/helpers/control_types/remote_links" -require "searchlogic/helpers/control_types/remote_select" - -# Lets do it! -module Searchlogic - module Search - class Base - include Conditions - include Ordering - include Protection - include Pagination - include Searching - end - end - - module Conditions - class Base - include AnyOrAll - include Groups - include MagicMethods - include MultiparameterAttributes - include Protection - end - - SEARCHLOGIC_CONDITIONS.each { |condition| Base.register_condition("Searchlogic::Condition::#{condition.to_s.camelize}".constantize) } - SEARCHLOGIC_MODIFIERS.each { |modifier| Base.register_modifier("Searchlogic::Modifiers::#{modifier.to_s.camelize}".constantize) } - end - - # The namespace I put all cached search classes. - module Cache - end +if defined?(ActionController) + require "searchlogic/rails_helpers" + ActionController::Base.helper(Searchlogic::RailsHelpers) end \ No newline at end of file