link_url 0.0.5 → 0.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.
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