Module: ActiveAsari
- Defined in:
- lib/active_asari/common.rb,
lib/active_asari/migrations.rb,
lib/active_asari/active_record.rb
Defined Under Namespace
Modules: ActiveRecord
Classes: Migrations, ResultObject
Class Method Summary
collapse
Class Method Details
.active_asari_raw_search(domain, query, search_options = {}) ⇒ Object
23
24
25
26
27
28
29
|
# File 'lib/active_asari/common.rb', line 23
def self.active_asari_raw_search(domain, query, search_options = {})
asari = Asari.new asari_domain_name(domain)
fields = ACTIVE_ASARI_CONFIG[domain].map {|field| field.first.to_sym}
fields = fields.concat([:active_asari_id])
search_options[:return_fields] = fields
asari.search query, search_options
end
|
.active_asari_search(domain, query, search_options = {}) ⇒ Object
40
41
42
43
|
# File 'lib/active_asari/common.rb', line 40
def self.active_asari_search(domain, query, search_options = {})
raw_result = active_asari_raw_search domain, query, search_options
objectify_results raw_result
end
|
.amazon_safe_domain_name(domain) ⇒ Object
3
4
5
6
|
# File 'lib/active_asari/common.rb', line 3
def self.amazon_safe_domain_name(domain)
environment = ENV['RAILS_ENV'] ? ENV['RAILS_ENV'] : ENV['RACK_ENV']
"#{ACTIVE_ASARI_ENV[environment]['domain_prefix']}-#{domain.underscore.sub(/_/, '-')}"
end
|
.asari_domain_name(domain) ⇒ Object
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/active_asari/common.rb', line 12
def self.asari_domain_name(domain)
$domains = {} if !$domains
amazon_domain = amazon_safe_domain_name domain
if !$domains[amazon_domain]
domain_data = aws_client.describe_domains[:domain_status_list].select { |domain_data|
domain_data[:domain_name] == amazon_domain}
$domains[amazon_domain] = domain_data.first[:search_service][:endpoint].split('.').first[7..-1]
end
$domains[amazon_domain]
end
|
.aws_client ⇒ Object
8
9
10
|
# File 'lib/active_asari/common.rb', line 8
def self.aws_client
AWS::CloudSearch::Client.new
end
|
45
46
47
48
49
|
# File 'lib/active_asari/common.rb', line 45
def self.configure(yaml_file_dir)
active_asari_config = YAML.load_file(File.expand_path(yaml_file_dir) + '/active_asari_config.yml')
active_asari_env = YAML.load_file(File.expand_path(yaml_file_dir) + '/active_asari_env.yml')
return active_asari_config, active_asari_env
end
|
.objectify_results(hash_results) ⇒ Object
31
32
33
34
35
36
37
38
|
# File 'lib/active_asari/common.rb', line 31
def self.objectify_results(hash_results)
results = {}
hash_results.each do |key, value|
results[key] = ResultObject.new
results[key].raw_result = value
end
results
end
|