Sha256: a8e51dfd96321f2850b18e1e9bd1f0355d47884b4b0d6680469863bc551cd0d7

Contents?: true

Size: 921 Bytes

Versions: 4

Compression:

Stored size: 921 Bytes

Contents

class CharacterSet
  module CoreExt
    module StringExt
      def character_set
        CharacterSet.of(self)
      end

      {
        count_by_character_set:    :count_in,
        covered_by_character_set?: :cover?,
        delete_character_set:      :delete_in,
        delete_character_set!:     :delete_in!,
        keep_character_set:        :keep_in,
        keep_character_set!:       :keep_in!,
        scan_by_character_set:     :scan,
        uses_character_set?:       :used_by?,
      }.each do |string_method, set_method|
        class_eval <<-RUBY, __FILE__, __LINE__ + 1
          def #{string_method}(arg)
            if arg.instance_of?(Symbol)
              CharacterSet.__send__(arg).#{set_method}(self)
            else
              arg.#{set_method}(self)
            end
          end
        RUBY
      end
    end
  end
end

::String.instance_eval { include CharacterSet::CoreExt::StringExt }

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
character_set-1.5.0-java lib/character_set/core_ext/string_ext.rb
character_set-1.5.0 lib/character_set/core_ext/string_ext.rb
character_set-1.4.1-java lib/character_set/core_ext/string_ext.rb
character_set-1.4.1 lib/character_set/core_ext/string_ext.rb