hamradio 0.2.1 → 0.3.0

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/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - jruby
5
+
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
1
  source "http://rubygems.org"
2
+ gem 'faraday'
3
+ gem 'nestful'
2
4
 
3
5
  group :development do
4
6
  gem "log_buddy"
@@ -7,8 +9,3 @@ group :development do
7
9
  gem "jeweler", "~> 1.6.4"
8
10
  gem "rcov", ">= 0"
9
11
  end
10
-
11
- group :test do
12
- gem 'autotest-fsevent'
13
- gem 'autotest-growl'
14
- end
data/Gemfile.lock CHANGED
@@ -1,28 +1,36 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- autotest-fsevent (0.2.5)
5
- sys-uname
6
- autotest-growl (0.2.9)
4
+ activesupport (3.1.1.rc1)
5
+ multi_json (~> 1.0)
6
+ addressable (2.2.6)
7
+ faraday (0.7.4)
8
+ addressable (~> 2.2.6)
9
+ multipart-post (~> 1.1.0)
10
+ rack (>= 1.1.0, < 2)
7
11
  git (1.2.5)
8
12
  jeweler (1.6.4)
9
13
  bundler (~> 1.0)
10
14
  git (>= 1.2.5)
11
15
  rake
12
16
  log_buddy (0.6.0)
17
+ multi_json (1.0.3)
18
+ multipart-post (1.1.3)
19
+ nestful (0.0.7)
20
+ activesupport (>= 3.0.0.beta)
21
+ rack (1.3.2)
13
22
  rake (0.9.2)
14
23
  rcov (0.9.10)
15
24
  shoulda (2.11.3)
16
- sys-uname (0.8.6)
17
25
 
18
26
  PLATFORMS
19
27
  ruby
20
28
 
21
29
  DEPENDENCIES
22
- autotest-fsevent
23
- autotest-growl
24
30
  bundler (~> 1.0.0)
31
+ faraday
25
32
  jeweler (~> 1.6.4)
26
33
  log_buddy
34
+ nestful
27
35
  rcov
28
36
  shoulda
data/README.rdoc CHANGED
@@ -1,11 +1,18 @@
1
1
  = hamradio
2
2
 
