demandbase 0.1.0 → 0.1.1
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/CHANGELOG.md +14 -1
- data/Gemfile +3 -2
- data/Gemfile.lock +2 -0
- data/VERSION +1 -1
- data/demandbase.gemspec +4 -1
- data/lib/demandbase.rb +2 -0
- data/lib/demandbase/record.rb +17 -1
- data/test/test_record.rb +18 -0
- metadata +18 -2
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
-
# 0.
|
1
|
+
# 0.1.1
|
2
|
+
|
3
|
+
* Add support for subdomains, email addresses, etc. e.g. the following now work:
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
Demandbase::Record.new "www.github.com",
|
7
|
+
Demandbase::Record.new "developer.github.com/",
|
8
|
+
Demandbase::Record.new "http://www.github.com/",
|
9
|
+
Demandbase::Record.new "https://www.github.com",
|
10
|
+
Demandbase::Record.new "https://www.github.com/leereilly/demandbase",
|
11
|
+
Demandbase::Record.new "lee@github.com"
|
12
|
+
```
|
13
|
+
|
14
|
+
# 0.1.0
|
2
15
|
|
3
16
|
* Initial release.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -19,6 +19,7 @@ GEM
|
|
19
19
|
mocha (0.10.5)
|
20
20
|
metaclass (~> 0.0.1)
|
21
21
|
multi_json (1.6.1)
|
22
|
+
public_suffix (1.2.0)
|
22
23
|
rake (10.0.3)
|
23
24
|
rdoc (3.12.2)
|
24
25
|
json (~> 1.4)
|
@@ -39,6 +40,7 @@ DEPENDENCIES
|
|
39
40
|
bundler (~> 1.2.1)
|
40
41
|
jeweler (~> 1.8.3)
|
41
42
|
json (~> 1.7.7)
|
43
|
+
public_suffix (~> 1.2.0)
|
42
44
|
rdoc (~> 3.12)
|
43
45
|
rest-client (~> 1.6.7)
|
44
46
|
shoulda
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/demandbase.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "demandbase"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Lee Reilly"]
|
@@ -42,6 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
|
43
43
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
44
|
s.add_runtime_dependency(%q<json>, ["~> 1.7.7"])
|
45
|
+
s.add_runtime_dependency(%q<public_suffix>, ["~> 1.2.0"])
|
45
46
|
s.add_runtime_dependency(%q<rest-client>, ["~> 1.6.7"])
|
46
47
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
47
48
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
@@ -49,6 +50,7 @@ Gem::Specification.new do |s|
|
|
49
50
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
50
51
|
else
|
51
52
|
s.add_dependency(%q<json>, ["~> 1.7.7"])
|
53
|
+
s.add_dependency(%q<public_suffix>, ["~> 1.2.0"])
|
52
54
|
s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
|
53
55
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
54
56
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
@@ -57,6 +59,7 @@ Gem::Specification.new do |s|
|
|
57
59
|
end
|
58
60
|
else
|
59
61
|
s.add_dependency(%q<json>, ["~> 1.7.7"])
|
62
|
+
s.add_dependency(%q<public_suffix>, ["~> 1.2.0"])
|
60
63
|
s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
|
61
64
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
62
65
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
data/lib/demandbase.rb
CHANGED
data/lib/demandbase/record.rb
CHANGED
@@ -34,7 +34,8 @@ module Demandbase
|
|
34
34
|
|
35
35
|
# Instantiate a new Demandbase Record from a domain name.
|
36
36
|
def initialize(domain)
|
37
|
-
|
37
|
+
query = cleanse_domain(domain)
|
38
|
+
url = Demandbase::API_URLS[:domain] + "&query=#{query}"
|
38
39
|
|
39
40
|
begin
|
40
41
|
response = JSON.parse(RestClient.get(url))
|
@@ -68,5 +69,20 @@ module Demandbase
|
|
68
69
|
puts "Problem querying the server: #{e.inspect}"
|
69
70
|
end
|
70
71
|
end
|
72
|
+
|
73
|
+
# Clean the domain of things like 'http(s)://', 'www',
|
74
|
+
# '?foo=bar', etc.
|
75
|
+
#
|
76
|
+
# Return the domain string.
|
77
|
+
def cleanse_domain(domain)
|
78
|
+
domain.downcase!
|
79
|
+
domain = domain.sub(/^https?\:\/\//, '').sub(/^www./,'')
|
80
|
+
domain = domain.split("/").first
|
81
|
+
domain = domain.split("@").last
|
82
|
+
|
83
|
+
domain = PublicSuffix.parse(domain)
|
84
|
+
domain = "#{domain.sld}.#{domain.tld}"
|
85
|
+
domain
|
86
|
+
end
|
71
87
|
end
|
72
88
|
end
|
data/test/test_record.rb
CHANGED
@@ -36,4 +36,22 @@ class TestDemandbaseRecord < Test::Unit::TestCase
|
|
36
36
|
assert_equal false, record.fortune_1000 # TODO: fix this test in 2017
|
37
37
|
assert_equal false, record.forbes_2000 # TODO: fix this test in 2016
|
38
38
|
end
|
39
|
+
|
40
|
+
should "initialize a new record with a subdomain" do
|
41
|
+
queries = [
|
42
|
+
"github.com",
|
43
|
+
"www.github.com",
|
44
|
+
"developer.github.com/",
|
45
|
+
"http://www.github.com/",
|
46
|
+
"https://www.github.com",
|
47
|
+
"https://www.github.com/leereilly/demandbase",
|
48
|
+
"lee@github.com"
|
49
|
+
]
|
50
|
+
|
51
|
+
queries.each do |query|
|
52
|
+
record = Demandbase::Record.new(query)
|
53
|
+
assert_equal "github.com", record.web_site, "with #{query}"
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
39
57
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: demandbase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -27,6 +27,22 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 1.7.7
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: public_suffix
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.2.0
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.2.0
|
30
46
|
- !ruby/object:Gem::Dependency
|
31
47
|
name: rest-client
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,7 +159,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
143
159
|
version: '0'
|
144
160
|
segments:
|
145
161
|
- 0
|
146
|
-
hash:
|
162
|
+
hash: 2870129740686966598
|
147
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
164
|
none: false
|
149
165
|
requirements:
|