radiodns 0.0.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/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ pkg/*
4
+ /.rvmrc
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in radiodns.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,18 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ radiodns (0.0.1)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ minitest (2.0.2)
10
+ mocha (0.9.12)
11
+
12
+ PLATFORMS
13
+ ruby
14
+
15
+ DEPENDENCIES
16
+ minitest
17
+ mocha
18
+ radiodns!
data/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # RadioDNS Ruby Library
2
+
3
+ ## Summary
4
+
5
+ This Ruby Gem provides utilities for working with the RadioDNS spec.
6
+
7
+ ## Installation
8
+
9
+ gem install radiodns
10
+
11
+ ## Usage
12
+
13
+ require 'radiodns'
14
+
15
+ cname = RadioDNS::Resolver.resolve(''09580.c586.ce1.fm.radiodns.org')
16
+ puts cname #=> 'rdns.musicradio.com'
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require 'rake/testtask'
2
+ require 'bundler'
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ task :default => [:spec]
6
+
7
+ desc "Run specs"
8
+ Rake::TestTask.new("spec") { |t|
9
+ t.pattern = 'spec/*_spec.rb'
10
+ }
@@ -0,0 +1,3 @@
1
+ module Radiodns
2
+ VERSION = "0.0.1"
3
+ end
data/lib/radiodns.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'resolv'
2
+
3
+ module RadioDNS
4
+ class Resolver
5
+ def self.resolve(fqdn)
6
+ resolver = Resolv::DNS.new
7
+ cname = resolver.getname(fqdn, Resolv::DNS::Resource::IN::CNAME)
8
+ cname.to_s
9
+ end
10
+ end
11
+ end
data/radiodns.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "radiodns/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "radiodns"
7
+ s.version = Radiodns::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Chris Lowis"]
10
+ s.email = ["chris.lowis@gmail.com"]
11
+ s.homepage = ""
12
+ s.summary = %q{Perform RadioDNS resolutions and service lookups}
13
+ s.description = %q{Perform RadioDNS resolutions and service lookups}
14
+
15
+ s.rubyforge_project = "radiodns"
16
+
17
+ s.add_development_dependency "minitest"
18
+ s.add_development_dependency "mocha"
19
+
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
23
+ s.require_paths = ["lib"]
24
+ end
@@ -0,0 +1,20 @@
1
+ gem 'minitest'
2
+ require 'minitest/autorun'
3
+ require 'mocha'
4
+ require 'radiodns'
5
+
6
+ describe "RadioDNS::Resolver" do
7
+ describe "resolve" do
8
+ it "should query radiodns.org" do
9
+ mock_resolver = mock()
10
+ mock_resolver.expects(:getname).
11
+ with('09580.c586.ce1.fm.radiodns.org', Resolv::DNS::Resource::IN::CNAME).once.
12
+ returns('rdns.musicradio.com')
13
+
14
+ Resolv::DNS.expects(:new).returns(mock_resolver)
15
+
16
+ cname = RadioDNS::Resolver.resolve('09580.c586.ce1.fm.radiodns.org')
17
+ assert_equal 'rdns.musicradio.com', cname
18
+ end
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: radiodns
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Chris Lowis
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-03-05 00:00:00 +00:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: minitest
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :development
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: mocha
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :development
37
+ version_requirements: *id002
38
+ description: Perform RadioDNS resolutions and service lookups
39
+ email:
40
+ - chris.lowis@gmail.com
41
+ executables: []
42
+
43
+ extensions: []
44
+
45
+ extra_rdoc_files: []
46
+
47
+ files:
48
+ - .gitignore
49
+ - Gemfile
50
+ - Gemfile.lock
51
+ - README.md
52
+ - Rakefile
53
+ - lib/radiodns.rb
54
+ - lib/radiodns/version.rb
55
+ - radiodns.gemspec
56
+ - spec/radiodns_spec.rb
57
+ has_rdoc: true
58
+ homepage: ""
59
+ licenses: []
60
+
61
+ post_install_message:
62
+ rdoc_options: []
63
+
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: "0"
72
+ required_rubygems_version: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: "0"
78
+ requirements: []
79
+
80
+ rubyforge_project: radiodns
81
+ rubygems_version: 1.6.1
82
+ signing_key:
83
+ specification_version: 3
84
+ summary: Perform RadioDNS resolutions and service lookups
85
+ test_files:
86
+ - spec/radiodns_spec.rb