From a008f113d539467067f9d5d94d00bc948fc366be Mon Sep 17 00:00:00 2001 From: Rob Sears Date: Wed, 27 Apr 2016 12:35:54 -0600 Subject: [PATCH] Move configuration into its own file --- lib/searchyou/configuration.rb | 35 ++++++++++++++++++++++++++++++++++ lib/searchyou/generator.rb | 35 +--------------------------------- 2 files changed, 36 insertions(+), 34 deletions(-) create mode 100644 lib/searchyou/configuration.rb diff --git a/lib/searchyou/configuration.rb b/lib/searchyou/configuration.rb new file mode 100644 index 0000000..01c98b7 --- /dev/null +++ b/lib/searchyou/configuration.rb @@ -0,0 +1,35 @@ +module Searchyou + class Configuration + attr_accessor :site + def initialize(site) + self.site = site + end + + # Determine a URL for the cluster, or fail with error + def elasticsearch_url + ENV['BONSAI_URL'] || ENV['ELASTICSEARCH_URL'] || + ((site.config||{})['elasticsearch']||{})['url'] || + raise(ArgumentError, "No Elasticsearch URL present, skipping indexing") + end + + # Getter for the number of primary shards + def elasticsearch_number_of_shards + site.config['elasticsearch']['number_of_shards'] || 1 + end + + # Getter for the number of replicas + def elasticsearch_number_of_replicas + site.config['elasticsearch']['number_of_replicas'] || 1 + end + + # Getter for the index name + def elasticsearch_index_base_name + site.config['elasticsearch']['index_name'] || "jekyll" + end + + # Getter for the default type + def elasticsearch_default_type + site.config['elasticsearch']['default_type'] || 'post' + end + end +end diff --git a/lib/searchyou/generator.rb b/lib/searchyou/generator.rb index 5763261..c4154c8 100644 --- a/lib/searchyou/generator.rb +++ b/lib/searchyou/generator.rb @@ -1,4 +1,5 @@ require 'searchyou/indexer' +require 'searchyou/configuration' module Searchyou @@ -38,38 +39,4 @@ def generate(site) end - # Class containing configuration options - class Configuration - attr_accessor :site - def initialize(site) - self.site = site - end - - # Determine a URL for the cluster, or fail with error - def elasticsearch_url - ENV['BONSAI_URL'] || ENV['ELASTICSEARCH_URL'] || - ((site.config||{})['elasticsearch']||{})['url'] || - raise(ArgumentError, "No Elasticsearch URL present, skipping indexing") - end - - # Getter for the number of primary shards - def elasticsearch_number_of_shards - site.config['elasticsearch']['number_of_shards'] || 1 - end - - # Getter for the number of replicas - def elasticsearch_number_of_replicas - site.config['elasticsearch']['number_of_replicas'] || 1 - end - - # Getter for the index name - def elasticsearch_index_base_name - site.config['elasticsearch']['index_name'] || "jekyll" - end - - # Getter for the default type - def elasticsearch_default_type - site.config['elasticsearch']['default_type'] || 'post' - end - end end