demandbase 0.1.3 → 0.1.4
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/VERSION +1 -1
- data/demandbase.gemspec +1 -1
- data/lib/demandbase.rb +39 -1
- data/test/helper.rb +2 -2
- data/test/test_demandbase.rb +21 -0
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/demandbase.gemspec
CHANGED
data/lib/demandbase.rb
CHANGED
@@ -6,7 +6,28 @@ require 'demandbase/error'
|
|
6
6
|
require 'demandbase/record'
|
7
7
|
|
8
8
|
module Demandbase
|
9
|
-
|
9
|
+
|
10
|
+
# Standard Industrial Classification (SIC) codes for organizations providing
|
11
|
+
# elementary, secondary, tertiary, or quaternary education.
|
12
|
+
#
|
13
|
+
# See https://github.com/leereilly/csi/blob/master/lib/data/master.toml for
|
14
|
+
# a complete list.
|
15
|
+
ACADEMIC_SIC_CODES = [
|
16
|
+
"82", # educational services
|
17
|
+
"821", # elementary and secondary schools
|
18
|
+
"8211", # elementary and secondary schools
|
19
|
+
"822", # colleges, universities, professional schools and junior colleges
|
20
|
+
"8221", # colleges, universities, and professional schools
|
21
|
+
"8222", # junior colleges and technical institutes
|
22
|
+
"824", # vocational schools
|
23
|
+
"8243", # data processing schools
|
24
|
+
"8244", # business and secretarila schools
|
25
|
+
"8249", # vocational schools, not elsewhere classified
|
26
|
+
"829", # schools and educational services, not elsewhere classified
|
27
|
+
"8299" # schools and educational services, not elsewhere classified
|
28
|
+
]
|
29
|
+
|
30
|
+
class << self
|
10
31
|
|
11
32
|
# Look up a Demandbase record for a given domain name.
|
12
33
|
#
|
@@ -19,5 +40,22 @@ module Demandbase
|
|
19
40
|
def lookup(domain)
|
20
41
|
Demandbase::Record.new(domain)
|
21
42
|
end
|
43
|
+
|
44
|
+
# Find out if a particular domain is associated with an academic institution.
|
45
|
+
#
|
46
|
+
# Returns true if it looks like an academic organization; false otherwise.
|
47
|
+
#
|
48
|
+
# Raises a Demandbase::RTIDNotSetError if a RTID key is not set.
|
49
|
+
# Raises a Demandbase::ParseError if the domain doesn't look legit.
|
50
|
+
# Raises a Demandbase::ServerError if the Demandbase server is unresponsive.
|
51
|
+
#
|
52
|
+
def is_academic?(domain)
|
53
|
+
record = Demandbase::Record.new(domain)
|
54
|
+
if record && ACADEMIC_SIC_CODES.include?(record.primary_sic)
|
55
|
+
return true
|
56
|
+
else
|
57
|
+
return false
|
58
|
+
end
|
59
|
+
end
|
22
60
|
end
|
23
61
|
end
|
data/test/helper.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'bundler'
|
3
|
-
|
3
|
+
|
4
4
|
begin
|
5
5
|
Bundler.setup(:default, :development)
|
6
6
|
rescue Bundler::BundlerError => e
|
@@ -10,7 +10,7 @@ rescue Bundler::BundlerError => e
|
|
10
10
|
end
|
11
11
|
require 'test/unit'
|
12
12
|
require 'shoulda'
|
13
|
-
|
13
|
+
require 'mocha/setup'
|
14
14
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
15
15
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
16
16
|
require 'demandbase'
|
data/test/test_demandbase.rb
CHANGED
@@ -41,4 +41,25 @@ class TestDemandbase < Test::Unit::TestCase
|
|
41
41
|
|
42
42
|
end
|
43
43
|
|
44
|
+
should "know a school" do
|
45
|
+
schools = [
|
46
|
+
'strath.ac.uk',
|
47
|
+
'stanford.edu',
|
48
|
+
'walnutcreeksd.org'
|
49
|
+
]
|
50
|
+
|
51
|
+
not_schools = [
|
52
|
+
'lanl.gov',
|
53
|
+
'microsoft.com'
|
54
|
+
]
|
55
|
+
|
56
|
+
schools.each do |school|
|
57
|
+
assert_equal true, Demandbase::is_academic?(school)
|
58
|
+
end
|
59
|
+
|
60
|
+
not_schools.each do |school|
|
61
|
+
assert_equal false, Demandbase::is_academic?(school)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
44
65
|
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.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -176,7 +176,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
176
|
version: '0'
|
177
177
|
segments:
|
178
178
|
- 0
|
179
|
-
hash:
|
179
|
+
hash: 1716298398897801857
|
180
180
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
181
|
none: false
|
182
182
|
requirements:
|