lib/elasticity/base_document.rb in es-elasticity-0.7.1 vs lib/elasticity/base_document.rb in es-elasticity-0.8.0
- old
+ new
@@ -6,11 +6,11 @@
class_attribute :config
# Configure the given klass, changing default parameters and resetting
# some of the internal state.
def self.configure(&block)
- self.config = IndexConfig.new(Elasticity.config, self.name.underscore, &block)
+ self.config = IndexConfig.new(Elasticity.config, self.index_config_defaults, &block)
end
# Define common attributes for all documents
attr_accessor :_id, :highlighted, :_score, :sort
@@ -46,8 +46,25 @@
self.class.delete(self._id)
end
def created?
@created || false
+ end
+
+ private
+
+ def self.index_config_defaults
+ {
+ document_type: default_document_type,
+ index_base_name: default_index_base_name
+ }
+ end
+
+ def self.default_document_type
+ self.name.gsub('::', '_').underscore
+ end
+
+ def self.default_index_base_name
+ ActiveSupport::Inflector.pluralize(default_document_type)
end
end
end