link_url 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +6 -14
  2. data/lib/link_url.rb +19 -8
  3. metadata +5 -5
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YzBlYzg3NTBmYmZiYzc0NGFiYjZjYjkxYjhlN2M0YTE5YWQyNmI4NA==
5
- data.tar.gz: !binary |-
6
- M2Q5MTk3ZWRmZTNmZWMzODBiMGRkZTliNGViNTZlOWE2ZTRiNzQ2MA==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- MDEzOTkxZDRhMWE5NTIyZDhjMDFjMzJhZDg4NDc3NTI4YjNlMTNhNjJjZDdk
10
- ODI1MmY3ZGU3NDE4MDAzZDU2MDMzYTllZTAzMzU1NWRlMzNmNjNjODU4NmI5
11
- ZTNjYmVjZmViYzliNDVhZTc2OWZjYTQ3N2U4MjhiMzYyNmZiNWE=
12
- data.tar.gz: !binary |-
13
- ZWM5MzZlODRmMjQyMjU0ZWM1MjRjMzg3YmY0ODc3YmMyYzJkZWM3MTVmN2Vh
14
- NWUxZDc0MjA4ZjlkNTRhNjc5OTcyNGU0M2IxNTViYjAyZjE4Y2MxMzFiMmIw
15
- YzkzZjc5MDFlOGZlZjMwNWE1NWI1NjlhODczNTU4MzAwNDMxZjk=
2
+ SHA1:
3
+ metadata.gz: 322ea29ada7ce42ae9ea7ea99c045f7c64cdb239
4
+ data.tar.gz: 48e9e72fee7dd1a223084884809a2efa015e923f
5
+ SHA512:
6
+ metadata.gz: 79022c954579c8ab97355e469126b20ea1ff7b212c34a877466b9f193f29131b213cb662a8271c0d00da0b9fa3c9fc7d396dcb5c8f6ff0701a33b635ee2c81b3
7
+ data.tar.gz: 13e2a75a8cea30295b67762ab09415f5845e0b2d4ebc5537a89225ca6ede74da257ee19b190d565471f3f78e3888880b7e3b14faf84b3b887bc8b5abc07e0e77
data/lib/link_url.rb CHANGED
@@ -16,16 +16,21 @@ class LinkUrl
16
16
  # Convert all url into links.
17
17
  def self.convert(content)
18
18
  if(content)
