ryodo 0.2.0 → 0.2.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/README.md +36 -0
- data/Rakefile +0 -5
- data/VERSION +1 -1
- data/lib/ryodo.rb +1 -1
- data/lib/ryodo/convenience.rb +4 -0
- data/lib/ryodo/convenience/utf8.rb +28 -0
- data/lib/ryodo/domain.rb +1 -0
- data/lib/ryodo/methods.rb +2 -1
- data/ryodo.gemspec +2 -2
- metadata +3 -3
- data/lib/ryodo/convenience/.u.rb +0 -19
data/README.md
CHANGED
@@ -21,6 +21,7 @@ dom = Ryodo.parse("my.awesome.domain.co.jp")
|
|
21
21
|
# SUBDOMAIN DOMAIN TLD
|
22
22
|
dom.tld #=> "co.jp" - returns only the public suffix
|
23
23
|
dom.domain #=> "domain.co.jp" - returns only registered/registrable domain
|
24
|
+
dom.sld #=> "domain" - returns only registered/registrable domain name w/o TLD
|
24
25
|
dom.subdomain #=> "my.awesome" - returns only subdomain parts
|
25
26
|
dom #=> "my.awesome.domain.co.jp" - returns full domain string
|
26
27
|
dom.fqdn #=> "my.awesome.domain.co.jp." - full domain + trailing dot
|
@@ -32,6 +33,7 @@ dom.fqdn.reverse #=> ".jp.co.domain.awesome.my"
|
|
32
33
|
|
33
34
|
dom.to_a #=> ["my","awesome","domain","co","jp"]
|
34
35
|
dom.domain.to_a #=> ["domain","co","jp"]
|
36
|
+
dom.sld.to_a #=> ["domain"]
|
35
37
|
dom.subdomain.to_a #=> ["my","awesome"]
|
36
38
|
dom.fqdn.to_a #=> ["my","awesome","domain","co","jp",""]
|
37
39
|
|
@@ -50,6 +52,22 @@ Ryodo["my.awesome.domain.co.jp"]
|
|
50
52
|
ryodo("my.awesome.domain.co.jp")
|
51
53
|
```
|
52
54
|
|
55
|
+
|
56
|
+
### Quick check (.valid_domain?)
|
57
|
+
|
58
|
+
```ruby
|
59
|
+
Ryodo.domain_valid?("my.awesome.domain.co.jp") #=> true
|
60
|
+
Ryodo.domain_valid?("co.jp") #=> false
|
61
|
+
|
62
|
+
# aliases
|
63
|
+
Ryodo.domain_valid?("my.awesome.domain.co.jp")
|
64
|
+
Ryodo.valid?("my.awesome.domain.co.jp")
|
65
|
+
Ryodo?("my.awesome.domain.co.jp")
|
66
|
+
ryodo?("my.awesome.domain.co.jp")
|
67
|
+
valid_domain?("my.awesome.domain.co.jp")
|
68
|
+
```
|
69
|
+
|
70
|
+
|
53
71
|
### String extension
|
54
72
|
|
55
73
|
```ruby
|
@@ -57,6 +75,9 @@ require "ryodo/ext/string"
|
|
57
75
|
|
58
76
|
"my.awesome.domain.co.jp".to_domain
|
59
77
|
"my.awesome.domain.co.jp".ryodo
|
78
|
+
|
79
|
+
# validation
|
80
|
+
"my.awesome.domain.co.jp".valid_domain?
|
60
81
|
```
|
61
82
|
|
62
83
|
In Gemfile:
|
@@ -65,17 +86,27 @@ In Gemfile:
|
|
65
86
|
gem "ryodo", :require => ["ryodo", "ryodo/ext/string"]
|
66
87
|
```
|
67
88
|
|
89
|
+
|
68
90
|
### UTF-8 junkie?
|
69
91
|
|
70
92
|
```ruby
|
71
93
|
# encoding: utf-8
|
94
|
+
require "ryodo/convenience/utf8"
|
95
|
+
|
72
96
|
ryōdo("my.awesome.domain.co.jp")
|
73
97
|
領土("my.awesome.domain.co.jp")
|
74
98
|
りょうど("my.awesome.domain.co.jp")
|
99
|
+
|
100
|
+
ryōdo?("my.awesome.domain.co.jp")
|
101
|
+
領土?("my.awesome.domain.co.jp")
|
102
|
+
りょうどか("my.awesome.domain.co.jp")
|
75
103
|
```
|
76
104
|
|
105
|
+
|
77
106
|
### Extension of URI
|
78
107
|
|
108
|
+
Ryodo can transparently hook into URI, so you can use every described method on `.host`.
|
109
|
+
|
79
110
|
```ruby
|
80
111
|
require "ryodo/ext/uri"
|
81
112
|
|
@@ -89,6 +120,11 @@ uri.host.class
|
|
89
120
|
|
90
121
|
uri.host.domain
|
91
122
|
#=> "domain.com"
|
123
|
+
|
124
|
+
# awesome quick check before doing further stuff with URI
|
125
|
+
# because why you would do a request to an URI with obviously invalid domain?
|
126
|
+
uri.host.is_valid?
|
127
|
+
#=> true
|
92
128
|
```
|
93
129
|
|
94
130
|
In Gemfile:
|
data/Rakefile
CHANGED
@@ -37,11 +37,6 @@ task :pry do
|
|
37
37
|
sh "pry -I lib -r ryodo --no-pager"
|
38
38
|
end
|
39
39
|
|
40
|
-
desc "Starts PRY with gem loaded (RYODO_NO_U)"
|
41
|
-
task :pryu do
|
42
|
-
sh "pry -I lib --no-pager -e 'RYODO_NO_U=true;require \"ryodo\"'"
|
43
|
-
end
|
44
|
-
|
45
40
|
desc "Run all specs"
|
46
41
|
task RSpec::Core::RakeTask.new(:spec) do |t|
|
47
42
|
t.pattern = 'spec/**/*_spec.rb'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
data/lib/ryodo.rb
CHANGED
data/lib/ryodo/convenience.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Ryodo
|
4
|
+
module Convenience
|
5
|
+
module UTF8
|
6
|
+
|
7
|
+
alias_method :ryodo, :Ryodo
|
8
|
+
|
9
|
+
alias_method :ryodo?, :Ryodo?
|
10
|
+
alias_method :valid_domain?, :Ryodo?
|
11
|
+
|
12
|
+
# Unicode junkie? ;o)
|
13
|
+
alias_method :"ryōdo", :Ryodo
|
14
|
+
alias_method :"ryōdo?", :Ryodo?
|
15
|
+
|
16
|
+
alias_method :"領土", :Ryodo
|
17
|
+
alias_method :"りょうど", :Ryodo
|
18
|
+
|
19
|
+
alias_method :"領土?", :Ryodo?
|
20
|
+
alias_method :"りょうどか", :Ryodo?
|
21
|
+
alias_method :"りょうどか。", :Ryodo?
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
include Ryodo::Convenience::UTF8
|
data/lib/ryodo/domain.rb
CHANGED
data/lib/ryodo/methods.rb
CHANGED
@@ -9,9 +9,10 @@ module Ryodo
|
|
9
9
|
alias_method :[], :parse
|
10
10
|
|
11
11
|
def domain_valid? domain_string
|
12
|
-
self.parse(domain_string).
|
12
|
+
self.parse(domain_string).valid?
|
13
13
|
end
|
14
14
|
alias_method :valid_domain?, :domain_valid?
|
15
|
+
alias_method :valid?, :domain_valid?
|
15
16
|
|
16
17
|
end
|
17
18
|
end
|
data/ryodo.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ryodo"
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Christoph Grabo"]
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
"data/suffix.dat",
|
34
34
|
"lib/ryodo.rb",
|
35
35
|
"lib/ryodo/convenience.rb",
|
36
|
-
"lib/ryodo/convenience
|
36
|
+
"lib/ryodo/convenience/utf8.rb",
|
37
37
|
"lib/ryodo/domain.rb",
|
38
38
|
"lib/ryodo/ext/string.rb",
|
39
39
|
"lib/ryodo/ext/uri.rb",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ryodo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -148,7 +148,7 @@ files:
|
|
148
148
|
- data/suffix.dat
|
149
149
|
- lib/ryodo.rb
|
150
150
|
- lib/ryodo/convenience.rb
|
151
|
-
- lib/ryodo/convenience
|
151
|
+
- lib/ryodo/convenience/utf8.rb
|
152
152
|
- lib/ryodo/domain.rb
|
153
153
|
- lib/ryodo/ext/string.rb
|
154
154
|
- lib/ryodo/ext/uri.rb
|
@@ -179,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
segments:
|
181
181
|
- 0
|
182
|
-
hash: -
|
182
|
+
hash: -174586125708232789
|
183
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|
data/lib/ryodo/convenience/.u.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Ryodo
|
4
|
-
module Convenience
|
5
|
-
module U
|
6
|
-
|
7
|
-
alias_method :ryodo, :Ryodo
|
8
|
-
|
9
|
-
# Unicode junkie? ;o)
|
10
|
-
alias_method :"ryōdo", :Ryodo
|
11
|
-
alias_method :"領土", :Ryodo
|
12
|
-
alias_method :"りょうど", :Ryodo
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
include Ryodo::Convenience::U
|