ryodo 0.2.0 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|