diff options
author | Marco Ceresa <ceresa@gmail.com> | 2009-12-09 11:42:16 +0000 |
---|---|---|
committer | Marco Ceresa <ceresa@gmail.com> | 2009-12-09 11:42:16 +0000 |
commit | 60d8137669d4ff7d64274cd2788c9daaa1741191 (patch) | |
tree | dd5822c6de4808094a917a4b47449d0dadb771a7 | |
parent | 540023c8ce27954a0ddbcf7cd18064ffbecba70b (diff) | |
download | ipaddress-60d8137669d4ff7d64274cd2788c9daaa1741191.tar.gz |
Initial import
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Rakefile | 9 | ||||
-rw-r--r-- | lib/ipaddress.rb | 22 | ||||
-rw-r--r-- | test/ipaddress_test.rb | 5 | ||||
-rw-r--r-- | test/test_helper.rb | 22 |
5 files changed, 55 insertions, 5 deletions
@@ -3,3 +3,5 @@ coverage rdoc pkg +server.rb +ipaddr.html @@ -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 + + |