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 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.0
1
+ 0.2.2
data/lib/ryodo.rb CHANGED
@@ -26,5 +26,5 @@ require "ryodo/methods"
26
26
  module Ryodo
27
27
  extend Ryodo::Methods
28
28
  require "ryodo/convenience"
29
- require "ryodo/convenience/.u" unless Kernel.const_defined?("RYODO_NO_U") || ENV['RYODO_NO_U']
30
29
  end
30
+ #require "ryodo/convenience/utf8"
@@ -7,6 +7,10 @@ module Ryodo
7
7
  Ryodo.parse(domain_string)
8
8
  end
9
9
 
10
+ def Ryodo?(domain_string)
11
+ Ryodo.valid?(domain_string)
12
+ end
13
+
10
14
  end
11
15
  end
12
16
 
@@ -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
@@ -72,6 +72,7 @@ module Ryodo
72
72
  def is_valid?
73
73
  !!@suffix && !!@secondary
74
74
  end
75
+ alias_method :valid?, :is_valid?
75
76
 
76
77
  def to_s
77
78
  @domain_string
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).is_valid?
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.0"
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/.u.rb",
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.0
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/.u.rb
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: -3115775854791943199
182
+ hash: -174586125708232789
183
183
  required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  none: false
185
185
  requirements:
@@ -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