diff --git a/lib/esse/cluster.rb b/lib/esse/cluster.rb index 9d6d936..4814400 100644 --- a/lib/esse/cluster.rb +++ b/lib/esse/cluster.rb @@ -4,6 +4,12 @@ require_relative 'transport' module Esse + class << self + extend Forwardable + + def_delegators :config, :cluster + end + class Cluster ATTRIBUTES = %i[index_prefix settings mappings client wait_for_status readonly].freeze WAIT_FOR_STATUSES = %w[green yellow red].freeze @@ -133,7 +139,7 @@ def info end def engine - @engine ||=ClusterEngine.new(**info) + @engine ||= ClusterEngine.new(**info) end alias_method :warm_up!, :engine diff --git a/spec/esse_spec.rb b/spec/esse_spec.rb index 554ee2b..db4cf2f 100644 --- a/spec/esse_spec.rb +++ b/spec/esse_spec.rb @@ -14,6 +14,15 @@ it { expect { described_class.config(&:to_s) }.not_to raise_error } end + describe '.cluster' do + it { expect(described_class).to respond_to(:cluster) } + + it 'delegates to Esse::Config#cluster' do + expect(described_class.config).to receive(:cluster).and_call_original + described_class.cluster + end + end + describe '.timestamp' do it { expect(Esse.timestamp).to be_kind_of(String) } end