class Elastictastic::Configuration

Attributes

adapter[W]
auto_refresh[W]
backoff_max[RW]
backoff_start[RW]
backoff_threshold[RW]
connect_timeout[RW]
default_batch_size[W]
default_index[W]
extra_middlewares[R]
hosts[W]
logger[RW]
request_timeout[RW]

Public Class Methods

new() click to toggle source
# File lib/elastictastic/configuration.rb, line 8
def initialize
  @extra_middlewares = []
end

Public Instance Methods

adapter() click to toggle source
# File lib/elastictastic/configuration.rb, line 20
def adapter
  @adapter ||= :net_http
end
auto_refresh() click to toggle source
# File lib/elastictastic/configuration.rb, line 33
def auto_refresh
  !!@auto_refresh
end
default_batch_size() click to toggle source
# File lib/elastictastic/configuration.rb, line 37
def default_batch_size
  @default_batch_size ||= 100
end
default_index() click to toggle source
# File lib/elastictastic/configuration.rb, line 24
def default_index
  return @default_index if defined? @default_index
  if url_from_env && url_from_env.path =~ /^\/([^\/]+)/
    @default_index = $1
  else
    @default_index = 'default'
  end
end
host=(host) click to toggle source
# File lib/elastictastic/configuration.rb, line 12
def host=(host)
  @hosts = [host]
end
hosts() click to toggle source
# File lib/elastictastic/configuration.rb, line 16
def hosts
  @hosts ||= [default_host]
end
json_engine() click to toggle source
# File lib/elastictastic/configuration.rb, line 49
def json_engine
  @json_engine || MultiJson.engine
end
json_engine=(json_engine) click to toggle source
# File lib/elastictastic/configuration.rb, line 41
def json_engine=(json_engine)
  original_engine = MultiJson.engine
  MultiJson.engine = json_engine
  @json_engine = MultiJson.engine
ensure
  MultiJson.engine = original_engine
end
presets() click to toggle source
# File lib/elastictastic/configuration.rb, line 57
def presets
  @presets ||= ActiveSupport::HashWithIndifferentAccess.new
end
presets=(new_presets) click to toggle source
# File lib/elastictastic/configuration.rb, line 61
def presets=(new_presets)
  presets.merge!(new_presets)
end
use_middleware(*args) click to toggle source
# File lib/elastictastic/configuration.rb, line 53
def use_middleware(*args)
  @extra_middlewares << args
end

Private Instance Methods

default_host() click to toggle source
# File lib/elastictastic/configuration.rb, line 67
def default_host
  if url_from_env
    url_from_env.class.build(
      :host => url_from_env.host,
      :port => url_from_env.port,
      :path => url_from_env.path
    ).to_s
  else
    'http://localhost:9200'
  end
end
url_from_env() click to toggle source
# File lib/elastictastic/configuration.rb, line 79
def url_from_env
  return @url_from_env if defined? @url_from_env
  @url_from_env = 
    if ENV['ELASTICSEARCH_URL']
      URI.parse(ENV['ELASTICSEARCH_URL'])
    end
end