lib/extensions/string.rb in rcap-1.3.0 vs lib/extensions/string.rb in rcap-1.3.1

- old
+ new

@@ -1,16 +1,29 @@ -class String # :nodoc: +class String CAP_LIST_REGEX = Regexp.new( '"([\w\s]+)"|(\S+)' ) WHITESPACE_REGEX = Regexp.new('^\s+$') + # Reformats string for a CAP list. If the string contains whitespace it will + # enclose the contents in quotation marks. + # + # @return [String] + # @example + # "one".for_cap_list # => "one" + # "two words".for_cap_list # => "\"two words\"" def for_cap_list if self =~ /\s/ '"'+self+'"' else self end end + # Will unpack a string generated by {Array#to_s_for_cap} + # + # @return [Array<String>] + # @example + # "one \"two words\" three".unpack_cap_list # => [ "one", "two words", "three" ] + # @see Array#to_s_for_cap def unpack_cap_list self.split( CAP_LIST_REGEX ).reject{ |match| match == "" || match =~ WHITESPACE_REGEX } end end