diff --git a/lib/rackstash/adapters/adapter.rb b/lib/rackstash/adapters/adapter.rb index 36b1bdd..ff03c25 100644 --- a/lib/rackstash/adapters/adapter.rb +++ b/lib/rackstash/adapters/adapter.rb @@ -41,6 +41,15 @@ module Rackstash def initialize(*) end + # Return a new Encoder instance which can be used with the concrete adapter + # If no explicit encoder is defined in a {Flow}, this encoder will be used + # there + # + # @return [#call] an encoder + def default_encoder + Rackstash::Encoders::JSON.new + end + # Close the underlying log device if supported by it. # # This method needs to be overwritten in child classes. By default, this diff --git a/spec/rackstash/adapters/adapter_spec.rb b/spec/rackstash/adapters/adapter_spec.rb index 7833d5c..62547db 100644 --- a/spec/rackstash/adapters/adapter_spec.rb +++ b/spec/rackstash/adapters/adapter_spec.rb @@ -18,6 +18,12 @@ describe Rackstash::Adapters::Adapter do end end + describe '.default_encoder' do + it 'returns an encoder' do + expect(adapter.default_encoder).to respond_to(:encode) + end + end + describe '#close' do it 'does nothing' do expect(adapter.close).to be nil