ryodo 0.1.0.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -48,12 +48,23 @@ Ryodo.parse("my.awesome.domain.co.jp")
48
48
  Ryodo("my.awesome.domain.co.jp")
49
49
  Ryodo["my.awesome.domain.co.jp"]
50
50
  ryodo("my.awesome.domain.co.jp")
51
+ ```
52
+
53
+ ### String extension
54
+
55
+ ```ruby
56
+ require "ryodo/ext/string"
51
57
 
52
- # String extension
53
58
  "my.awesome.domain.co.jp".to_domain
54
59
  "my.awesome.domain.co.jp".ryodo
55
60
  ```
56
61
 
62
+ In Gemfile:
63
+
64
+ ```ruby
65
+ gem "ryodo", :require => ["ryodo", "ryodo/ext/string"]
66
+ ```
67
+
57
68
  ### UTF-8 junkie?
58
69
 
59
70
  ```ruby
@@ -83,7 +94,7 @@ uri.host.domain
83
94
  In Gemfile:
84
95
 
85
96
  ```ruby
86
- gem "ryodo", :require => ["ryodo","ryodo/ext/uri"]
97
+ gem "ryodo", :require => ["ryodo", "ryodo/ext/uri"]
87
98
  ```
88
99
 
89
100
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0.1
1
+ 0.2.0
data/lib/ryodo.rb CHANGED
@@ -19,7 +19,7 @@ require "ryodo/rule_set"
19
19
  require "ryodo/suffix_list"
20
20
 
21
21
  require "ryodo/methods"
22
- require "ryodo/ext/string"
22
+ #require "ryodo/ext/string"
23
23
  #require "ryodo/ext/uri"
24
24
 
25
25
  # Convenient shorthands
data/lib/ryodo/domain.rb CHANGED
@@ -38,8 +38,9 @@ module Ryodo
38
38
 
39
39
  parts = Ryodo::Parser.run(@domain_string)
40
40
 
41
- @suffix = no_leading_dot && parts ? parts[0].reverse.join(".") : nil
41
+ @suffix = no_leading_dot && parts ? parts[0].reverse.join(".") : nil
42
42
  @domain = no_leading_dot && parts && !parts[1].empty? ? (parts[0] + parts[1]).reverse.join(".") : nil
43
+ @secondary = no_leading_dot && parts && !parts[1].empty? ? parts[1].first : nil
43
44
  @subdomain = no_leading_dot && parts && !parts[2].empty? ? (parts[2]).reverse.join(".") : nil
44
45
  end
45
46
 
@@ -54,6 +55,12 @@ module Ryodo
54
55
  alias_method :registered_domain, :domain
55
56
  alias_method :regdomain, :domain
56
57
 
58
+ def second_level
59
+ DomainString.new @secondary if @secondary
60
+ end
61
+ alias_method :sld, :second_level
62
+ alias_method :registered_name, :second_level
63
+
57
64
  def subdomain
58
65
  DomainString.new @subdomain if @subdomain
59
66
  end
@@ -62,6 +69,10 @@ module Ryodo
62
69
  DomainString.new "#{to_s}."
63
70
  end
64
71
 
72
+ def is_valid?
73
+ !!@suffix && !!@secondary
74
+ end
75
+
65
76
  def to_s
66
77
  @domain_string
67
78
  end
@@ -6,4 +6,8 @@ class String
6
6
  alias_method :ryodo, :to_domain
7
7
  alias_method :to_ryodo, :to_domain
8
8
 
9
+ def valid_domain?
10
+ Ryodo.domain_valid?(self)
11
+ end
12
+
9
13
  end
data/lib/ryodo/methods.rb CHANGED
@@ -8,5 +8,10 @@ module Ryodo
8
8
  end
9
9
  alias_method :[], :parse
10
10
 
11
+ def domain_valid? domain_string
12
+ self.parse(domain_string).is_valid?
13
+ end
14
+ alias_method :valid_domain?, :domain_valid?
15
+
11
16
  end
12
17
  end
data/ryodo.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ryodo"
8
- s.version = "0.1.0.1"
8
+ s.version = "0.2.0"
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"]
12
- s.date = "2012-06-04"
12
+ s.date = "2012-06-08"
13
13
  s.description = "ry\u{14d}do\u{3010}\u{9818}\u{571f}\u{3011} \u{308a}\u{3087}\u{3046}\u{3069} \u{2014} A domain name parser gem using public suffix list (provided by publicsuffix.org/mozilla)"
14
14
  s.email = "chris@dinarrr.com"
15
15
  s.extra_rdoc_files = [
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.1.0.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-04 00:00:00.000000000 Z
12
+ date: 2012-06-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -179,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
179
179
  version: '0'
180
180
  segments:
181
181
  - 0
182
- hash: 792757497793123901
182
+ hash: -3115775854791943199
183
183
  required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  none: false
185
185
  requirements: