kdonovan-duns-lookup 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,6 +2,17 @@
2
2
 
3
3
  This provides a small wrapper around the Dun & Bradstreet website to retrieve business information from DUNS numbers.
4
4
 
5
+ == Usage
6
+
7
+ require 'rubygems'
8
+ require 'kdonovan-duns-lookup'
9
+
10
+ Duns.lookup_duns( *invalid_number* )
11
+ # => nil
12
+ Duns.lookup_duns( *some_valid_number* )
13
+ # => {:name => *a_name*, :address => *an_address*}
14
+
15
+
5
16
  == Note on Patches/Pull Requests
6
17
 
7
18
  * Fork the project.
@@ -9,8 +20,7 @@ This provides a small wrapper around the Dun & Bradstreet website to retrieve bu
9
20
  * Add tests for it. This is important so I don't break it in a
10
21
  future version unintentionally.
11
22
  * Commit, do not mess with rakefile, version, or history.
12
- (if you want to have your own version, that is fine but
13
- bump version in a commit by itself I can ignore when I pull)
23
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
14
24
  * Send me a pull request. Bonus points for topic branches.
15
25
 
16
26
  == Copyright
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ begin
5
5
  require 'jeweler'
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "duns-lookup"
8
- gem.summary = "DSL for looking up Dun & Bradstreet numbers (DUNS)"
8
+ gem.summary = "Wrapper for looking up Dun & Bradstreet numbers (DUNS)"
9
9
  gem.description = %Q{Provides a small wrapper around the Dun & Bradstreet website to retrieve business information from DUNS numbers.}
10
10
  gem.email = "kali.donovan@gmail.com"
11
11
  gem.homepage = "http://github.com/kdonovan/duns-lookup"
@@ -0,0 +1,57 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{duns-lookup}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Kali Donovan"]
12
+ s.date = %q{2009-08-12}
13
+ s.description = %q{Provides a small wrapper around the Dun & Bradstreet website to retrieve business information from DUNS numbers.}
14
+ s.email = %q{kali.donovan@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "duns-lookup.gemspec",
27
+ "lib/duns-lookup.rb",
28
+ "spec/duns-lookup_spec.rb",
29
+ "spec/spec_helper.rb"
30
+ ]
31
+ s.has_rdoc = true
32
+ s.homepage = %q{http://github.com/kdonovan/duns-lookup}
33
+ s.rdoc_options = ["--charset=UTF-8"]
34
+ s.require_paths = ["lib"]
35
+ s.rubygems_version = %q{1.3.1}
36
+ s.summary = %q{Wrapper for looking up Dun & Bradstreet numbers (DUNS)}
37
+ s.test_files = [
38
+ "spec/duns-lookup_spec.rb",
39
+ "spec/spec_helper.rb"
40
+ ]
41
+
42
+ if s.respond_to? :specification_version then
43
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
44
+ s.specification_version = 2
45
+
46
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
47
+ s.add_development_dependency(%q<rspec>, [">= 0"])
48
+ s.add_development_dependency(%q<mechanize>, [">= 0"])
49
+ else
50
+ s.add_dependency(%q<rspec>, [">= 0"])
51
+ s.add_dependency(%q<mechanize>, [">= 0"])
52
+ end
53
+ else
54
+ s.add_dependency(%q<rspec>, [">= 0"])
55
+ s.add_dependency(%q<mechanize>, [">= 0"])
56
+ end
57
+ end
@@ -1,7 +1,6 @@
1
1
  class DunsError < Exception
2
2
  end
3
3
 
4
- class Duns
5
4
  # = Synopsis
6
5
  # The Duns library provides a small wrapper around the Dun & Bradstreet
7
6
  # website's advanced search functionality. Currently it only implements
@@ -11,11 +10,12 @@ class Duns
11
10
  # require 'rubygems'
12
11
  # require 'kdonovan-duns-lookup'
13
12
  #
14
- # Duns.lookup_duns('123456789')
13
+ # Duns.lookup_duns( *invalid_number* )
15
14
  # # => nil
16
15
  # Duns.lookup_duns( *some_valid_number* )
17
16
  # # => {:name => *a_name*, :address => *an_address*}
18
17
 
18
+ class Duns
19
19
  require 'rubygems'
20
20
  require 'open-uri'
21
21
  require 'mechanize'
@@ -92,7 +92,7 @@ class Duns
92
92
 
93
93
  # Strip out non-numeric characters, and raise error if remaining number is still invalid
94
94
  def self.enforce_duns_formatting(orig_number)
95
- number = orig_number.gsub(/\D/, '')
95
+ number = orig_number.to_s.gsub(/\D/, '')
96
96
  raise(DunsError, "Received invalid DUNS number (must be 9 digits): #{orig_number}") unless number.length == 9
97
97
  return number
98
98
  end
@@ -16,11 +16,11 @@ describe "DunsLookup" do
16
16
  end
17
17
 
18
18
  it "Returns no results where there shouldn't be any" do
19
- Duns.lookup_duns('123456789').should be_nil
19
+ Duns.lookup_duns( fake_duns_number ).should be_nil
20
20
  end
21
21
 
22
22
  it "Should properly extract company name and address when a valid result is found" do
23
- results = Duns.lookup_duns('095444246')
23
+ results = Duns.lookup_duns( real_duns_number )
24
24
  results.should_not be_nil
25
25
  results.should be_a_kind_of Hash
26
26
 
@@ -7,3 +7,13 @@ require 'spec/autorun'
7
7
  Spec::Runner.configure do |config|
8
8
 
9
9
  end
10
+
11
+ # The DUNS number of an existing corporation
12
+ def real_duns_number
13
+ '095444246'
14
+ end
15
+
16
+ # A valid, but non-existant DUNS number
17
+ def fake_duns_number
18
+ '123456789'
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kdonovan-duns-lookup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kali Donovan
@@ -23,7 +23,7 @@ dependencies:
23
23
  version: "0"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: nokogiri
26
+ name: mechanize
27
27
  type: :development
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
@@ -32,7 +32,7 @@ dependencies:
32
32
  - !ruby/object:Gem::Version
33
33
  version: "0"
34
34
  version:
35
- description: Provides a small wrapper around nokogiri processing of the Dun & Bradstreet website to retrieve business information from DUN numbers.
35
+ description: Provides a small wrapper around the Dun & Bradstreet website to retrieve business information from DUNS numbers.
36
36
  email: kali.donovan@gmail.com
37
37
  executables: []
38
38
 
@@ -48,6 +48,7 @@ files:
48
48
  - README.rdoc
49
49
  - Rakefile
50
50
  - VERSION
51
+ - duns-lookup.gemspec
51
52
  - lib/duns-lookup.rb
52
53
  - spec/duns-lookup_spec.rb
53
54
  - spec/spec_helper.rb
@@ -77,7 +78,7 @@ rubyforge_project:
77
78
  rubygems_version: 1.3.5
78
79
  signing_key:
79
80
  specification_version: 2
80
- summary: DSL for looking up Dun & Bradstreet numbers (DUNs)
81
+ summary: Wrapper for looking up Dun & Bradstreet numbers (DUNS)
81
82
  test_files:
82
83
  - spec/duns-lookup_spec.rb
83
84
  - spec/spec_helper.rb