string_master 0.3.10 → 0.3.11
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/string_master/string_master.rb +4 -4
- data/spec/lib/string_master/string_master_spec.rb +17 -0
- data/string_master.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6eb20322a22a9deea5805d592055c2665125861
|
4
|
+
data.tar.gz: 8155230d47972e417a0493f88f0af7a07bfc9d3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c040bc7898f29bfa65e9a16ec0dd92846e0b772de01a2ac06f12ad3a3c3991c260c32c2f5cadd4341509bca40737631f7ae79d76c70da0e06763300107588e03
|
7
|
+
data.tar.gz: 68222ac8ebc89779e6ed45d4f87eb34e79e359a1d1ce27201d2e4aeeefe387fbcf7385ccd28c24b4c7c4b8ae959ba6e9124cb9e0a9ed1ca940778f66e54bcb36
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.11
|
@@ -51,8 +51,8 @@ class StringMaster
|
|
51
51
|
wrap_with = options[:wrap_with] || ['','']
|
52
52
|
html_options = options[:html_options] || ''
|
53
53
|
@modified_string.gsub!(
|
54
|
-
/(\s|^|\A|\n|\t|\r)(http:\/\/.*?\.(jpg|jpeg|png|gif|JPG|JPEG|PNG|GIF))([,.])?(\s|$|\n|\Z|\t|\r)/,
|
55
|
-
"#{wrap_with[0]}<img src=\"\\2\" alt=\"\" #{html_options}/>\\
|
54
|
+
/(\s|^|\A|\n|\t|\r)((http|https):\/\/.*?\.(jpg|jpeg|png|gif|JPG|JPEG|PNG|GIF))([,.])?(\s|$|\n|\Z|\t|\r)/,
|
55
|
+
"#{wrap_with[0]}<img src=\"\\2\" alt=\"\" #{html_options}/>\\6#{wrap_with[1]}"
|
56
56
|
)
|
57
57
|
self
|
58
58
|
end
|
@@ -64,8 +64,8 @@ class StringMaster
|
|
64
64
|
wrap_with = options[:wrap_with] || ['','']
|
65
65
|
html_options = options[:html_options] || ''
|
66
66
|
@modified_string.gsub!(
|
67
|
-
/(\s|^|\A|\n|\t|\r)(http:\/\/.*?)([,.])?(\s|$|\n|\Z|\t|\r|<)/,
|
68
|
-
'\1<a href="\2" ' + html_options + '>\2</a>\
|
67
|
+
/(\s|^|\A|\n|\t|\r)((http|https):\/\/.*?)([,.])?(\s|$|\n|\Z|\t|\r|<)/,
|
68
|
+
'\1<a href="\2" ' + html_options + '>\2</a>\4\5'
|
69
69
|
)
|
70
70
|
self
|
71
71
|
end
|
@@ -14,12 +14,19 @@ describe StringMaster do
|
|
14
14
|
parser.html_escape(:except => %w(b)).to_s.should == '<i>hello</i> <b>world</b>'
|
15
15
|
parser = StringMaster.new('<a href="http://google.com">hello</a> <b>world</b>')
|
16
16
|
parser.html_escape(:except => %w(a)).to_s.should == '<a href="http://google.com">hello</a> <b>world</b>'
|
17
|
+
parser = StringMaster.new('<a href="https://google.com">hello</a> <b>world</b>')
|
18
|
+
parser.html_escape(:except => %w(a)).to_s.should == '<a href="https://google.com">hello</a> <b>world</b>'
|
17
19
|
end
|
18
20
|
|
19
21
|
it "makes images of urls that end with .jpg and other image extensions" do
|
20
22
|
parser = StringMaster.new('Hello, this is my photo http://image.com/image.jpg, yeah baby')
|
21
23
|
parser.urls_to_images(:wrap_with => ['<p>', '</p>'], :html_options => 'class="ico"').string.should ==
|
22
24
|
'Hello, this is my photo<p><img src="http://image.com/image.jpg" alt="" class="ico"/> </p>yeah baby'
|
25
|
+
|
26
|
+
# use https
|
27
|
+
parser = StringMaster.new('Hello, this is my photo https://image.com/image.jpg, yeah baby')
|
28
|
+
parser.urls_to_images(:wrap_with => ['<p>', '</p>'], :html_options => 'class="ico"').string.should ==
|
29
|
+
'Hello, this is my photo<p><img src="https://image.com/image.jpg" alt="" class="ico"/> </p>yeah baby'
|
23
30
|
end
|
24
31
|
|
25
32
|
it "makes links of urls" do
|
@@ -36,6 +43,10 @@ describe StringMaster do
|
|
36
43
|
# example 3
|
37
44
|
parser = StringMaster.new('http://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png<br>')
|
38
45
|
parser.urls_to_links.string.should == '<a href="http://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png" >http://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png</a><br>'
|
46
|
+
|
47
|
+
# example 4, with https
|
48
|
+
parser = StringMaster.new('https://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png<br>')
|
49
|
+
parser.urls_to_links.string.should == '<a href="https://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png" >https://gyazo.com/a4c16e7a6009f40f29248ad4fed41bd3.png</a><br>'
|
39
50
|
end
|
40
51
|
|
41
52
|
it "wraps code in <code> tags" do
|
@@ -113,6 +124,12 @@ WRAPPED_CODE
|
|
113
124
|
end
|
114
125
|
parser.string.should ==
|
115
126
|
"<img src=\"http://images.com/image.jpg\" alt=\"\" /> <b>Hello <a href=\"http://url.com\" target=\"_blank\">http://url.com</a> </b>"
|
127
|
+
|
128
|
+
parser = StringMaster.new('https://images.com/image.jpg <b>Hello https://url.com </b>') do |p|
|
129
|
+
p.urls_to_images.urls_to_links(:html_options => 'target="_blank"')
|
130
|
+
end
|
131
|
+
parser.string.should ==
|
132
|
+
"<img src=\"https://images.com/image.jpg\" alt=\"\" /> <b>Hello <a href=\"https://url.com\" target=\"_blank\">https://url.com</a> </b>"
|
116
133
|
end
|
117
134
|
|
118
135
|
it "replaces newline characters with <br/> tags" do
|
data/string_master.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: string_master 0.3.
|
5
|
+
# stub: string_master 0.3.11 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "string_master"
|
9
|
-
s.version = "0.3.
|
9
|
+
s.version = "0.3.11"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Roman Snitko"]
|
14
|
-
s.date = "2015-08-
|
14
|
+
s.date = "2015-08-18"
|
15
15
|
s.description = "Because every time I create a new webapp, I think about how I should process user-generated content. Should convert urls to links and images? Should I allow certain tags? Should I convert all new lines to *br* tags? Well, now all that is as simple as calling a single method."
|
16
16
|
s.email = "roman.snitko@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: string_master
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman Snitko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-08-
|
11
|
+
date: 2015-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|