linkhum-url 0.1.8 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: cec615cf257a77a0b7ed71f4e74f1b4002f3d697
4
- data.tar.gz: 27d62d7d172ad1d1cb52e85374354d2e72c403d8
2
+ SHA256:
3
+ metadata.gz: d6324284e6c306b239d80658b6fa602833778007caf40c6ae013240d7277bcca
4
+ data.tar.gz: 47cfbfaaf18be46fba5b6e446579d5d4e4845327c7e45fe7b02fd056845f8194
5
5
  SHA512:
6
- metadata.gz: 0c09b139f99966d937e43b0cd27537461b8c421dc15587be5c015c53a86d6ad59c71d08862683cdf32304ad6b981a585e18f62aac5c825416ce6324636b2dab8
7
- data.tar.gz: a5024c7a8633382e45b01443e383c3f400d64e976c56321636b617627463037c1323829fa21a307e0aa52ce5d19da0814833f540bfefdde7e9fc4873d6699882
6
+ metadata.gz: 1e6369755c0069317dc4cd5b500d9595dc127a555fdc7a9afa022c8c8260d1269fd4dfd321e178ea4654d2961ba1154491cbb6a2d077516473e01536a82eb2a5
7
+ data.tar.gz: c0ee495ba01e8fb958532fe72a9d625bcf20106980e344d9df3fc8b0c172515accc056b6c6c510bca3123e47f58cc2d6f191e97c884608b29bdb0eaf178dbc4a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ 0.2.0:
2
+
3
+ * migrate to idn2_wrap gem, which uses libidn2;
4
+
5
+ 0.1.9:
6
+
7
+ * support Ruby 3.0;
8
+
1
9
  0.1.8:
2
10
 
3
11
  * handle invalid UTF-8 in percent-encoded paths;
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2016-2017 Alexey Makhotkin
3
+ Copyright (c) 2016-2019 Alexey Makhotkin
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -10,13 +10,11 @@ scenes `addressable` gem is used to handle actual URL parsing.
10
10
  This is a sister gem to
11
11
  [`linkhum`](https://github.com/zverok/linkhum).
12
12
 
13
- [![Build Status](https://travis-ci.org/squadette/linkhum-url.svg?branch=master)](https://travis-ci.org/squadette/linkhum-url)
14
-
15
13
  ## Usage
16
14
 
17
15
  `linkhum-url` has only one method: `Linkhum::URL.parse(url)`. It
18
16
  accepts URL in any representation (usually provided by user) and
19
- returns `Hash` with two keys: `:human_readable` and `:url_encoded`.
17
+ returns a `Hash` with two keys: `:human_readable` and `:url_encoded`.
20
18
  Human-readable representation should be displayed to the user, while
21
19
  URL-encoded representation should be used for HTTP queries, HTML
22
20
  embedding etc.
@@ -33,8 +31,9 @@ embedding etc.
33
31
 
34
32
  ## Install
35
33
 
36
- $ sudo apt-get install idn # Debian/Ubuntu
37
- $ brew install libidn # Mac OS X
34
+ $ sudo apt-get install libidn2-dev # Ubuntu
35
+ $ sudo apt-get install idn2 # Older Debian/Ubuntu
36
+ $ brew install libidn2 # macOS
38
37
 
39
38
  $ gem install linkhum-url
40
39
 
@@ -42,4 +41,4 @@ embedding etc.
42
41
 
43
42
  `linkhum-url` released under MIT License.
44
43
 
45
- Copyright (C) Alexey Makhotkin, 2016-2017.
44
+ Copyright (C) Alexey Makhotkin, 2016-2025.
data/lib/linkhum/url.rb CHANGED
@@ -1,9 +1,7 @@
1
1
  module Linkhum
2
2
  class URL
3
3
  require 'addressable'
4
- require 'idn'
5
-
6
- include IDN
4
+ require "idn2_wrap"
7
5
 
8
6
  def self.parse(url)
9
7
  au = Addressable::URI.parse(url)
@@ -11,7 +9,7 @@ module Linkhum
11
9
  url_encoded = { scheme: au.scheme, userinfo: au.userinfo }
12
10
 
13
11
  if au.host =~ /\bxn--/
14
- human_readable[:host] = Idna.toUnicode(au.host)
12
+ human_readable[:host] = Idn2Wrap.to_unicode(au.host)
15
13
  else
16
14
  human_readable[:host] = au.host
17
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linkhum-url
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexey Makhotkin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-22 00:00:00.000000000 Z
11
+ date: 2025-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: idn-ruby
28
+ name: idn2_wrap
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: travis
70
+ name: json
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.8'
75
+ version: 2.6.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.8'
82
+ version: 2.6.0
83
83
  description: 'Input URL could be either human-readable, or URL-encoded. Two URLs
84
84
  are returned as result: human-readable and URL-encoded.'
85
85
  email: squadette@gmail.com
@@ -102,17 +102,16 @@ require_paths:
102
102
  - lib
103
103
  required_ruby_version: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - "~>"
105
+ - - ">="
106
106
  - !ruby/object:Gem::Version
107
- version: '2.0'
107
+ version: '2.00'
108
108
  required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0'
113
113
  requirements: []
114
- rubyforge_project:
115
- rubygems_version: 2.6.14
114
+ rubygems_version: 3.0.3.1
116
115
  signing_key:
117
116
  specification_version: 4
118
117
  summary: Linkhum-URL creates both URL-encoded and readable versions of URLs