summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Ceresa <ceresa@gmail.com>2009-12-09 11:42:16 +0000
committerMarco Ceresa <ceresa@gmail.com>2009-12-09 11:42:16 +0000
commit60d8137669d4ff7d64274cd2788c9daaa1741191 (patch)
treedd5822c6de4808094a917a4b47449d0dadb771a7
parent540023c8ce27954a0ddbcf7cd18064ffbecba70b (diff)
downloadipaddress-60d8137669d4ff7d64274cd2788c9daaa1741191.tar.gz
Initial import
-rw-r--r--.gitignore2
-rw-r--r--Rakefile9
-rw-r--r--lib/ipaddress.rb22
-rw-r--r--test/ipaddress_test.rb5
-rw-r--r--test/test_helper.rb22
5 files changed, 55 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index 00c0b86..e582264 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
coverage
rdoc
pkg
+server.rb
+ipaddr.html
diff --git a/Rakefile b/Rakefile
index 04384eb..d4f44fa 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,5 +1,8 @@
require 'rubygems'
require 'rake'
+require 'rake/clean'
+require 'rcov/rcovtask'
+
begin
require 'jeweler'
@@ -54,3 +57,9 @@ Rake::RDocTask.new do |rdoc|
rdoc.rdoc_files.include('lib/**/*.rb')
end
+desc "Open an irb session preloaded with this library"
+task :console do
+ sh "irb -rubygems -I lib -r ipaddress.rb"
+end
+
+
diff --git a/lib/ipaddress.rb b/lib/ipaddress.rb
index e69de29..a6fe2da 100644
--- a/lib/ipaddress.rb
+++ b/lib/ipaddress.rb
@@ -0,0 +1,22 @@
+$LOAD_PATH.unshift(File.dirname(__FILE__))
+$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
+
+require 'ipaddress/ipbase'
+require 'ipaddress/ipv4'
+
+
+def IPAddress(str)
+ if str.include? "-"
+ IPAddress::Range.new(str)
+ else
+ begin
+ IPAddress::IPv4.new(str)
+ rescue ArgumentError
+ IPAddress::IPv6.new(str)
+ end
+ end
+end
+
+
+
+
diff --git a/test/ipaddress_test.rb b/test/ipaddress_test.rb
index f95b9d9..faca8c7 100644
--- a/test/ipaddress_test.rb
+++ b/test/ipaddress_test.rb
@@ -1,7 +1,2 @@
require 'test_helper'
-class IpaddressTest < Test::Unit::TestCase
- def test_something_for_real
- flunk "hey buddy, you should probably rename this file and start testing for real"
- end
-end
diff --git a/test/test_helper.rb b/test/test_helper.rb
index 0611483..8f478e1 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -7,3 +7,25 @@ require 'ipaddress'
class Test::Unit::TestCase
end
+
+module Test::Unit
+
+ class TestCase
+
+ def self.must(name, &block)
+ test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
+ defined = instance_method(test_name) rescue false
+ raise "#{test_name} is already defined in #{self}" if defined
+ if block_given?
+ define_method(test_name, &block)
+ else
+ define_method(test_name) do
+ flunk "No implementation provided for #{name}"
+ end
+ end
+ end
+
+ end
+end
+
+