Class: Remocon::TypeNormalizerFactory
- Inherits:
-
Object
- Object
- Remocon::TypeNormalizerFactory
- Includes:
- Singleton
- Defined in:
- lib/remocon/normalizer/type_normalizer_factory.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.get(normalizer_sym) ⇒ Object
12 13 14 |
# File 'lib/remocon/normalizer/type_normalizer_factory.rb', line 12 def self.get(normalizer_sym) instance.plugin_map[normalizer_sym&.to_sym || Remocon::Type::VOID] end |
.register(normalizer_klass) ⇒ Object
7 8 9 10 |
# File 'lib/remocon/normalizer/type_normalizer_factory.rb', line 7 def self.register(normalizer_klass) raise "#{normalizer_klass} must inherit #{Remocon::Normalizer}" unless normalizer_klass < Remocon::Normalizer instance.plugin_map[normalizer_klass.respond_symbol] = normalizer_klass end |
Instance Method Details
#plugin_map ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/remocon/normalizer/type_normalizer_factory.rb', line 16 def plugin_map return @plugin_map if @plugin_map @plugin_map = {} Remocon::Normalizer.subclasses.each { |klass| Remocon::TypeNormalizerFactory.register(klass) } @plugin_map end |