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