Module: SkipEmbedded::FulltextSearchCache

Defined in:
lib/skip_embedded/fulltext_search_cache.rb,
lib/skip_embedded/fulltext_search_cache/mediator.rb,
lib/skip_embedded/fulltext_search_cache/builder_base.rb,
lib/skip_embedded/fulltext_search_cache/partial_loader.rb

Defined Under Namespace

Classes: BuilderBase, Mediator, PartialLoader

Constant Summary collapse

DEFAULT_OPTIONS =
{
  :cache_dir => File.expand_path("fts_cache/app_cache", Dir.pwd),
  :logger    => ActionController::Base.logger,
  :limit => 1_000,
}.freeze

Class Method Summary collapse

Class Method Details

.build(model_and_builders, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/skip_embedded/fulltext_search_cache.rb', line 16

def self.build(model_and_builders, options = {})
  if skip_url = (InitialSettings[:skip_collaboration] && InitialSettings[:skip_collaboration]["skip_url"])
    set_default_url_options(skip_url)
  else
    $stderr.puts "set skip_collaboration -> skip_url in config/initial_settings.yml"
    exit 1
  end

  mediator = Mediator.new(options)
  model_and_builders.each{|m, b| mediator.build(m, b) }

  mediator.finish
end

.set_default_url_options(url) ⇒ Object



30
31
32
33
34
35
# File 'lib/skip_embedded/fulltext_search_cache.rb', line 30

def self.set_default_url_options(url)
  u = URI(url)
  url_opt = { :host => u.host, :protocol => u.scheme }
  url_opt[:port] = u.port unless (u.scheme == "http" && u.port == 80) || (u.scheme == "https" && u.port == 443)
  ActionController::UrlWriter.default_url_options = url_opt
end