census_api 1.0.3 → 1.0.4

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/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 TODO: Write your name
1
+ Copyright (c) 2014 Ty Rauber
2
2
 
3
3
  MIT License
4
4
 
data/census_api.gemspec CHANGED
@@ -7,6 +7,7 @@ Gem::Specification.new do |gem|
7
7
  gem.name = "census_api"
8
8
  gem.version = CensusApi::VERSION
9
9
  gem.authors = ["Ty Rauber"]
10
+ gem.license = 'MIT'
10
11
  gem.email = ["tyrauber@mac.com"]
11
12
  gem.description = %q{A Ruby Gem for querying the US Census Bureau API}
12
13
  gem.summary = %q{A Ruby Wrapper for the US Census Bureau API, providing the ability to query both the 2010 Census and 2006-2010 ACS5 datasets.}
@@ -1,12 +1,10 @@
1
1
  module CensusApi
2
2
  class Client
3
+ require 'rest-client'
3
4
 
4
- require "yaml"
5
-
6
5
  attr_reader :api_key, :options
7
6
  attr_accessor :dataset
8
7
 
9
- SUMMARY_LEVELS = {}
10
8
  DATASETS = %w( sf1 acs5 ) # can add more datasets as support becomes available
11
9
 
12
10
  def initialize(api_key, options = {})
@@ -24,19 +22,11 @@ module CensusApi
24
22
  if options[:dataset]
25
23
  @dataset = options[:dataset].downcase if DATASETS.include? options[:dataset].downcase
26
24
  end
27
-
28
- set_summary_levels
29
25
  end
30
26
 
31
27
  def find(fields, level, *within)
32
28
  raise "Client has not been assigned a dataset to query. Try @client.dataset = 'SF1' or anything from #{DATASETS}" if self.dataset.nil?
33
29
  Request.find(dataset, {key: @api_key, fields: fields, level: level, within: within})
34
30
  end
35
-
36
- def set_summary_levels
37
- if SUMMARY_LEVELS.empty?
38
- YAML.load_file(File.dirname(__FILE__).to_s + '/../yml/census_shapes.yml').each{ |k,v| SUMMARY_LEVELS[k] = v }
39
- end
40
- end
41
31
  end
42
32
  end
@@ -4,9 +4,12 @@ module CensusApi
4
4
  require 'restclient'
5
5
  require 'hpricot'
6
6
  require 'json'
7
+ require "yaml"
7
8
 
8
9
  attr_accessor :response
9
10
 
11
+ @@census_shapes
12
+
10
13
  CENSUS_URL = "http://api.census.gov/data/2010"
11
14
 
12
15
  def initialize(url, source, options)
@@ -49,13 +52,21 @@ module CensusApi
49
52
  else
50
53
  s = [s,"*"]
51
54
  end
52
- shp = CensusApi::Client::SUMMARY_LEVELS[s[0].upcase]
55
+ shp = shapes[s[0].upcase]
53
56
  s.shift && s.unshift(shp['name'].downcase.gsub(" ", "+")) if !shp.nil?
54
57
  s.unshift(s.shift.split("/")[0]) if !s[0].scan("home+land").empty? && truncate
55
58
  s.join(":")
56
59
  }
57
60
  return result.join("+")
61
+ end
62
+
63
+ def self.shapes
64
+ return @@census_shapes if defined?( @@census_shapes)
65
+ @@census_shapes = {}
66
+ YAML.load_file(File.dirname(__FILE__).to_s + '/../yml/census_shapes.yml').each{|k,v| @@census_shapes[k] = v}
67
+ return @@census_shapes
58
68
  end
69
+
59
70
  end
60
71
  end
61
72
 
@@ -1,3 +1,3 @@
1
1
  module CensusApi
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
data/lib/census_api.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'rubygems'
2
-
3
- Dir["./lib/census_api/*"].each { |file| require file }
1
+ require 'census_api/client'
2
+ require 'census_api/request'
3
+ require 'census_api/version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: census_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-14 00:00:00.000000000 Z
12
+ date: 2014-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -115,7 +115,8 @@ files:
115
115
  - spec/spec_helper.rb
116
116
  - spec/vcr_setup.rb
117
117
  homepage: https://github.com/tyrauber/census_api.git
118
- licenses: []
118
+ licenses:
119
+ - MIT
119
120
  post_install_message:
120
121
  rdoc_options: []
121
122
  require_paths:
@@ -145,3 +146,4 @@ test_files:
145
146
  - spec/census_api/request_spec.rb
146
147
  - spec/spec_helper.rb
147
148
  - spec/vcr_setup.rb
149
+ has_rdoc: