Sha256: 3844015ea22887a56fc423d43c809e64ba5e2a5b8c7245cdca43c33eeef7385a

Contents?: true

Size: 868 Bytes

Versions: 1

Compression:

Stored size: 868 Bytes

Contents

module Nele
  module StringExt
    module InstanceMethods
      def translate
        raise(EmptyStringError, "string is empty") if self.empty?
        raise(
          ::Nele::TranslatorMissingError,
          "missing translator") if self.class.translator.nil?
        String.translator.translate(self)
      end
    end

    module ClassMethods
      attr_reader(:translator)

      def translator=(name)
        return @translator = nil if name.nil?
        klass = Nele::GenericTranslator.build_translator_class_name(name)
        Nele::GenericTranslator.check_inheritance(klass)
        @translator = klass.new
      end

      def translators
        regexp = /^[^Translator|^GenericTranslator|Config|StringExt]/
        Nele.constants.select { |e| e=~regexp }.map do |e|
          e.to_s.gsub("Translator", "").downcase
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nele-0.2.2 lib/nele/string_ext.rb