Sha256: 60983f877761809cd2c0daa116d1aa1022db49f7074a8675091f0840079d881a

Contents?: true

Size: 642 Bytes

Versions: 1

Compression:

Stored size: 642 Bytes

Contents

# frozen_string_literal: true

require "active_normalizer/version"
require "active_normalizer/normalizers/normalizer"

class ActiveNormalizer
  MissingDependencyError = Class.new(RuntimeError)

  def self.require_dependency(name, klass)
    require name
  rescue LoadError => exception
    raise MissingDependencyError,
          %(Missing dependency '#{name}' for #{klass}. See README.md for details.\n#{exception.class.name}: #{exception})
  end

  def initialize(normalizer_klass, options: nil)
    @normalizer = normalizer_klass.new(options)
  end

  def run(text)
    normalizer.run(text)
  end

  private

  attr_reader :normalizer
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_normalizer-1.0.0 lib/active_normalizer.rb