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