19
- exp =/\b((?:mailto:\S+|(?:https?|ftp|file):\/\/|www.)[^\s<]+)\b/
20
- content = content.gsub(exp) { |url| "<a href='"+url+"'>"+url+"</a>" }
21
- content = content.gsub("<a href='www.","<a href='http://www.");
19
+ exp =/\b(((?:mailto:\S+|(?:https?|ftp|file):\/\/|www.)[^\s<]+)|[^\s<]+(#{self.tlds.values.join('|\\')}))\b/
20
+ content = content.gsub(exp) do |url|
21
+ if (url=~/http:\/\/|https:\/\/|ftp:\/\/|file:\/\/|www\./)!=0 && url[/(#{self.tlds.values.join('|\\')})$/]
22
+ "<a href='http://#{url}'>#{url}</a>"
23
+ else
24
+ "<a href='#{url}'>#{url}</a>".gsub("<a href='www.","<a href='http://www.");
25
+ end
26
+ end
22
27
  return content
23
28
  end
24
29
  end
25
30
  # Convert Image Url into image tag and other url remain normal.
26
31
  def self.convert_image(content)
27
32
  if(content)
28
- exp =/\b(((?:https?|ftp|file):\/\/|www.)[^\s<]+)\b/
33
+ exp =/\b(((?:mailto:\S+|(?:https?|ftp|file):\/\/|www.)[^\s<]+)|[^\s<]+(#{self.tlds.values.join('|\\')}))\b/
29
34
  content = content.gsub(exp) do |url|
30
35
  if url[/(?:png|jpe?g|gif|svg|bmp)$/]
31
36
  "<img src='#{url}' />"
@@ -38,14 +43,20 @@ class LinkUrl
38
43
  # Convert Image Url into image tag and normal url into link.
39
44
  def self.convert_all(content)
40
45
  if(content)
41
- exp =/\b(((?:https?|ftp|file):\/\/|www.)[^\s<]+)\b/
42
- content = content.gsub(exp) do |url|
46
+ exp =/\b(((?:mailto:\S+|(?:https?|ftp|file):\/\/|www.)[^\s<]+)|[^\s<]+(#{self.tlds.values.join('|\\')}))\b/
47
+ content = content.gsub(exp) do |url|
43
48
  if url[/(?:png|jpe?g|gif|svg|bmp)$/]
44
49
  "<img src='#{url}' />"
50
+ elsif (url=~/http:\/\/|https:\/\/|ftp:\/\/|file:\/\/|www\./)!=0 && url[/(#{self.tlds.values.join('|\\')})$/]
51
+ "<a href='http://#{url}'>#{url}</a>"
45
52
  else
46
- "<a href='#{url}'>#{url}</a>"
53
+ "<a href='#{url}'>#{url}</a>".gsub("<a href='www.","<a href='http://www.");
47
54
  end
48
55
  end
49
56
  end
50
57
  end
51
- end
58
+
59
+ def self.tlds
60
+ {'ad' => '.ad', 'ae' => '.ae', 'af' => '.af', 'ag' => '.ag', 'ai' => '.ai', 'al' => '.al', 'am' => '.am', 'ao' => '.ao', 'aq' => '.aq', 'ar' => '.ar', 'as' => '.as', 'at' => '.at', 'au' => '.au', 'aw' => '.aw', 'ax' => '.ax', 'az' => '.az', 'ba' => '.ba', 'bb' => '.bb', 'bd' => '.bd', 'be' => '.be', 'bf' => '.bf', 'bg' => '.bg', 'bh' => '.bh', 'bi' => '.bi', 'bj' => '.bj', 'bl' => '.bl', 'bm' => '.bm', 'bn' => '.bn', 'bo' => '.bo', 'bq' => '.bq', 'br' => '.br', 'bs' => '.bs', 'bt' => '.bt', 'bv' => '.bv', 'bw' => '.bw', 'by' => '.by', 'bz' => '.bz', 'ca' => '.ca', 'cc' => '.cc', 'cd' => '.cd', 'cf' => '.cf', 'cg' => '.cg', 'ch' => '.ch', 'ci' => '.ci', 'ck' => '.ck', 'cl' => '.cl', 'cm' => '.cm', 'cn' => '.cn', 'co' => '.co', 'cr' => '.cr', 'cu' => '.cu', 'cv' => '.cv', 'cw' => '.cw', 'cx' => '.cx', 'cy' => '.cy', 'cz' => '.cz', 'de' => '.de', 'dj' => '.dj', 'dk' => '.dk', 'dm' => '.dm', 'do' => '.do', 'dz' => '.dz', 'ec' => '.ec', 'ee' => '.ee', 'eg' => '.eg', 'eh' => '.eh', 'er' => '.er', 'es' => '.es', 'et' => '.et', 'fi' => '.fi', 'fj' => '.fj', 'fk' => '.fk', 'fm' => '.fm', 'fo' => '.fo', 'fr' => '.fr', 'ga' => '.ga', 'gb' => '.gb (.uk)', 'gd' => '.gd', 'ge' => '.ge', 'gf' => '.gf', 'gg' => '.gg', 'gh' => '.gh', 'gi' => '.gi', 'gl' => '.gl', 'gm' => '.gm', 'gn' => '.gn', 'gp' => '.gp', 'gq' => '.gq', 'gr' => '.gr', 'gs' => '.gs', 'gt' => '.gt', 'gu' => '.gu', 'gw' => '.gw', 'gy' => '.gy', 'hk' => '.hk', 'hm' => '.hm', 'hn' => '.hn', 'hr' => '.hr', 'ht' => '.ht', 'hu' => '.hu', 'id' => '.id', 'ie' => '.ie', 'il' => '.il', 'im' => '.im', 'in' => '.in', 'io' => '.io', 'iq' => '.iq', 'ir' => '.ir', 'is' => '.is', 'it' => '.it', 'je' => '.je', 'jm' => '.jm', 'jo' => '.jo', 'jp' => '.jp', 'ke' => '.ke', 'kg' => '.kg', 'kh' => '.kh', 'ki' => '.ki', 'km' => '.km', 'kn' => '.kn', 'kp' => '.kp', 'kr' => '.kr', 'kw' => '.kw', 'ky' => '.ky', 'kz' => '.kz', 'la' => '.la', 'lb' => '.lb', 'lc' => '.lc', 'li' => '.li', 'lk' => '.lk', 'lr' => '.lr', 'ls' => '.ls', 'lt' => '.lt', 'lu' => '.lu', 'lv' => '.lv', 'ly' => '.ly', 'ma' => '.ma', 'mc' => '.mc', 'md' => '.md', 'me' => '.me', 'mf' => '.mf', 'mg' => '.mg', 'mh' => '.mh', 'mk' => '.mk', 'ml' => '.ml', 'mm' => '.mm', 'mn' => '.mn', 'mo' => '.mo', 'mp' => '.mp', 'mq' => '.mq', 'mr' => '.mr', 'ms' => '.ms', 'mt' => '.mt', 'mu' => '.mu', 'mv' => '.mv', 'mw' => '.mw', 'mx' => '.mx', 'my' => '.my', 'mz' => '.mz', 'na' => '.na', 'nc' => '.nc', 'ne' => '.ne', 'nf' => '.nf', 'ng' => '.ng', 'ni' => '.ni', 'nl' => '.nl', 'no' => '.no', 'np' => '.np', 'nr' => '.nr', 'nu' => '.nu', 'nz' => '.nz', 'om' => '.om', 'pa' => '.pa', 'pe' => '.pe', 'pf' => '.pf', 'pg' => '.pg', 'ph' => '.ph', 'pk' => '.pk', 'pl' => '.pl', 'pm' => '.pm', 'pn' => '.pn', 'pr' => '.pr', 'ps' => '.ps', 'pt' => '.pt', 'pw' => '.pw', 'py' => '.py', 'qa' => '.qa', 're' => '.re', 'ro' => '.ro', 'rs' => '.rs', 'ru' => '.ru', 'rw' => '.rw', 'sa' => '.sa', 'sb' => '.sb', 'sc' => '.sc', 'sd' => '.sd', 'se' => '.se', 'sg' => '.sg', 'sh' => '.sh', 'si' => '.si', 'sj' => '.sj', 'sk' => '.sk', 'sl' => '.sl', 'sm' => '.sm', 'sn' => '.sn', 'so' => '.so', 'sr' => '.sr', 'ss' => '.ss', 'st' => '.st', 'sv' => '.sv', 'sx' => '.sx', 'sy' => '.sy', 'sz' => '.sz', 'tc' => '.tc', 'td' => '.td', 'tf' => '.tf', 'tg' => '.tg', 'th' => '.th', 'tj' => '.tj', 'tk' => '.tk', 'tl' => '.tl', 'tm' => '.tm', 'tn' => '.tn', 'to' => '.to', 'tr' => '.tr', 'tt' => '.tt', 'tv' => '.tv', 'tw' => '.tw', 'tz' => '.tz', 'ua' => '.ua', 'ug' => '.ug', 'um' => '.um', 'us' => '.us', 'uy' => '.uy', 'uz' => '.uz', 'va' => '.va', 'vc' => '.vc', 've' => '.ve', 'vg' => '.vg', 'vi' => '.vi', 'vn' => '.vn', 'vu' => '.vu', 'wf' => '.wf', 'ws' => '.ws', 'ye' => '.ye', 'yt' => '.yt', 'za' => '.za', 'zm' => '.zm', 'zw' => '.zw','com'=>'.com','org'=>'.org','net'=>'.net','int'=>'.int','edu'=>'.edu','gov'=>'.gov','mil'=>'.mil'}
61
+ end
62
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: link_url
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashish Prajapati
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-01 00:00:00.000000000 Z
11
+ date: 2016-01-13 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Convert any image url into the image tag sepratedly and remain other
14
14
  url normal by using LinkUrl.convert_image("www.clecotech.in http://www.ashishprajapati.com/new.png").
@@ -29,17 +29,17 @@ require_paths:
29
29
  - lib
30
30
  required_ruby_version: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ! '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  required_rubygems_version: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ! '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
41
  rubyforge_project:
42
- rubygems_version: 2.0.4
42
+ rubygems_version: 2.4.8
43
43
  signing_key:
44
44
  specification_version: 4
45
45
  summary: Convert all images into image tag and url into link or as per your choice