Sha256: a52db003416ca31f4072cee90b6d4191af492153b262a41a710f3fc015b10441

Contents?: true

Size: 911 Bytes

Versions: 4

Compression:

Stored size: 911 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.send(:include, CharacterSet::CoreExt::StringExt)

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
character_set-1.4.0-java lib/character_set/core_ext/string_ext.rb
character_set-1.4.0 lib/character_set/core_ext/string_ext.rb
character_set-1.3.0-java lib/character_set/core_ext/string_ext.rb
character_set-1.3.0 lib/character_set/core_ext/string_ext.rb