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

.indexify(name) ⇒ Object



33
34
35
# File 'lib/enygma.rb', line 33

def indexify(name)
  name.to_s =~ %r{#{Enygma::Configuration.index_suffix}$} ? name.to_s : name.to_s + Enygma::Configuration.index_suffix
end

.versionObject



10
11
12
# File 'lib/enygma/version.rb', line 10

def self.version
  Enygma::Version::STRING
end