lib/rshade/config/stack_store.rb in rshade-0.2.1 vs lib/rshade/config/stack_store.rb in rshade-0.2.2
- old
+ new
@@ -1,43 +1,44 @@
# frozen_string_literal: true
module RShade
class Config
class StackStore
- attr_reader :filter, :formatter, :custom_serializers
+ attr_reader :filter, :formatter, :variable_serializer
DEFAULT_FORMATTER = {
json: ::RShade::Formatter::Stack::Json,
stdout: ::RShade::Formatter::Stack::Stdout
}.freeze
- # @param [Hash] options
- # @option options [::RShade::Filter::FilterComposition] :filter_composition
- # @option options [#call(event_store)] :formatter
- def initialize(options = {})
- @filter = options.fetch(:filter, default_filter_composition)
- @formatter = options.fetch(:formatter, ::RShade::Formatter::Stack::Stdout.new)
- @custom_serializers = options.fetch(:custom_serializers, {})
+ # @param [RShade::Formatter::Stack::Stdout] formatter
+ # @param [RShade::Filter::FilterComposition] filter
+ # @param [Hash] serializers
+ def initialize(formatter: RShade::Formatter::Stack::Stdout.new, filter: default_filter_composition,
+ serializers: {})
+ @filter = filter
+ @formatter = formatter
+ @variable_serializer = ::RShade::Serializer::Traversal.new(serializers)
end
- def add_custom_serializers(hash)
- custom_serializers.merge!(hash)
+ def serializer!(hash)
+ variable_serializer.merge!(hash)
self
end
- def config_filter(filter_type, &block)
- filter.config_filter(filter_type, &block)
+ def filter!(filter_type, &block)
+ filter.filter(filter_type, &block)
self
end
def formatter!(formatter, opts = {})
@formatter = formatter.is_a?(Symbol) ? set_symbol_formatter(formatter, opts) : formatter
self
end
def exclude_gems!
- config_filter(::RShade::Filter::ExcludePathFilter) do |paths|
- paths.concat(RShade::Config.default_excluded_path)
+ filter!(::RShade::Filter::ExcludePathFilter) do |paths|
+ paths.concat(RShade::Utils.default_excluded_path)
end
self
end
private