Module: Syphon

Defined in:
lib/syphon.rb,
lib/syphon/index.rb,
lib/syphon/schema.rb,
lib/syphon/source.rb,
lib/syphon/builder.rb,
lib/syphon/railtie.rb,
lib/syphon/version.rb

Defined Under Namespace

Modules: Index Classes: Builder, Railtie, Schema, Source

Constant Summary collapse

VERSION =
[0, 1, 1]

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



15
16
17
# File 'lib/syphon.rb', line 15

def configuration
  @configuration ||= {}
end

Class Method Details

.clientObject



37
38
39
# File 'lib/syphon.rb', line 37

def client
  Thread.current[:syphon_client] ||= Elasticsearch::Client.new(elasticsearch_configuration)
end

.database_configurationObject



19
20
21
# File 'lib/syphon.rb', line 19

def database_configuration
  configuration[:database] || {}
end

.database_connectionObject



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

def database_connection
  Thread.current[:syphon_database_connection] ||= Mysql2::Client.new(database_configuration)
end

.elasticsearch_configurationObject



23
24
25
26
27
# File 'lib/syphon.rb', line 23

def elasticsearch_configuration
  configuration = Syphon.configuration[:elasticsearch].try(:dup) || {}
  configuration[:logger] = logger
  configuration
end

.index_classesObject



41
42
43
# File 'lib/syphon.rb', line 41

def index_classes
  Syphon.configuration['index_classes'].map(&:constantize)
end

.index_namespaceObject



29
30
31
# File 'lib/syphon.rb', line 29

def index_namespace
  configuration[:index_namespace]
end

.loggerObject



45
46
47
# File 'lib/syphon.rb', line 45

def logger
  Thread.current[:syphon_logger] ||= make_logger
end

.logger=(logger) ⇒ Object



49
50
51
# File 'lib/syphon.rb', line 49

def logger=(logger)
  Thread.current[:syphon_logger] = logger
end