rails_autolink 1.0.1 → 1.0.2
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/CHANGELOG.rdoc +4 -0
- data/Manifest.txt +1 -2
- data/Rakefile +2 -0
- data/lib/rails_autolink.rb +3 -141
- data/lib/rails_autolink/helpers.rb +150 -0
- data/test/test_rails_autolink.rb +3 -3
- metadata +23 -29
- data/.autotest +0 -8
- data/Gemfile +0 -8
data/CHANGELOG.rdoc
CHANGED
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
@@ -10,6 +10,8 @@ Hoe.plugin :git # `gem install hoe-git`
|
|
10
10
|
|
11
11
|
Hoe.spec 'rails_autolink' do
|
12
12
|
developer('Aaron Patterson', 'aaron@tenderlovemaking.com')
|
13
|
+
developer('Juanjo Bazan', 'jjbazan@gmail.com')
|
14
|
+
developer('Akira Matsuda', 'ronnie@dio.jp')
|
13
15
|
self.readme_file = 'README.rdoc'
|
14
16
|
self.history_file = 'CHANGELOG.rdoc'
|
15
17
|
self.extra_rdoc_files = FileList['*.rdoc']
|
data/lib/rails_autolink.rb
CHANGED
@@ -1,148 +1,10 @@
|
|
1
1
|
module RailsAutolink
|
2
|
-
VERSION = '1.0.
|
2
|
+
VERSION = '1.0.2'
|
3
3
|
|
4
4
|
class Railtie < ::Rails::Railtie
|
5
|
-
initializer '
|
5
|
+
initializer 'rails_autolink' do |app|
|
6
6
|
ActiveSupport.on_load(:action_view) do
|
7
|
-
require '
|
8
|
-
require 'active_support/core_ext/array/extract_options'
|
9
|
-
require 'active_support/core_ext/hash/reverse_merge'
|
10
|
-
require 'active_support/core_ext/hash/keys'
|
11
|
-
|
12
|
-
module ::ActionView
|
13
|
-
module Helpers # :nodoc:
|
14
|
-
module TextHelper
|
15
|
-
# Turns all URLs and e-mail addresses into clickable links. The <tt>:link</tt> option
|
16
|
-
# will limit what should be linked. You can add HTML attributes to the links using
|
17
|
-
# <tt>:html</tt>. Possible values for <tt>:link</tt> are <tt>:all</tt> (default),
|
18
|
-
# <tt>:email_addresses</tt>, and <tt>:urls</tt>. If a block is given, each URL and
|
19
|
-
# e-mail address is yielded and the result is used as the link text. By default the
|
20
|
-
# text given is sanitized, you can override this behaviour setting the
|
21
|
-
# <tt>:sanitize</tt> option to false.
|
22
|
-
#
|
23
|
-
# ==== Examples
|
24
|
-
# auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
|
25
|
-
# # => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
|
26
|
-
# # say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
|
27
|
-
#
|
28
|
-
# auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :urls)
|
29
|
-
# # => "Visit <a href=\"http://www.loudthinking.com/\">http://www.loudthinking.com/</a>
|
30
|
-
# # or e-mail david@loudthinking.com"
|
31
|
-
#
|
32
|
-
# auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :email_addresses)
|
33
|
-
# # => "Visit http://www.loudthinking.com/ or e-mail <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
|
34
|
-
#
|
35
|
-
# post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
|
36
|
-
# auto_link(post_body, :html => { :target => '_blank' }) do |text|
|
37
|
-
# truncate(text, :length => 15)
|
38
|
-
# end
|
39
|
-
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.m...</a>.
|
40
|
-
# Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
|
41
|
-
#
|
42
|
-
#
|
43
|
-
# You can still use <tt>auto_link</tt> with the old API that accepts the
|
44
|
-
# +link+ as its optional second parameter and the +html_options+ hash
|
45
|
-
# as its optional third parameter:
|
46
|
-
# post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
|
47
|
-
# auto_link(post_body, :urls)
|
48
|
-
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\">http://www.myblog.com</a>.
|
49
|
-
# Please e-mail me at me@email.com."
|
50
|
-
#
|
51
|
-
# auto_link(post_body, :all, :target => "_blank")
|
52
|
-
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.myblog.com</a>.
|
53
|
-
# Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
|
54
|
-
def auto_link(text, *args, &block)#link = :all, html = {}, &block)
|
55
|
-
return ''.html_safe if text.blank?
|
56
|
-
|
57
|
-
options = args.size == 2 ? {} : args.extract_options! # this is necessary because the old auto_link API has a Hash as its last parameter
|
58
|
-
unless args.empty?
|
59
|
-
options[:link] = args[0] || :all
|
60
|
-
options[:html] = args[1] || {}
|
61
|
-
end
|
62
|
-
options.reverse_merge!(:link => :all, :html => {})
|
63
|
-
text = sanitize(text) unless options[:sanitize] == false
|
64
|
-
case options[:link].to_sym
|
65
|
-
when :all then auto_link_email_addresses(auto_link_urls(text, options[:html], options, &block), options[:html], &block)
|
66
|
-
when :email_addresses then auto_link_email_addresses(text, options[:html], &block)
|
67
|
-
when :urls then auto_link_urls(text, options[:html], options, &block)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
private
|
72
|
-
|
73
|
-
AUTO_LINK_RE = %r{
|
74
|
-
(?: ([0-9A-Za-z+.:-]+:)// | www\. )
|
75
|
-
[^\s<]+
|
76
|
-
}x
|
77
|
-
|
78
|
-
# regexps for determining context, used high-volume
|
79
|
-
AUTO_LINK_CRE = [/<[^>]+$/, /^[^>]*>/, /<a\b.*?>/i, /<\/a>/i]
|
80
|
-
|
81
|
-
AUTO_EMAIL_RE = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
|
82
|
-
|
83
|
-
BRACKETS = { ']' => '[', ')' => '(', '}' => '{' }
|
84
|
-
|
85
|
-
# Turns all urls into clickable links. If a block is given, each url
|
86
|
-
# is yielded and the result is used as the link text.
|
87
|
-
def auto_link_urls(text, html_options = {}, options = {})
|
88
|
-
link_attributes = html_options.stringify_keys
|
89
|
-
text.gsub(AUTO_LINK_RE) do
|
90
|
-
scheme, href = $1, $&
|
91
|
-
punctuation = []
|
92
|
-
|
93
|
-
if auto_linked?($`, $')
|
94
|
-
# do not change string; URL is already linked
|
95
|
-
href
|
96
|
-
else
|
97
|
-
# don't include trailing punctuation character as part of the URL
|
98
|
-
while href.sub!(/[^\w\/-]$/, '')
|
99
|
-
punctuation.push $&
|
100
|
-
if opening = BRACKETS[punctuation.last] and href.scan(opening).size > href.scan(punctuation.last).size
|
101
|
-
href << punctuation.pop
|
102
|
-
break
|
103
|
-
end
|
104
|
-
end
|
105
|
-
|
106
|
-
link_text = block_given?? yield(href) : href
|
107
|
-
href = 'http://' + href unless scheme
|
108
|
-
|
109
|
-
unless options[:sanitize] == false
|
110
|
-
link_text = sanitize(link_text)
|
111
|
-
href = sanitize(href)
|
112
|
-
end
|
113
|
-
content_tag(:a, link_text, link_attributes.merge('href' => href), !!options[:sanitize]) + punctuation.reverse.join('')
|
114
|
-
end
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
# Turns all email addresses into clickable links. If a block is given,
|
119
|
-
# each email is yielded and the result is used as the link text.
|
120
|
-
def auto_link_email_addresses(text, html_options = {}, options = {})
|
121
|
-
text.gsub(AUTO_EMAIL_RE) do
|
122
|
-
text = $&
|
123
|
-
|
124
|
-
if auto_linked?($`, $')
|
125
|
-
text.html_safe
|
126
|
-
else
|
127
|
-
display_text = (block_given?) ? yield(text) : text
|
128
|
-
|
129
|
-
unless options[:sanitize] == false
|
130
|
-
text = sanitize(text)
|
131
|
-
display_text = sanitize(display_text) unless text == display_text
|
132
|
-
end
|
133
|
-
mail_to text, display_text, html_options
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
# Detects already linked context or position in the middle of a tag
|
139
|
-
def auto_linked?(left, right)
|
140
|
-
(left =~ AUTO_LINK_CRE[0] and right =~ AUTO_LINK_CRE[1]) or
|
141
|
-
(left.rindex(AUTO_LINK_CRE[2]) and $' !~ AUTO_LINK_CRE[3])
|
142
|
-
end
|
143
|
-
end
|
144
|
-
end
|
145
|
-
end
|
7
|
+
require 'rails_autolink/helpers'
|
146
8
|
end
|
147
9
|
end
|
148
10
|
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
module RailsAutolink
|
2
|
+
require 'active_support/core_ext/object/blank'
|
3
|
+
require 'active_support/core_ext/array/extract_options'
|
4
|
+
require 'active_support/core_ext/hash/reverse_merge'
|
5
|
+
require 'active_support/core_ext/hash/keys'
|
6
|
+
|
7
|
+
module ::ActionView
|
8
|
+
module Helpers # :nodoc:
|
9
|
+
module TextHelper
|
10
|
+
# Turns all URLs and e-mail addresses into clickable links. The <tt>:link</tt> option
|
11
|
+
# will limit what should be linked. You can add HTML attributes to the links using
|
12
|
+
# <tt>:html</tt>. Possible values for <tt>:link</tt> are <tt>:all</tt> (default),
|
13
|
+
# <tt>:email_addresses</tt>, and <tt>:urls</tt>. If a block is given, each URL and
|
14
|
+
# e-mail address is yielded and the result is used as the link text. By default the
|
15
|
+
# text given is sanitized, you can override this behaviour setting the
|
16
|
+
# <tt>:sanitize</tt> option to false.
|
17
|
+
#
|
18
|
+
# ==== Examples
|
19
|
+
# auto_link("Go to http://www.rubyonrails.org and say hello to david@loudthinking.com")
|
20
|
+
# # => "Go to <a href=\"http://www.rubyonrails.org\">http://www.rubyonrails.org</a> and
|
21
|
+
# # say hello to <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
|
22
|
+
#
|
23
|
+
# auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :urls)
|
24
|
+
# # => "Visit <a href=\"http://www.loudthinking.com/\">http://www.loudthinking.com/</a>
|
25
|
+
# # or e-mail david@loudthinking.com"
|
26
|
+
#
|
27
|
+
# auto_link("Visit http://www.loudthinking.com/ or e-mail david@loudthinking.com", :link => :email_addresses)
|
28
|
+
# # => "Visit http://www.loudthinking.com/ or e-mail <a href=\"mailto:david@loudthinking.com\">david@loudthinking.com</a>"
|
29
|
+
#
|
30
|
+
# post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
|
31
|
+
# auto_link(post_body, :html => { :target => '_blank' }) do |text|
|
32
|
+
# truncate(text, :length => 15)
|
33
|
+
# end
|
34
|
+
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.m...</a>.
|
35
|
+
# Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
|
36
|
+
#
|
37
|
+
#
|
38
|
+
# You can still use <tt>auto_link</tt> with the old API that accepts the
|
39
|
+
# +link+ as its optional second parameter and the +html_options+ hash
|
40
|
+
# as its optional third parameter:
|
41
|
+
# post_body = "Welcome to my new blog at http://www.myblog.com/. Please e-mail me at me@email.com."
|
42
|
+
# auto_link(post_body, :urls)
|
43
|
+
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\">http://www.myblog.com</a>.
|
44
|
+
# Please e-mail me at me@email.com."
|
45
|
+
#
|
46
|
+
# auto_link(post_body, :all, :target => "_blank")
|
47
|
+
# # => "Welcome to my new blog at <a href=\"http://www.myblog.com/\" target=\"_blank\">http://www.myblog.com</a>.
|
48
|
+
# Please e-mail me at <a href=\"mailto:me@email.com\">me@email.com</a>."
|
49
|
+
def auto_link(text, *args, &block)#link = :all, html = {}, &block)
|
50
|
+
return ''.html_safe if text.blank?
|
51
|
+
|
52
|
+
options = args.size == 2 ? {} : args.extract_options! # this is necessary because the old auto_link API has a Hash as its last parameter
|
53
|
+
unless args.empty?
|
54
|
+
options[:link] = args[0] || :all
|
55
|
+
options[:html] = args[1] || {}
|
56
|
+
end
|
57
|
+
options.reverse_merge!(:link => :all, :html => {})
|
58
|
+
sanitize = (options[:sanitize] != false)
|
59
|
+
text = conditional_sanitize(text, sanitize).to_str
|
60
|
+
case options[:link].to_sym
|
61
|
+
when :all then conditional_html_safe(auto_link_email_addresses(auto_link_urls(text, options[:html], options, &block), options[:html], &block), sanitize)
|
62
|
+
when :email_addresses then conditional_html_safe(auto_link_email_addresses(text, options[:html], &block), sanitize)
|
63
|
+
when :urls then conditional_html_safe(auto_link_urls(text, options[:html], options, &block), sanitize)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
AUTO_LINK_RE = %r{
|
70
|
+
(?: ([0-9A-Za-z+.:-]+:)// | www\. )
|
71
|
+
[^\s<]+
|
72
|
+
}x
|
73
|
+
|
74
|
+
# regexps for determining context, used high-volume
|
75
|
+
AUTO_LINK_CRE = [/<[^>]+$/, /^[^>]*>/, /<a\b.*?>/i, /<\/a>/i]
|
76
|
+
|
77
|
+
AUTO_EMAIL_RE = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
|
78
|
+
|
79
|
+
BRACKETS = { ']' => '[', ')' => '(', '}' => '{' }
|
80
|
+
|
81
|
+
# Turns all urls into clickable links. If a block is given, each url
|
82
|
+
# is yielded and the result is used as the link text.
|
83
|
+
def auto_link_urls(text, html_options = {}, options = {})
|
84
|
+
link_attributes = html_options.stringify_keys
|
85
|
+
text.gsub(AUTO_LINK_RE) do
|
86
|
+
scheme, href = $1, $&
|
87
|
+
punctuation = []
|
88
|
+
|
89
|
+
if auto_linked?($`, $')
|
90
|
+
# do not change string; URL is already linked
|
91
|
+
href
|
92
|
+
else
|
93
|
+
# don't include trailing punctuation character as part of the URL
|
94
|
+
while href.sub!(/[^\w\/-]$/, '')
|
95
|
+
punctuation.push $&
|
96
|
+
if opening = BRACKETS[punctuation.last] and href.scan(opening).size > href.scan(punctuation.last).size
|
97
|
+
href << punctuation.pop
|
98
|
+
break
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
link_text = block_given?? yield(href) : href
|
103
|
+
href = 'http://' + href unless scheme
|
104
|
+
|
105
|
+
unless options[:sanitize] == false
|
106
|
+
link_text = sanitize(link_text)
|
107
|
+
href = sanitize(href)
|
108
|
+
end
|
109
|
+
content_tag(:a, link_text, link_attributes.merge('href' => href), !!options[:sanitize]) + punctuation.reverse.join('')
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
# Turns all email addresses into clickable links. If a block is given,
|
115
|
+
# each email is yielded and the result is used as the link text.
|
116
|
+
def auto_link_email_addresses(text, html_options = {}, options = {})
|
117
|
+
text.gsub(AUTO_EMAIL_RE) do
|
118
|
+
text = $&
|
119
|
+
|
120
|
+
if auto_linked?($`, $')
|
121
|
+
text.html_safe
|
122
|
+
else
|
123
|
+
display_text = (block_given?) ? yield(text) : text
|
124
|
+
|
125
|
+
unless options[:sanitize] == false
|
126
|
+
text = sanitize(text)
|
127
|
+
display_text = sanitize(display_text) unless text == display_text
|
128
|
+
end
|
129
|
+
mail_to text, display_text, html_options
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# Detects already linked context or position in the middle of a tag
|
135
|
+
def auto_linked?(left, right)
|
136
|
+
(left =~ AUTO_LINK_CRE[0] and right =~ AUTO_LINK_CRE[1]) or
|
137
|
+
(left.rindex(AUTO_LINK_CRE[2]) and $' !~ AUTO_LINK_CRE[3])
|
138
|
+
end
|
139
|
+
|
140
|
+
def conditional_sanitize(target, condition)
|
141
|
+
condition ? sanitize(target) : target
|
142
|
+
end
|
143
|
+
|
144
|
+
def conditional_html_safe(target, condition)
|
145
|
+
condition ? target.html_safe : target
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
data/test/test_rails_autolink.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require "minitest/autorun"
|
4
|
-
require "
|
4
|
+
require "rails"
|
5
|
+
require "rails_autolink/helpers"
|
5
6
|
require 'erb'
|
6
7
|
require 'cgi'
|
7
8
|
require 'active_support/core_ext/class/attribute_accessors'
|
8
|
-
require 'active_support'
|
9
9
|
require 'action_pack'
|
10
10
|
require 'action_view/helpers/capture_helper'
|
11
11
|
require 'action_view/helpers/sanitize_helper'
|
@@ -13,7 +13,7 @@ require 'action_view/helpers/url_helper'
|
|
13
13
|
require 'action_view/helpers/tag_helper'
|
14
14
|
require 'active_support/core_ext/module/attribute_accessors'
|
15
15
|
require 'active_support/core_ext/string/encoding'
|
16
|
-
require 'action_dispatch/testing/assertions
|
16
|
+
require 'action_dispatch/testing/assertions'
|
17
17
|
require 'action_view/helpers/text_helper'
|
18
18
|
require 'action_view/helpers/output_safety_helper'
|
19
19
|
|
metadata
CHANGED
@@ -1,21 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_autolink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 21
|
5
4
|
prerelease:
|
6
|
-
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 1.0.1
|
5
|
+
version: 1.0.2
|
11
6
|
platform: ruby
|
12
7
|
authors:
|
13
8
|
- Aaron Patterson
|
9
|
+
- Juanjo Bazan
|
10
|
+
- Akira Matsuda
|
14
11
|
autorequire:
|
15
12
|
bindir: bin
|
16
13
|
cert_chain: []
|
17
14
|
|
18
|
-
date: 2011-
|
15
|
+
date: 2011-06-18 00:00:00 +02:00
|
16
|
+
default_executable:
|
19
17
|
dependencies:
|
20
18
|
- !ruby/object:Gem::Dependency
|
21
19
|
name: rails
|
@@ -25,37 +23,39 @@ dependencies:
|
|
25
23
|
requirements:
|
26
24
|
- - ~>
|
27
25
|
- !ruby/object:Gem::Version
|
28
|
-
hash: 18
|
29
|
-
segments:
|
30
|
-
- 3
|
31
|
-
- 1
|
32
|
-
- 0
|
33
|
-
- a
|
34
26
|
version: 3.1.0.a
|
35
27
|
type: :runtime
|
36
28
|
version_requirements: *id001
|
37
29
|
- !ruby/object:Gem::Dependency
|
38
|
-
name:
|
30
|
+
name: minitest
|
39
31
|
prerelease: false
|
40
32
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
33
|
none: false
|
42
34
|
requirements:
|
43
35
|
- - ">="
|
44
36
|
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 2
|
48
|
-
- 9
|
49
|
-
- 4
|
50
|
-
version: 2.9.4
|
37
|
+
version: 1.6.0
|
51
38
|
type: :development
|
52
39
|
version_requirements: *id002
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: hoe
|
42
|
+
prerelease: false
|
43
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 2.9.4
|
49
|
+
type: :development
|
50
|
+
version_requirements: *id003
|
53
51
|
description: |-
|
54
52
|
This is an extraction of the `auto_link` method from rails. The `auto_link`
|
55
53
|
method was removed from Rails in version Rails 3.1. This gem is meant to
|
56
54
|
bridge the gap for people migrating.
|
57
55
|
email:
|
58
56
|
- aaron@tenderlovemaking.com
|
57
|
+
- jjbazan@gmail.com
|
58
|
+
- ronnie@dio.jp
|
59
59
|
executables: []
|
60
60
|
|
61
61
|
extensions: []
|
@@ -65,15 +65,15 @@ extra_rdoc_files:
|
|
65
65
|
- CHANGELOG.rdoc
|
66
66
|
- README.rdoc
|
67
67
|
files:
|
68
|
-
- .autotest
|
69
68
|
- CHANGELOG.rdoc
|
70
|
-
- Gemfile
|
71
69
|
- Manifest.txt
|
72
70
|
- README.rdoc
|
73
71
|
- Rakefile
|
74
72
|
- lib/rails_autolink.rb
|
73
|
+
- lib/rails_autolink/helpers.rb
|
75
74
|
- test/test_rails_autolink.rb
|
76
75
|
- .gemtest
|
76
|
+
has_rdoc: true
|
77
77
|
homepage: http://github.com/tenderlove/rails_autolink
|
78
78
|
licenses: []
|
79
79
|
|
@@ -88,23 +88,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
88
|
requirements:
|
89
89
|
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
hash: 3
|
92
|
-
segments:
|
93
|
-
- 0
|
94
91
|
version: "0"
|
95
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
93
|
none: false
|
97
94
|
requirements:
|
98
95
|
- - ">="
|
99
96
|
- !ruby/object:Gem::Version
|
100
|
-
hash: 3
|
101
|
-
segments:
|
102
|
-
- 0
|
103
97
|
version: "0"
|
104
98
|
requirements: []
|
105
99
|
|
106
100
|
rubyforge_project: rails_autolink
|
107
|
-
rubygems_version: 1.
|
101
|
+
rubygems_version: 1.6.2
|
108
102
|
signing_key:
|
109
103
|
specification_version: 3
|
110
104
|
summary: This is an extraction of the `auto_link` method from rails
|
data/.autotest
DELETED