Module: Cloudsearchable

Defined in:
lib/cloudsearchable/field.rb,
lib/cloudsearchable.rb,
lib/cloudsearchable/config.rb,
lib/cloudsearchable/domain.rb,
lib/cloudsearchable/version.rb,
lib/cloudsearchable/query_chain.rb,
lib/cloudsearchable/config/options.rb

Overview

Class the represents the schema of a domain in CloudSearch

In general, it will be instantiated by a helper class or module, like Cloudsearch_enabled.

Defined Under Namespace

Modules: ClassMethods, Config Classes: DSL, Domain, Field, NoClausesError, Query, QueryChain, WarningInQueryResult

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.configObject



18
19
20
# File 'lib/cloudsearchable.rb', line 18

def self.config
  configure
end

.configureObject



14
15
16
# File 'lib/cloudsearchable.rb', line 14

def self.configure
  block_given? ? yield(Cloudsearchable::Config) : Cloudsearchable::Config
end

.included(base) ⇒ Object



26
27
28
# File 'lib/cloudsearchable.rb', line 26

def self.included(base)
  base.extend ClassMethods
end

.loggerObject



22
23
24
# File 'lib/cloudsearchable.rb', line 22

def self.logger
  Cloudsearchable::Config.logger
end

Instance Method Details

#add_to_indexesObject



46
47
48
49
50
# File 'lib/cloudsearchable.rb', line 46

def add_to_indexes
  cloudsearch_domains.map do |name, domain|
    domain.post_record(self, id, lock_version)
  end
end

#cloudsearch_domainsObject



34
35
36
# File 'lib/cloudsearchable.rb', line 34

def cloudsearch_domains
  self.class.cloudsearch_domains
end

#cloudsearch_domains=(*args) ⇒ Object



30
31
32
# File 'lib/cloudsearchable.rb', line 30

def cloudsearch_domains= *args
  self.class.cloudsearch_domains = args
end

#remove_from_indexesObject



52
53
54
55
56
# File 'lib/cloudsearchable.rb', line 52

def remove_from_indexes
  cloudsearch_domains.map do |name, domain|
    domain.delete_record(id, lock_version)
  end
end

#update_indexesObject



38
39
40
41
42
43
44
# File 'lib/cloudsearchable.rb', line 38

def update_indexes
  if destroyed?
    remove_from_indexes
  else
    add_to_indexes
  end
end