Sha256: 128b2776f02e59e1b35ba5b5b47f82cb1ec0dc3e38819a506dcab197bb6410ea
Contents?: true
Size: 1.37 KB
Versions: 2
Compression:
Stored size: 1.37 KB
Contents
# frozen_string_literal: true require_relative 'config/options' require_relative 'config/switcher' require_relative 'config/switchers/addons' require_relative 'config/switchers/constant_aliases' require_relative 'config/switchers/features' require_relative 'config/switchers/pattern_matching' class BCDD::Result class Config attr_reader :addon, :feature, :constant_alias, :pattern_matching def initialize @addon = Addons.switcher @feature = Features.switcher @constant_alias = ConstantAliases.switcher @pattern_matching = PatternMatching.switcher @and_then_ = CallableAndThen::Config.new end def event_logs EventLogs::Config.instance end def and_then! @and_then_ end def freeze addon.freeze feature.freeze constant_alias.freeze pattern_matching.freeze and_then!.freeze event_logs.freeze super end def options { addon: addon, feature: feature, constant_alias: constant_alias, pattern_matching: pattern_matching } end def to_h options.transform_values(&:to_h) end def inspect "#<#{self.class.name} " \ "options=#{options.keys.sort.inspect} " \ "and_then!=#{and_then!.options.inspect}>" end @instance = new singleton_class.send(:attr_reader, :instance) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bcdd-result-1.1.0 | lib/bcdd/result/config.rb |
bcdd-result-1.0.0 | lib/bcdd/result/config.rb |