3
+ {<img src="http://travis-ci.org/gmcintire/hamradio.png" />}[http://travis-ci.org/gmcintire/hamradio]
4
+
3
5
  A small collection of Amateur (Ham) radio tools put together by Graham McIntire W5ISP.
4
6
 
5
- == Current usage
6
- * To encode a gridsquare
7
+ == Usage
8
+ * To encode a gridsquare from decimal latitude/longitude
9
+ h = HamRadio.new
10
+ grid = h.grid_encode([33.113675,-96.487856])
11
+ * Callsign lookup (using callbytxt.org)
7
12
  h = HamRadio.new
8
- h.grid_encode([33.113675,-96.487856])
13
+ call = h.lookup_callsign 'w5isp'
14
+ Will return a hash such as :
15
+ {"callsign"=>"W5ISP", "city"=>"BLUE RIDGE", "country"=>nil, "created_at"=>"2011-06-19T23:19:47Z", "dob"=>nil, "effective"=>"2011-04-30", "expiration"=>"2021-04-30", "first_name"=>"GRAHAM D", "gridsquare"=>"\u0004\f13\u0012\u0005", "id"=>585745, "last_name"=>"MCINTIRE", "lat"=>"33.245919", "license_class"=>"G", "long"=>"-96.426614", "precision"=>"address", "previous_call"=>"", "previous_class"=>nil, "state"=>"TX", "street"=>"11411 CR 571", "updated_at"=>"2011-06-23T20:41:47Z", "zip"=>"75424"}
9
16
 
10
17
  == Contributing to hamradio
11
18
 
data/Rakefile CHANGED
@@ -20,7 +20,7 @@ Jeweler::Tasks.new do |gem|
20
20
  gem.summary = %Q{A collection of useful Amateur (Ham) Radio utilities by W5ISP.}
21
21
  gem.description = %Q{Includes grid square decoding/encoding & call sign lookup.}
22
22
  gem.email = "gmcintire@gmail.com"
23
- gem.authors = ["Graham McIntire"]
23
+ gem.authors = ["Graham McIntire W5ISP"]
24
24
  # dependencies defined in Gemfile
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
@@ -42,12 +42,12 @@ end
42
42
 
43
43
  task :default => :test
44
44
 
45
- require 'rdoc/task'
46
- RDoc::Task.new do |rdoc|
47
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
-
49
- rdoc.rdoc_dir = 'rdoc'
50
- rdoc.title = "hamradio #{version}"
51
- rdoc.rdoc_files.include('README*')
52
- rdoc.rdoc_files.include('lib/**/*.rb')
53
- end
45
+ #require 'rdoc/task'
46
+ #RDoc::Task.new do |rdoc|
47
+ # version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+ #
49
+ # rdoc.rdoc_dir = 'rdoc'
50
+ # rdoc.title = "hamradio #{version}"
51
+ # rdoc.rdoc_files.include('README*')
52
+ # rdoc.rdoc_files.include('lib/**/*.rb')
53
+ #end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
data/hamradio.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "hamradio"
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Graham McIntire"]
12
- s.date = "2011-09-12"
11
+ s.authors = ["Graham McIntire W5ISP"]
12
+ s.date = "2011-09-22"
13
13
  s.description = "Includes grid square decoding/encoding & call sign lookup."
14
14
  s.email = "gmcintire@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".travis.yml",
21
22
  "Gemfile",
22
23
  "Gemfile.lock",
23
24
  "LICENSE.txt",
@@ -39,12 +40,16 @@ Gem::Specification.new do |s|
39
40
  s.specification_version = 3
40
41
 
41
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_runtime_dependency(%q<faraday>, [">= 0"])
44
+ s.add_runtime_dependency(%q<nestful>, [">= 0"])
42
45
  s.add_development_dependency(%q<log_buddy>, [">= 0"])
43
46
  s.add_development_dependency(%q<shoulda>, [">= 0"])
44
47
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
45
48
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
46
49
  s.add_development_dependency(%q<rcov>, [">= 0"])
47
50
  else
51
+ s.add_dependency(%q<faraday>, [">= 0"])
52
+ s.add_dependency(%q<nestful>, [">= 0"])
48
53
  s.add_dependency(%q<log_buddy>, [">= 0"])
49
54
  s.add_dependency(%q<shoulda>, [">= 0"])
50
55
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -52,6 +57,8 @@ Gem::Specification.new do |s|
52
57
  s.add_dependency(%q<rcov>, [">= 0"])
53
58
  end
54
59
  else
60
+ s.add_dependency(%q<faraday>, [">= 0"])
61
+ s.add_dependency(%q<nestful>, [">= 0"])
55
62
  s.add_dependency(%q<log_buddy>, [">= 0"])
56
63
  s.add_dependency(%q<shoulda>, [">= 0"])
57
64
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
data/lib/hamradio.rb CHANGED
@@ -36,4 +36,15 @@ class HamRadio
36
36
 
37
37
  end
38
38
 
39
- end
39
+ def valid_gridsquare(grid)
40
+ (grid =~ /[a-z][a-z]\d\d/i) != nil
41
+ end
42
+
43
+ def lookup_callsign(call)
44
+ require 'nestful'
45
+
46
+ c = Nestful.get 'http://callbytxt.org/db/'+call+'.json', :format => :json #=> {:json_hash => 1}
47
+ c['calls']
48
+ end
49
+
50
+ end
metadata CHANGED
@@ -1,19 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamradio
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
- - Graham McIntire
8
+ - Graham McIntire W5ISP
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-12 00:00:00.000000000Z
12
+ date: 2011-09-22 00:00:00.000000000Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: &70226839495800 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70226839495800
25
+ - !ruby/object:Gem::Dependency
26
+ name: nestful
27
+ requirement: &70226839495080 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: *70226839495080
14
36
  - !ruby/object:Gem::Dependency
15
37
  name: log_buddy
16
- requirement: &70202685796340 !ruby/object:Gem::Requirement
38
+ requirement: &70226839494360 !ruby/object:Gem::Requirement
17
39
  none: false
18
40
  requirements:
19
41
  - - ! '>='
@@ -21,10 +43,10 @@ dependencies:
21
43
  version: '0'
22
44
  type: :development
23
45
  prerelease: false
24
- version_requirements: *70202685796340
46
+ version_requirements: *70226839494360
25
47
  - !ruby/object:Gem::Dependency
26
48
  name: shoulda
27
- requirement: &70202685795320 !ruby/object:Gem::Requirement
49
+ requirement: &70226839493760 !ruby/object:Gem::Requirement
28
50
  none: false
29
51
  requirements:
30
52
  - - ! '>='
@@ -32,10 +54,10 @@ dependencies:
32
54
  version: '0'
33
55
  type: :development
34
56
  prerelease: false
35
- version_requirements: *70202685795320
57
+ version_requirements: *70226839493760
36
58
  - !ruby/object:Gem::Dependency
37
59
  name: bundler
38
- requirement: &70202685794620 !ruby/object:Gem::Requirement
60
+ requirement: &70226839493080 !ruby/object:Gem::Requirement
39
61
  none: false
40
62
  requirements:
41
63
  - - ~>
@@ -43,10 +65,10 @@ dependencies:
43
65
  version: 1.0.0
44
66
  type: :development
45
67
  prerelease: false
46
- version_requirements: *70202685794620
68
+ version_requirements: *70226839493080
47
69
  - !ruby/object:Gem::Dependency
48
70
  name: jeweler
49
- requirement: &70202685793800 !ruby/object:Gem::Requirement
71
+ requirement: &70226839492380 !ruby/object:Gem::Requirement
50
72
  none: false
51
73
  requirements:
52
74
  - - ~>
@@ -54,10 +76,10 @@ dependencies:
54
76
  version: 1.6.4
55
77
  type: :development
56
78
  prerelease: false
57
- version_requirements: *70202685793800
79
+ version_requirements: *70226839492380
58
80
  - !ruby/object:Gem::Dependency
59
81
  name: rcov
60
- requirement: &70202685792940 !ruby/object:Gem::Requirement
82
+ requirement: &70226839491580 !ruby/object:Gem::Requirement
61
83
  none: false
62
84
  requirements:
63
85
  - - ! '>='
@@ -65,7 +87,7 @@ dependencies:
65
87
  version: '0'
66
88
  type: :development
67
89
  prerelease: false
68
- version_requirements: *70202685792940
90
+ version_requirements: *70226839491580
69
91
  description: Includes grid square decoding/encoding & call sign lookup.
70
92
  email: gmcintire@gmail.com
71
93
  executables: []
@@ -75,6 +97,7 @@ extra_rdoc_files:
75
97
  - README.rdoc
76
98
  files:
77
99
  - .document
100
+ - .travis.yml
78
101
  - Gemfile
79
102
  - Gemfile.lock
80
103
  - LICENSE.txt
@@ -100,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
123
  version: '0'
101
124
  segments:
102
125
  - 0
103
- hash: 365327304267282150
126
+ hash: 943163124751310864
104
127
  required_rubygems_version: !ruby/object:Gem::Requirement
105
128
  none: false
106
129
  requirements: