gr_autolink 1.0.11 → 1.0.13

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2707768129fe2d6532822ff1ce6abcd9a72a1fd0
4
+ data.tar.gz: 25700284fffe52ac1ab67ac3a4724f5660acfc17
5
+ SHA512:
6
+ metadata.gz: 300627d7b18d355068ff11a3bb0c179c38d4b8a5e6d84d78b41b7e3797a094f844b4ce91ddc1f26c56e03c509282a82468fb8725d0cf2209fa9770872af94613
7
+ data.tar.gz: badb1913f9bdcfae0f1cb183bd0d85c88d36d5738ecc034d119886569ff0f27d0a18e66804402e3200bf14f84601e4a5f336715bbd8db4bc8c605b42d6056162
@@ -0,0 +1,3 @@
1
+ *~
2
+ pkg
3
+
@@ -1,3 +1,12 @@
1
+ === 1.0.13 / 2014-03-26
2
+
3
+ * fix handling of img tags (again)
4
+
5
+ === 1.0.12 / 2014-03-26
6
+
7
+ * merge changes in from rails_autolink
8
+ * fix handling of single-quotes
9
+
1
10
  === 1.0.11 / 2012-04-17
2
11
 
3
12
  * adding ability to truncate the URL as link text to specified length
data/Gemfile CHANGED
@@ -1,7 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
 
3
- gem 'rails'
4
- gem 'arel'
5
- gem 'rack'
6
- gem 'hoe'
7
- gem 'minitest'
3
+ # Specify your gem's dependencies in gr_autolink.gemspec
4
+ gemspec
data/Rakefile CHANGED
@@ -1,22 +1,13 @@
1
- # -*- ruby -*-
1
+ #!/usr/bin/env rake
2
+ # -*- coding: utf-8 -*-
3
+ require "bundler/gem_tasks"
2
4
 
3
- require 'rubygems'
4
- require 'hoe'
5
+ require 'rake/testtask'
5
6
 
6
- Hoe.plugins.delete :rubyforge
7
- Hoe.plugin :minitest
8
- Hoe.plugin :gemspec # `gem install hoe-gemspec`
9
- Hoe.plugin :git # `gem install hoe-git`
10
-
11
- Hoe.spec 'gr_autolink' do
12
- developer('Aaron Patterson', 'aaron@tenderlovemaking.com')
13
- developer('Juanjo Bazan', 'jjbazan@gmail.com')
14
- developer('Akira Matsuda', 'ronnie@dio.jp')
15
- developer('Brian Percival', 'bpercival@goodreads.com')
16
- self.readme_file = 'README.rdoc'
17
- self.history_file = 'CHANGELOG.rdoc'
18
- self.extra_rdoc_files = FileList['*.rdoc']
19
- self.extra_deps << ['rails', '~> 3.1']
7
+ Rake::TestTask.new do |t|
8
+ t.libs << 'lib/gr_autolink'
9
+ t.test_files = FileList['test/test*.rb']
10
+ t.verbose = true
20
11
  end
21
12
 
22
- # vim: syntax=ruby
13
+ task :default => :test
@@ -0,0 +1,41 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "gr_autolink/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "gr_autolink"
8
+ s.version = GrAutolink::VERSION
9
+ s.platform = Gem::Platform::RUBY
10
+ s.authors = ['Aaron Patterson', 'Juanjo Bazan', 'Akira Matsuda', 'Brian Percival', 'Jonathan Schatz']
11
+ s.email = ['aaron@tenderlovemaking.com', 'jjbazan@gmail.com', 'bpercival@goodreads.com', 'jon@divisionbyzero.com']
12
+ s.homepage = "https://github.com/goodreads/gr_autolink"
13
+ s.summary = %{Forked version of rails_autolink with new functionality}
14
+ s.description = <<-EOF
15
+ This is an adaptation of the extraction of the `auto_link` method from rails
16
+ that is the rails_autolink gem. The `auto_link`
17
+ method was removed from Rails in version Rails 3.1. This gem is meant to
18
+ bridge the gap for people migrating...and behaves a little differently from the
19
+ parent gem we forked from:
20
+
21
+ * performs html-escaping of characters such as '&' in strings that are getting
22
+ linkified if the incoming string is not html_safe?
23
+ * retains html-safety of incoming string (if input string is unsafe, will return
24
+ unsafe and vice versa)
25
+ * fixes at least one bug:
26
+ (<img src="http://some.u.rl"> => <img src="<a href="http://some.u.rl">http://some.u.rl</a>">)
27
+ though can't imagine this is intended behavior, also have trouble believing that
28
+ this was an open bug in rails...
29
+ EOF
30
+ s.rubyforge_project = "gr_autolink"
31
+
32
+ s.files = `git ls-files`.split("\n")
33
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
34
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
35
+ s.require_paths = ["lib"]
36
+
37
+ s.add_runtime_dependency "rails", '~> 3.1'
38
+ s.add_development_dependency "arel"
39
+ s.add_development_dependency "rack"
40
+ s.add_development_dependency "minitest"
41
+ end
@@ -1,6 +1,4 @@
1
1
  module GrAutolink
2
- VERSION = '1.0.11'
3
-
4
2
  class Railtie < ::Rails::Railtie
5
3
  initializer 'gr_autolink' do |app|
6
4
  ActiveSupport.on_load(:action_view) do
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  module GrAutolink
2
3
  require 'active_support/core_ext/object/blank'
3
4
  require 'active_support/core_ext/array/extract_options'
@@ -13,7 +14,7 @@ module GrAutolink
13
14
  # <tt>:email_addresses</tt>, and <tt>:urls</tt>. If a block is given, each URL and
14
15
  # e-mail address is yielded and the result is used as the link text. By default the
15
16
  # text given is sanitized, you can override this behaviour setting the
16
- # <tt>:sanitize</tt> option to false, or you can add options to the sanitization of
17
+ # <tt>:sanitize</tt> option to false, or you can add options to the sanitization of
17
18
  # the text using the <tt>:sanitize_options</tt> option hash.
18
19
  # An optional flag <tt>:max_link_length</tt> can be passed to let the function truncate
19
20
  # the url text to the specified amount of characters
@@ -82,16 +83,22 @@ module GrAutolink
82
83
  end
83
84
 
84
85
  private
86
+ WORD_PATTERN = RUBY_VERSION < '1.9' ? '\w' : '\p{Word}'
87
+
88
+ PROTOCOLS = %w{ed2k ftp http https irc mailto news gopher nntp telnet
89
+ webcal xmpp callto feed svn urn aim rsync tag ssh sftp
90
+ rtsp afs file z39.50r chrome}.map{|p| Regexp.escape p}.join('|')
85
91
 
86
92
  AUTO_LINK_RE = %r{
87
- (?: ([0-9A-Za-z+.:-]+:)// | www\. | [a-zA-Z0-9.]+[a-zA-Z0-9]\.[a-zA-Z0-9]{2,}\/)
88
- [^\s<>]+
89
- }x
93
+ (?: ((?:view\-source\:)?(?:#{PROTOCOLS}):)// | www\. | [a-zA-Z0-9.]+[a-zA-Z0-9]\.[a-zA-Z0-9]{2,}\/)
94
+ [^\s<>\u00A0]+
95
+ }ix
90
96
 
91
97
  # regexps for determining context, used high-volume
92
98
  AUTO_LINK_CRE = [/<[^>]+$/, /^[^>]*>/, /<a\b.*?>/i, /<\/a>/i]
93
99
 
94
- AUTO_EMAIL_RE = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
100
+ AUTO_EMAIL_LOCAL_RE = /[\w.!#\$%&'*\/=?^`{|}~+-]/
101
+ AUTO_EMAIL_RE = /[\w.!#\$%+-]\.?#{AUTO_EMAIL_LOCAL_RE}*@[\w-]+(?:\.[\w-]+)+/
95
102
 
96
103
  BRACKETS = { ']' => '[', ')' => '(', '}' => '{' }
97
104
 
@@ -102,13 +109,12 @@ module GrAutolink
102
109
  text.gsub(AUTO_LINK_RE) do
103
110
  scheme, href = $1, $&
104
111
  punctuation = []
105
-
106
112
  if auto_linked?($`, $')
107
113
  # do not change string; URL is already linked
108
114
  href
109
115
  else
110
116
  # don't include trailing punctuation character as part of the URL
111
- while href.sub!(/[^\w\/-]$/, '')
117
+ while href.sub!(/[^#{WORD_PATTERN}\/-]$/, '')
112
118
  punctuation.push $&
113
119
  if opening = BRACKETS[punctuation.last] and href.scan(opening).size > href.scan(punctuation.last).size
114
120
  href << punctuation.pop
@@ -119,9 +125,8 @@ module GrAutolink
119
125
  link_text = if block_given?
120
126
  yield(href)
121
127
  else
122
- text.html_safe? ? href : escape_once(href)
128
+ text.html_safe? ? href : escape(href)
123
129
  end
124
-
125
130
  href = 'http://' + href unless scheme
126
131
 
127
132
  unless options[:sanitize] == false
@@ -130,7 +135,7 @@ module GrAutolink
130
135
  end
131
136
 
132
137
  unless text.html_safe?
133
- href = escape_once(href)
138
+ href = escape(href)
134
139
  end
135
140
 
136
141
  if options[:max_link_length]
@@ -142,6 +147,12 @@ module GrAutolink
142
147
  end
143
148
  end
144
149
 
150
+ def escape(href)
151
+ # escape_once doesn't escape single-quotes but we need to since we're
152
+ # potentially putting content in an attribute tag
153
+ escape_once(href).gsub("'", '&#39;')
154
+ end
155
+
145
156
  # Turns all email addresses into clickable links. If a block is given,
146
157
  # each email is yielded and the result is used as the link text.
147
158
  def auto_link_email_addresses(text, html_options = {}, options = {})
@@ -0,0 +1,3 @@
1
+ module GrAutolink
2
+ VERSION = '1.0.13'
3
+ end
@@ -16,7 +16,7 @@ require 'action_dispatch/testing/assertions'
16
16
  require 'action_view/helpers/text_helper'
17
17
  require 'action_view/helpers/output_safety_helper'
18
18
 
19
- class TestGrAutolink < MiniTest::Unit::TestCase
19
+ class TestGrAutolink < MiniTest::Test
20
20
  include ActionView::Helpers::CaptureHelper
21
21
  include ActionView::Helpers::TextHelper
22
22
  include ActionView::Helpers::SanitizeHelper
@@ -25,12 +25,29 @@ class TestGrAutolink < MiniTest::Unit::TestCase
25
25
  include ActionView::Helpers::OutputSafetyHelper
26
26
  include ActionDispatch::Assertions::DomAssertions
27
27
 
28
+ def assert_dom_equal(expected, actual, message = "")
29
+ expected_dom = HTML::Document.new(expected).root
30
+ actual_dom = HTML::Document.new(actual).root
31
+ assert_equal expected_dom, actual_dom
32
+ end
33
+
34
+ def assert_dom_not_equal(expected, actual, message = "")
35
+ expected_dom = HTML::Document.new(expected).root
36
+ actual_dom = HTML::Document.new(actual).root
37
+ refute_equal expected_dom, actual_dom
38
+ end
39
+
28
40
  def test_auto_link_within_tags
29
41
  link_raw = 'http://www.rubyonrails.org/images/rails.png'
30
42
  link_result = %Q(<img src="#{link_raw}" />)
31
43
  assert_equal link_result, auto_link(link_result)
32
44
  end
33
45
 
46
+ def test_auto_link_with_img_src
47
+ text = 'hello <img src="http://www.google.com/"> kitty'
48
+ assert_equal text, auto_link(text)
49
+ end
50
+
34
51
  def test_auto_link_with_brackets
35
52
  link1_raw = 'http://en.wikipedia.org/wiki/Sprite_(computer_graphics)'
36
53
  link1_result = generate_result(link1_raw)
@@ -87,17 +104,17 @@ class TestGrAutolink < MiniTest::Unit::TestCase
87
104
  assert_equal %{<a href="http://www.rubyonrails.com?id=1&amp;num=2">http://www.rubyonrails.com?id=1&amp;num=2</a>}, auto_link("#{link_raw}#{malicious_script}")
88
105
  assert auto_link("#{link_raw}#{malicious_script}").html_safe?
89
106
  end
90
-
107
+
91
108
  def test_auto_link_should_sanitize_input_with_sanitize_options
92
109
  link_raw = %{http://www.rubyonrails.com?id=1&num=2}
93
110
  malicious_script = '<script>alert("malicious!")</script>'
94
111
  text_with_attributes = %{<a href="http://ruby-lang-org" target="_blank" data-malicious="inject">Ruby</a>}
95
-
112
+
96
113
  text_result = %{<a class="big" href="http://www.rubyonrails.com?id=1&amp;num=2">http://www.rubyonrails.com?id=1&amp;num=2</a><a href="http://ruby-lang-org" target="_blank">Ruby</a>}
97
114
  assert_equal text_result, auto_link("#{link_raw}#{malicious_script}#{text_with_attributes}",
98
115
  :sanitize_options => {:attributes => ["target", "href"]},
99
116
  :html => {:class => 'big'})
100
-
117
+
101
118
  assert auto_link("#{link_raw}#{malicious_script}#{text_with_attributes}",
102
119
  :sanitize_options => {:attributes => ["target", "href"]},
103
120
  :html => {:class => 'big'}).html_safe?
@@ -111,7 +128,7 @@ class TestGrAutolink < MiniTest::Unit::TestCase
111
128
  def test_auto_link_should_not_sanitize_input_when_sanitize_option_is_false
112
129
  link_raw = %{http://www.rubyonrails.com?id=1&num=2}
113
130
  malicious_script = '<script>alert("malicious!")</script>'
114
-
131
+
115
132
  assert_equal %{<a href="http://www.rubyonrails.com?id=1&amp;num=2">http://www.rubyonrails.com?id=1&amp;num=2</a><script>alert("malicious!")</script>}, auto_link("#{link_raw}#{malicious_script}", :sanitize => false)
116
133
  assert !auto_link("#{link_raw}#{malicious_script}", :sanitize => false).html_safe?
117
134
  end
@@ -159,14 +176,14 @@ class TestGrAutolink < MiniTest::Unit::TestCase
159
176
  email_raw = 'santiago@wyeworks.com'
160
177
  link_raw = 'http://www.rubyonrails.org'
161
178
  malicious_script = '<script>alert("malicious!")</script>'
162
-
179
+
163
180
  assert auto_link(nil).html_safe?, 'should be html safe'
164
181
  assert auto_link('').html_safe?, 'should be html safe'
165
182
  assert auto_link("#{link_raw} #{link_raw} #{link_raw}").html_safe?, 'should be html safe'
166
183
  assert auto_link("hello #{email_raw}").html_safe?, 'should be html safe'
167
184
  assert auto_link("hello #{email_raw} #{malicious_script}").html_safe?, 'should be html safe'
168
185
  end
169
-
186
+
170
187
  def test_auto_link_should_not_be_html_safe_when_sanitize_option_false
171
188
  email_raw = 'santiago@wyeworks.com'
172
189
  link_raw = 'http://www.rubyonrails.org'
@@ -176,6 +193,14 @@ class TestGrAutolink < MiniTest::Unit::TestCase
176
193
  assert !auto_link("hello #{email_raw}", :sanitize => false).html_safe?, 'should not be html safe'
177
194
  end
178
195
 
196
+ def test_auto_link_email_addres_with_especial_chars
197
+ email_raw = "and&re$la*+r-a.o'rea=l~ly@tenderlovemaking.com"
198
+ email_sanitized = "and&amp;re$la*+r-a.o&#x27;rea=l~ly@tenderlovemaking.com"
199
+ email_result = %{<a href="mailto:#{email_raw}">#{email_sanitized}</a>}
200
+ assert_equal email_result, auto_link(email_raw)
201
+ assert !auto_link_email_addresses(email_result).html_safe?, 'should not be html safe'
202
+ end
203
+
179
204
  def test_auto_link_email_address
180
205
  email_raw = 'aaron@tenderlovemaking.com'
181
206
  email_result = %{<a href="mailto:#{email_raw}">#{email_raw}</a>}
@@ -207,6 +232,8 @@ class TestGrAutolink < MiniTest::Unit::TestCase
207
232
  email2_raw = '+david@loudthinking.com'
208
233
  email2_result = %{<a href="mailto:#{email2_raw}">#{email2_raw}</a>}
209
234
  assert_equal email2_result, auto_link(email2_raw)
235
+ assert_equal email2_result, auto_link(email2_raw, :all)
236
+ assert_equal email2_result, auto_link(email2_raw, :email_addresses)
210
237
 
211
238
  email3_raw = '+david@loudthinking.com'
212
239
  email3_result = %{<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;+%64%61%76%69%64@%6c%6f%75%64%74%68%69%6e%6b%69%6e%67.%63%6f%6d">#{email3_raw}</a>}
@@ -278,6 +305,14 @@ class TestGrAutolink < MiniTest::Unit::TestCase
278
305
  with_kcode 'u' do
279
306
  assert_equal %(浅草.rbの公式サイトはこちら#{link11_result}), auto_link("浅草.rbの公式サイトはこちら#{link11_raw}")
280
307
  end
308
+
309
+ link12_raw = 'http://tools.ietf.org/html/rfc3986'
310
+ link12_result = generate_result(link12_raw)
311
+ assert_equal %(<p>#{link12_result} text-after-nonbreaking-space</p>), auto_link("<p>#{link12_raw} text-after-nonbreaking-space</p>")
312
+
313
+ link13_raw = 'HTtP://www.rubyonrails.com'
314
+ assert_equal generate_result(link13_raw), auto_link(link13_raw)
315
+
281
316
  end
282
317
 
283
318
  def test_auto_link_parsing
@@ -301,6 +336,7 @@ class TestGrAutolink < MiniTest::Unit::TestCase
301
336
  http://connect.oraclecorp.com/search?search[q]=green+france&search[type]=Group
302
337
  http://of.openfoundry.org/projects/492/download#4th.Release.3
303
338
  http://maps.google.co.uk/maps?f=q&q=the+london+eye&ie=UTF8&ll=51.503373,-0.11939&spn=0.007052,0.012767&z=16&iwloc=A
339
+ http://около.кола/колокола
304
340
  bit.ly/asdf
305
341
  )
306
342
 
@@ -329,7 +365,7 @@ class TestGrAutolink < MiniTest::Unit::TestCase
329
365
  def test_auto_link_retains_non_html_safeness_on_strings_with_urls_to_autolink_sanitize_false
330
366
  assert !auto_link("my link is http://123.abc.org", :sanitize => false).html_safe?
331
367
  end
332
-
368
+
333
369
  def test_auto_link_truncation_option
334
370
  link_text = "http://www.a1234567890.com"
335
371
  input = "my link needs truncation #{link_text} and so forth"
@@ -339,6 +375,19 @@ class TestGrAutolink < MiniTest::Unit::TestCase
339
375
  assert auto_link(input, :max_link_length=>link_text.size+1) == expected_without_truncation
340
376
  end
341
377
 
378
+ def test_auto_link_does_not_timeout_when_parsing_odd_email_input
379
+ inputs = %w(
380
+ foo@...................................
381
+ foo@........................................
382
+ foo@.............................................
383
+ ) << "A" * 100000
384
+ inputs.each do |input|
385
+ Timeout.timeout(0.2) do
386
+ assert_equal input, auto_link(input)
387
+ end
388
+ end
389
+ end
390
+
342
391
  private
343
392
  def generate_result(link_text, href = nil)
344
393
  href ||= link_text
metadata CHANGED
@@ -1,112 +1,134 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gr_autolink
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.11
5
- prerelease:
4
+ version: 1.0.13
6
5
  platform: ruby
7
6
  authors:
8
7
  - Aaron Patterson
9
8
  - Juanjo Bazan
10
9
  - Akira Matsuda
11
10
  - Brian Percival
11
+ - Jonathan Schatz
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-04-18 00:00:00.000000000 Z
15
+ date: 2014-03-28 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: rails
19
- requirement: &2160991140 !ruby/object:Gem::Requirement
20
- none: false
19
+ requirement: !ruby/object:Gem::Requirement
21
20
  requirements:
22
- - - ~>
21
+ - - "~>"
23
22
  - !ruby/object:Gem::Version
24
23
  version: '3.1'
25
24
  type: :runtime
26
25
  prerelease: false
27
- version_requirements: *2160991140
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - "~>"
29
+ - !ruby/object:Gem::Version
30
+ version: '3.1'
28
31
  - !ruby/object:Gem::Dependency
29
- name: rdoc
30
- requirement: &2160990480 !ruby/object:Gem::Requirement
31
- none: false
32
+ name: arel
33
+ requirement: !ruby/object:Gem::Requirement
32
34
  requirements:
33
- - - ~>
35
+ - - ">="
34
36
  - !ruby/object:Gem::Version
35
- version: '3.10'
37
+ version: '0'
36
38
  type: :development
37
39
  prerelease: false
38
- version_requirements: *2160990480
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
39
45
  - !ruby/object:Gem::Dependency
40
- name: hoe
41
- requirement: &2160989780 !ruby/object:Gem::Requirement
42
- none: false
46
+ name: rack
47
+ requirement: !ruby/object:Gem::Requirement
43
48
  requirements:
44
- - - ~>
49
+ - - ">="
45
50
  - !ruby/object:Gem::Version
46
- version: '2.16'
51
+ version: '0'
47
52
  type: :development
48
53
  prerelease: false
49
- version_requirements: *2160989780
50
- description: ! "This is an adaptation of the extraction of the `auto_link` method
51
- from rails\nthat is the rails_autolink gem. The `auto_link`\nmethod was removed
52
- from Rails in version Rails 3.1. This gem is meant to\nbridge the gap for people
53
- migrating...and behaves a little differently from the\nparent gem we forked from:\n\n*
54
- performs html-escaping of characters such as '&' in strings that are getting\n linkified
55
- if the incoming string is not html_safe?\n* retains html-safety of incoming string
56
- (if input string is unsafe, will return\n unsafe and vice versa)\n* fixes at least
57
- one bug:\n (<img src=\"http://some.u.rl\"> => <img src=\"<a href=\"http://some.u.rl\">http://some.u.rl</a>\">)\n
58
- \ though can't imagine this is intended behavior, also have trouble believing that\n
59
- \ this was an open bug in rails..."
54
+ version_requirements: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ - !ruby/object:Gem::Dependency
60
+ name: minitest
61
+ requirement: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ description: |
74
+ This is an adaptation of the extraction of the `auto_link` method from rails
75
+ that is the rails_autolink gem. The `auto_link`
76
+ method was removed from Rails in version Rails 3.1. This gem is meant to
77
+ bridge the gap for people migrating...and behaves a little differently from the
78
+ parent gem we forked from:
79
+
80
+ * performs html-escaping of characters such as '&' in strings that are getting
81
+ linkified if the incoming string is not html_safe?
82
+ * retains html-safety of incoming string (if input string is unsafe, will return
83
+ unsafe and vice versa)
84
+ * fixes at least one bug:
85
+ (<img src="http://some.u.rl"> => <img src="<a href="http://some.u.rl">http://some.u.rl</a>">)
86
+ though can't imagine this is intended behavior, also have trouble believing that
87
+ this was an open bug in rails...
60
88
  email:
61
89
  - aaron@tenderlovemaking.com
62
90
  - jjbazan@gmail.com
63
- - ronnie@dio.jp
64
91
  - bpercival@goodreads.com
92
+ - jon@divisionbyzero.com
65
93
  executables: []
66
94
  extensions: []
67
- extra_rdoc_files:
68
- - CHANGELOG.rdoc
69
- - Manifest.txt
70
- - README.rdoc
71
- - TODO.txt
95
+ extra_rdoc_files: []
72
96
  files:
73
- - .autotest
97
+ - ".autotest"
98
+ - ".gitignore"
74
99
  - CHANGELOG.rdoc
75
100
  - Gemfile
76
101
  - Manifest.txt
77
102
  - README.rdoc
78
103
  - Rakefile
104
+ - TODO.txt
105
+ - gr_autolink.gemspec
79
106
  - lib/gr_autolink.rb
80
107
  - lib/gr_autolink/helpers.rb
108
+ - lib/gr_autolink/version.rb
81
109
  - test/test_gr_autolink.rb
82
- - TODO.txt
83
- - .gemtest
84
- homepage: http://github.com/goodreads/gr_autolink
110
+ homepage: https://github.com/goodreads/gr_autolink
85
111
  licenses: []
112
+ metadata: {}
86
113
  post_install_message:
87
- rdoc_options:
88
- - --main
89
- - README.rdoc
114
+ rdoc_options: []
90
115
  require_paths:
91
116
  - lib
92
117
  required_ruby_version: !ruby/object:Gem::Requirement
93
- none: false
94
118
  requirements:
95
- - - ! '>='
119
+ - - ">="
96
120
  - !ruby/object:Gem::Version
97
121
  version: '0'
98
122
  required_rubygems_version: !ruby/object:Gem::Requirement
99
- none: false
100
123
  requirements:
101
- - - ! '>='
124
+ - - ">="
102
125
  - !ruby/object:Gem::Version
103
126
  version: '0'
104
127
  requirements: []
105
128
  rubyforge_project: gr_autolink
106
- rubygems_version: 1.8.15
129
+ rubygems_version: 2.2.2
107
130
  signing_key:
108
- specification_version: 3
109
- summary: This is an adaptation of the extraction of the `auto_link` method from rails
110
- that is the rails_autolink gem
131
+ specification_version: 4
132
+ summary: Forked version of rails_autolink with new functionality
111
133
  test_files:
112
134
  - test/test_gr_autolink.rb
data/.gemtest DELETED
File without changes