string_utils 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/string_utils/version.rb +1 -1
- data/lib/string_utils.rb +14 -0
- data/test/normalize_punctuation_spec.rb +20 -0
- metadata +7 -6
data/lib/string_utils/version.rb
CHANGED
data/lib/string_utils.rb
CHANGED
@@ -12,6 +12,7 @@ require 'string_utils/transliteration'
|
|
12
12
|
# * StringUtils.truncate("hello world", 10, "...") #=> "hello..."
|
13
13
|
# * StringUtils.normalize_name "\302\240 Gran Via/Avda.de Asturias " #=> :Gran Via / Avda. de Asturias"
|
14
14
|
# * StringUtils.urlify("waßer") #=> "wasser"
|
15
|
+
# * StringUtils.normalize_punctuation(" , a,,b ,") #=> "a, b"
|
15
16
|
module StringUtils
|
16
17
|
extend self
|
17
18
|
|
@@ -21,6 +22,19 @@ module StringUtils
|
|
21
22
|
NOT_WHITESPACE = "[^\s#{NBSP}]"
|
22
23
|
WHITESPACES = /#{WHITESPACE_MATCHER}+/
|
23
24
|
|
25
|
+
# Collapses spaces and commas
|
26
|
+
# Fixes spacing around the [,.;:]
|
27
|
+
# Removes trailing and leading commas
|
28
|
+
def normalize_punctuation(str)
|
29
|
+
s = str.dup
|
30
|
+
s.gsub! /\s+/, ' '
|
31
|
+
s.gsub! /\s,/, ','
|
32
|
+
s.gsub! /,+/ , ','
|
33
|
+
s.gsub! /^\s*,|,\s*$/, ''
|
34
|
+
s.gsub! /([,.;:])(\S)/, '\1 \2'
|
35
|
+
s.strip!
|
36
|
+
s
|
37
|
+
end
|
24
38
|
|
25
39
|
# Converts a string to a nicely readable URL
|
26
40
|
# opts:
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "string_utils"
|
3
|
+
|
4
|
+
describe "StringUtils" do
|
5
|
+
describe "#normalize_punctuation" do
|
6
|
+
|
7
|
+
it 'collapses commas' do
|
8
|
+
StringUtils.normalize_punctuation("a,,b").should == "a, b"
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'removes leading and trailing commas' do
|
12
|
+
StringUtils.normalize_punctuation(" , ab , ").should == "ab"
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'fixes spacing around commas' do
|
16
|
+
StringUtils.normalize_punctuation("a , b").should == "a, b"
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: string_utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 27
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 6
|
10
|
+
version: 1.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gleb Mazovetskiy
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-02-17 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- lib/string_utils/version.rb
|
93
93
|
- string_utils.gemspec
|
94
94
|
- test/normalize_name_spec.rb
|
95
|
+
- test/normalize_punctuation_spec.rb
|
95
96
|
- test/truncate_spec.rb
|
96
97
|
- test/urlify_spec.rb
|
97
98
|
has_rdoc: true
|
@@ -124,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
125
|
requirements: []
|
125
126
|
|
126
127
|
rubyforge_project: string_utils
|
127
|
-
rubygems_version: 1.
|
128
|
+
rubygems_version: 1.4.2
|
128
129
|
signing_key:
|
129
130
|
specification_version: 3
|
130
131
|
summary: Provides useful string utils like "truncate to word"
|