Module: Enygma
- Defined in:
- lib/enygma.rb,
lib/enygma/search.rb,
lib/enygma/version.rb,
lib/enygma/resource.rb,
lib/enygma/configuration.rb,
lib/enygma/adapters/sequel.rb,
lib/enygma/extensions/float.rb,
lib/enygma/adapters/berkeley.rb,
lib/enygma/adapters/memcache.rb,
lib/enygma/geodistance_proxy.rb,
lib/enygma/adapters/datamapper.rb,
lib/enygma/adapters/active_record.rb,
lib/enygma/adapters/tokyo_cabinet.rb,
lib/enygma/adapters/abstract_adapter.rb
Defined Under Namespace
Modules: Adapters, ClassMethods, Extensions, Resource, Version
Classes: Configuration, GeoDistanceProxy, Search
Class Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/enygma.rb', line 20
def included(base)
config_name = :"#{base.name.gsub(/(?!^)([A-Z])/, '_\1').upcase}_ENYGMA_CONFIGURATION"
base.const_set(config_name, Enygma::Configuration.new) unless base.const_defined?(config_name)
base.__send__(:extend, Enygma::ClassMethods)
if defined?(ActiveRecord) && base.ancestors.include?(ActiveRecord::Base)
configure_for_active_record(base)
elsif defined?(Sequel) && base.ancestors.include?(Sequel::Model)
configure_for_sequel_model(base)
elsif defined?(Datamapper) && base.included_modules.include?(Datamapper::Resource)
configure_for_datamapper_resource(base)
end
end
|