Sha256: 791b5626613dcfb436b4d72976611c334389ab9287c1ff9dc1f8f654a624ee26

Contents?: true

Size: 734 Bytes

Versions: 8

Compression:

Stored size: 734 Bytes

Contents

require 'gm/notepad/container'
require 'dry/configurable'
module Gm
  module Notepad
    # Responsible for processing the given input into a renderable state
    class InputProcessor
      extend Dry::Initializer
      option :table_registry, default: -> { Container.resolve(:table_registry) }
      option :input_handler_registry, default: -> { Container.resolve(:input_handler_registry) }

      def convert_to_output(input:)
        input = ThroughputText.new(original_text: input, table_registry: table_registry)
        build_for(input: input)
        input
      end

      private

      def build_for(input:)
        input_handler_registry.handler_for(input: input, table_registry: table_registry)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gm-notepad-0.0.18 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.17 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.16 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.15 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.14 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.13 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.12 lib/gm/notepad/input_processor.rb
gm-notepad-0.0.11 lib/gm/notepad/input_processor.rb