schoolfinder 0.2.1 → 0.3.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,24 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## PROJECT::GENERAL
17
+ coverage
18
+ rdoc
19
+ pkg
20
+
21
+ ## PROJECT::SPECIFIC
22
+ Gemfile.lock
23
+ *.gem
24
+ spec/schoolfinder_api_key.yml
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
data/README.rdoc CHANGED
@@ -24,6 +24,17 @@ Create a new instance of the Schoolfinder Client
24
24
 
25
25
  @schoolfinder = Schoolfinder::Client.new('your_api_key')
26
26
 
27
+ You can also pass an optional http timeout setting that httparty will pass to net/http
28
+
29
+ @schoolfinder = Schoolfinder::Client.new('your_api_key', 5)
30
+
31
+ This would make the response trigger a Timeout::Error on the request.
32
+ The client then rescues that request and passes a fake response that will trigger a Schoolfinder::Error with the code 0 and message "a timeout occured".
33
+ This is because Schoolfinder currently does not have a error code 0 (only 1-7, see here: http://www.education.com/webservice/documentation/?section=schoolsearch)
34
+ So this would raise a:
35
+
36
+ #<Schoolfinder::Error: Schoolfinder Error: a timeout occured (code: 0)>
37
+
27
38
  The following methods are available to the Schoolfinder::Client class, each method corresponds to an api call
28
39
  Each method returns a Schoolfinder::Response which responds to a call to :body
29
40
 
data/Rakefile CHANGED
@@ -1,41 +1,10 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
3
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "schoolfinder"
8
- gem.summary = %Q{api wrapper for the education.com schoolfinder}
9
- gem.description = %Q{api wrapper for the education.com schoolfinder}
10
- gem.email = "tom.cocca@gmail.com"
11
- gem.homepage = "http://github.com/tcocca/schoolfinder"
12
- gem.authors = ["tcocca"]
13
- gem.add_dependency "httparty", ">= 0.6.1"
14
- gem.add_dependency "hashie", ">= 0.3.1"
15
- gem.add_dependency "rash", ">= 0.3.1"
16
- gem.add_development_dependency "rspec", ">= 1.2.9"
17
- gem.add_development_dependency "webmock", ">= 1.3.4"
18
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
- end
20
- Jeweler::GemcutterTasks.new
21
- rescue LoadError
22
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
23
- end
24
-
25
- require 'spec/rake/spectask'
26
- Spec::Rake::SpecTask.new(:spec) do |spec|
27
- spec.libs << 'lib' << 'spec'
28
- spec.spec_files = FileList['spec/**/*_spec.rb']
29
- end
30
-
31
- Spec::Rake::SpecTask.new(:rcov) do |spec|
32
- spec.libs << 'lib' << 'spec'
33
- spec.pattern = 'spec/**/*_spec.rb'
34
- spec.rcov = true
35
- end
36
-
37
- task :spec => :check_dependencies
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new(:spec)
38
6
 
7
+ task :test => :spec
39
8
  task :default => :spec
40
9
 
41
10
  require 'rake/rdoctask'
@@ -43,7 +12,7 @@ Rake::RDocTask.new do |rdoc|
43
12
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
44
13
 
45
14
  rdoc.rdoc_dir = 'rdoc'
46
- rdoc.title = "schoolfinder #{version}"
15
+ rdoc.title = "you_got_listed #{version}"
47
16
  rdoc.rdoc_files.include('README*')
48
17
  rdoc.rdoc_files.include('lib/**/*.rb')
49
18
  end
data/lib/schoolfinder.rb CHANGED
@@ -2,6 +2,7 @@ require 'rubygems'
2
2
  require 'httparty'
3
3
  require 'hashie'
4
4
  require 'rash'
5
+ require 'active_support/core_ext/object/blank'
5
6
 
6
7
  require 'schoolfinder/client'
7
8
  require 'schoolfinder/response'
@@ -1,73 +1,85 @@
1
1
  module Schoolfinder
2
2
  class Client
3
-
3
+
4
4
  include HTTParty
5
5
  base_uri 'api.education.com'
6
6
  format :json
7
-
8
- def initialize(api_key)
7
+
8
+ attr_accessor :http_timeout
9
+
10
+ def initialize(api_key, http_timeout = nil)
9
11
  self.class.default_params :key => api_key
10
12
  self.class.default_params :sn => 'sf'
11
13
  self.class.default_params :resf => 'json'
12
14
  self.class.default_params :v => '3'
15
+ self.http_timeout = http_timeout
13
16
  end
14
-
17
+
15
18
  def school_search(optional_params = {})
16
19
  params = {:f => 'schoolSearch'}
17
20
  make_request(params, optional_params)
18
21
  end
19
-
22
+
20
23
  def test_rating(options)
21
24
  params = {:f => 'getTestRating'}
22
25
  make_request(params, options)
23
26
  end
24
-
27
+
25
28
  def student_diversity(options)
26
29
  params = {:f => 'getStudentDiversity'}
27
30
  make_request(params, options)
28
31
  end
29
-
32
+
30
33
  def test_scores(options)
31
34
  params = {:f => 'getTestScores'}
32
35
  make_request(params, options)
33
36
  end
34
-
37
+
35
38
  def teacher_stats(options)
36
39
  params = {:f => 'getTeacherStats'}
37
40
  make_request(params, options)
38
41
  end
39
-
42
+
40
43
  def student_stats(options)
41
44
  params = {:f => 'getStudentStats'}
42
45
  make_request(params, options)
43
46
  end
44
-
47
+
45
48
  def reviews(options)
46
49
  params = {:f => 'getReviews'}
47
50
  make_request(params, options)
48
51
  end
49
-
52
+
50
53
  def number_of(city, state)
51
54
  params = {:f => 'numberOf', :city => city, :state => state}
52
55
  make_request(params)
53
56
  end
54
-
57
+
55
58
  def district_search(options)
56
59
  params = {:f => 'districtSearch'}
57
60
  make_request(params, options)
58
61
  end
59
-
62
+
60
63
  def branding_data(optional_params = {})
61
64
  params = {:f => 'gbd'}
62
65
  make_request(params, optional_params)
63
66
  end
64
-
67
+
65
68
  private
66
-
69
+
67
70
  def make_request(params, options = {})
68
71
  params.merge!(options) unless options.blank?
69
- Schoolfinder::Response.new(self.class.get('/service/service.php', :query => params))
72
+ http_params = {}
73
+ unless params.empty?
74
+ http_params[:query] = params
75
+ end
76
+ unless self.http_timeout.nil?
77
+ http_params[:timeout] = self.http_timeout
78
+ end
79
+ Schoolfinder::Response.new(self.class.get('/service/service.php', http_params))
80
+ rescue Timeout::Error
81
+ Schoolfinder::Response.new({"faultCode" => 0, "faultString" => "a timeout occured", "faultType" => "error"})
70
82
  end
71
-
83
+
72
84
  end
73
85
  end
@@ -1,17 +1,17 @@
1
1
  module Schoolfinder
2
2
  class Error < Exception
3
-
3
+
4
4
  attr_reader :code, :error
5
-
5
+
6
6
  def initialize(code, error)
7
7
  @code = code
8
8
  @error = error
9
9
  super(message)
10
10
  end
11
-
11
+
12
12
  def message
13
13
  "Schoolfinder Error: #{@error} (code: #{@code})"
14
14
  end
15
-
15
+
16
16
  end
17
17
  end
@@ -1,17 +1,17 @@
1
1
  module Schoolfinder
2
2
  class Response
3
-
3
+
4
4
  attr_accessor :body
5
-
5
+
6
6
  def initialize(response)
7
7
  rash_response(response)
8
8
  if self.body.respond_to?('fault_string')
9
9
  raise Schoolfinder::Error.new(self.body.fault_code, self.body.fault_string)
10
10
  end
11
11
  end
12
-
12
+
13
13
  private
14
-
14
+
15
15
  def rash_response(response)
16
16
  if response.is_a?(Array)
17
17
  self.body = []
@@ -28,6 +28,6 @@ module Schoolfinder
28
28
  self.body = response
29
29
  end
30
30
  end
31
-
31
+
32
32
  end
33
33
  end
@@ -0,0 +1,3 @@
1
+ module Schoolfinder
2
+ VERSION = '0.3.1'
3
+ end
data/schoolfinder.gemspec CHANGED
@@ -1,81 +1,30 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "schoolfinder/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
6
  s.name = %q{schoolfinder}
8
- s.version = "0.2.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["tcocca"]
7
+ s.authors = ["Tom Cocca"]
12
8
  s.date = %q{2011-10-16}
13
- s.description = %q{api wrapper for the education.com schoolfinder}
9
+ s.description = %q{Ruby API wrapper for education.com schoolfinder built with httparty}
14
10
  s.email = %q{tom.cocca@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "LICENSE",
22
- "README.rdoc",
23
- "Rakefile",
24
- "VERSION",
25
- "lib/schoolfinder.rb",
26
- "lib/schoolfinder/client.rb",
27
- "lib/schoolfinder/error.rb",
28
- "lib/schoolfinder/response.rb",
29
- "schoolfinder.gemspec",
30
- "spec/responses/branding_data.json",
31
- "spec/responses/district_search.json",
32
- "spec/responses/failure.json",
33
- "spec/responses/number_of.json",
34
- "spec/responses/reviews.json",
35
- "spec/responses/school_search.json",
36
- "spec/responses/student_diversity.json",
37
- "spec/responses/student_stats.json",
38
- "spec/responses/teacher_stats.json",
39
- "spec/responses/test_rating.json",
40
- "spec/responses/test_scores.json",
41
- "spec/schoolfinder/client_spec.rb",
42
- "spec/schoolfinder/error_spec.rb",
43
- "spec/schoolfinder_api_key.example.yml",
44
- "spec/spec.opts",
45
- "spec/spec_helper.rb"
46
- ]
47
11
  s.homepage = %q{http://github.com/tcocca/schoolfinder}
48
- s.require_paths = ["lib"]
49
- s.rubygems_version = %q{1.4.2}
50
- s.summary = %q{api wrapper for the education.com schoolfinder}
51
- s.test_files = [
52
- "spec/schoolfinder/client_spec.rb",
53
- "spec/schoolfinder/error_spec.rb",
54
- "spec/spec_helper.rb"
55
- ]
12
+ s.rdoc_options = ["--charset=UTF-8"]
13
+ s.rubygems_version = %q{1.3.5}
14
+ s.summary = %q{ruby api wrapper for education.com schoolfinder}
56
15
 
57
- if s.respond_to? :specification_version then
58
- s.specification_version = 3
16
+ s.version = Schoolfinder::VERSION
17
+ s.platform = Gem::Platform::RUBY
59
18
 
60
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
- s.add_runtime_dependency(%q<httparty>, [">= 0.6.1"])
62
- s.add_runtime_dependency(%q<hashie>, [">= 0.3.1"])
63
- s.add_runtime_dependency(%q<rash>, [">= 0.3.1"])
64
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
65
- s.add_development_dependency(%q<webmock>, [">= 1.3.4"])
66
- else
67
- s.add_dependency(%q<httparty>, [">= 0.6.1"])
68
- s.add_dependency(%q<hashie>, [">= 0.3.1"])
69
- s.add_dependency(%q<rash>, [">= 0.3.1"])
70
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
71
- s.add_dependency(%q<webmock>, [">= 1.3.4"])
72
- end
73
- else
74
- s.add_dependency(%q<httparty>, [">= 0.6.1"])
75
- s.add_dependency(%q<hashie>, [">= 0.3.1"])
76
- s.add_dependency(%q<rash>, [">= 0.3.1"])
77
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
78
- s.add_dependency(%q<webmock>, [">= 1.3.4"])
79
- end
80
- end
19
+ s.add_dependency "activesupport", "~> 3"
20
+ s.add_dependency "httparty", "~> 0.8.3"
21
+ s.add_dependency "rash", ">= 0.3.2"
22
+ s.add_development_dependency "rake", "~> 0.9.2"
23
+ s.add_development_dependency "rspec", ">= 2.5.0"
24
+ s.add_development_dependency "webmock", ">= 1.6.2"
81
25
 
26
+ s.require_paths = ['lib']
27
+ s.files = `git ls-files`.split("\n")
28
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ end
@@ -4,14 +4,37 @@ describe "Schoolfinder::Client" do
4
4
  before(:each) do
5
5
  @schoolfinder = new_schoolfinder
6
6
  end
7
-
7
+
8
+ context "new client" do
9
+ it "should set the default params" do
10
+ @schoolfinder.class.default_params.should_not be_empty
11
+ @schoolfinder.class.default_params[:key].should == SCHOOLFINDER_API_KEY
12
+ @schoolfinder.class.default_params[:sn].should == 'sf'
13
+ @schoolfinder.class.default_params[:resf].should == 'json'
14
+ @schoolfinder.class.default_params[:v].should == '3'
15
+ @schoolfinder.http_timeout.should be_nil
16
+ end
17
+ end
18
+
19
+ context "new timeout client" do
20
+ it "should set the default params" do
21
+ @schoolfinder = new_timeout_schoolfinder
22
+ @schoolfinder.class.default_params.should_not be_empty
23
+ @schoolfinder.class.default_params[:key].should == SCHOOLFINDER_API_KEY
24
+ @schoolfinder.class.default_params[:sn].should == 'sf'
25
+ @schoolfinder.class.default_params[:resf].should == 'json'
26
+ @schoolfinder.class.default_params[:v].should == '3'
27
+ @schoolfinder.http_timeout.should == 5
28
+ end
29
+ end
30
+
8
31
  context "school_search" do
9
32
  before do
10
33
  mock_get({"f" => "schoolSearch", "zip" => "29601"}, 'school_search.json')
11
34
  end
12
-
35
+
13
36
  it { lambda {@schoolfinder.school_search(:zip => "29601")}.should_not raise_exception }
14
-
37
+
15
38
  it "should return a response" do
16
39
  @response = @schoolfinder.school_search(:zip => "29601")
17
40
  @response.should_not be_nil
@@ -19,14 +42,14 @@ describe "Schoolfinder::Client" do
19
42
  @response.body.first.should be_kind_of(Hashie::Rash)
20
43
  end
21
44
  end
22
-
45
+
23
46
  context "test_rating" do
24
47
  before do
25
48
  mock_get({"f" => "getTestRating", "nces_id" => "061029001146"}, 'test_rating.json')
26
49
  end
27
-
50
+
28
51
  it { lambda {@schoolfinder.test_rating(:nces_id => "061029001146")}.should_not raise_exception }
29
-
52
+
30
53
  it "should return a response" do
31
54
  @response = @schoolfinder.test_rating(:nces_id => "061029001146")
32
55
  @response.should_not be_nil
@@ -34,84 +57,84 @@ describe "Schoolfinder::Client" do
34
57
  @response.body.first.should be_kind_of(Hashie::Rash)
35
58
  end
36
59
  end
37
-
60
+
38
61
  context "student_diversity" do
39
62
  before do
40
63
  mock_get({"f" => "getStudentDiversity", "nces_id" => "450231000564"}, 'student_diversity.json')
41
64
  end
42
-
65
+
43
66
  it { lambda {@schoolfinder.student_diversity(:nces_id => "450231000564")}.should_not raise_exception }
44
-
67
+
45
68
  it "should return a response" do
46
69
  @response = @schoolfinder.student_diversity(:nces_id => "450231000564")
47
70
  @response.should_not be_nil
48
71
  @response.body.should be_kind_of(Hashie::Rash)
49
72
  end
50
73
  end
51
-
74
+
52
75
  context "test_scores" do
53
76
  before do
54
77
  mock_get({"f" => "getTestScores", "nces_id" => "450231000564"}, 'test_scores.json')
55
78
  end
56
-
79
+
57
80
  it { lambda {@schoolfinder.test_scores(:nces_id => "450231000564")}.should_not raise_exception }
58
-
81
+
59
82
  it "should return a response" do
60
83
  @response = @schoolfinder.test_scores(:nces_id => "450231000564")
61
84
  @response.should_not be_nil
62
85
  @response.body.should be_kind_of(Hashie::Rash)
63
86
  end
64
87
  end
65
-
88
+
66
89
  context "teacher_stats" do
67
90
  before do
68
91
  mock_get({"f" => "getTeacherStats", "nces_id" => "450231000564", "districtleaid" => "4502310"}, 'teacher_stats.json')
69
92
  end
70
-
93
+
71
94
  it { lambda {@schoolfinder.teacher_stats(:nces_id => "450231000564", :districtleaid => "4502310")}.should_not raise_exception }
72
-
95
+
73
96
  it "should return a response" do
74
97
  @response = @schoolfinder.teacher_stats(:nces_id => "450231000564", :districtleaid => "4502310")
75
98
  @response.should_not be_nil
76
99
  @response.body.should be_kind_of(Hashie::Rash)
77
100
  end
78
101
  end
79
-
102
+
80
103
  context "student_stats" do
81
104
  before do
82
105
  mock_get({"f" => "getStudentStats", "nces_id" => "450231000564", "districtleaid" => "4502310", "city" => "Greenville", "state" => "SC"}, 'student_stats.json')
83
106
  end
84
-
107
+
85
108
  it { lambda {@response = @schoolfinder.student_stats(:nces_id => "450231000564", :districtleaid => "4502310", :city => "Greenville", :state => "SC")}.should_not raise_exception }
86
-
109
+
87
110
  it "should return a response" do
88
111
  @response = @schoolfinder.student_stats(:nces_id => "450231000564", :districtleaid => "4502310", :city => "Greenville", :state => "SC")
89
112
  @response.should_not be_nil
90
113
  @response.body.should be_kind_of(Hashie::Rash)
91
114
  end
92
115
  end
93
-
116
+
94
117
  context "reviews" do
95
118
  before do
96
119
  mock_get({"f" => "getReviews", "schoolid" => "25381"}, 'reviews.json')
97
120
  end
98
-
121
+
99
122
  it { lambda {@schoolfinder.reviews(:schoolid => "25381")}.should_not raise_exception }
100
-
123
+
101
124
  it "should return a response" do
102
125
  @response = @schoolfinder.reviews(:schoolid => "25381")
103
126
  @response.should_not be_nil
104
127
  @response.body.should be_kind_of(Hashie::Rash)
105
128
  end
106
129
  end
107
-
130
+
108
131
  context "number_of" do
109
132
  before do
110
133
  mock_get({"f" => "numberOf", "city" => "Greenville", "state" => "SC"}, 'number_of.json')
111
134
  end
112
-
135
+
113
136
  it { lambda {@schoolfinder.number_of("Greenville", "SC")}.should_not raise_exception }
114
-
137
+
115
138
  it "should return a response" do
116
139
  @response = @schoolfinder.number_of("Greenville", "SC")
117
140
  @response.should_not be_nil
@@ -119,14 +142,14 @@ describe "Schoolfinder::Client" do
119
142
  @response.body.first.should be_kind_of(Hashie::Rash)
120
143
  end
121
144
  end
122
-
145
+
123
146
  context "district_search" do
124
147
  before do
125
148
  mock_get({"f" => "districtSearch", "city" => "Greenville", "state" => "SC"}, 'district_search.json')
126
149
  end
127
-
150
+
128
151
  it { lambda {@schoolfinder.district_search(:city => "Greenville", :state => "SC")}.should_not raise_exception }
129
-
152
+
130
153
  it "should return a response" do
131
154
  @response = @schoolfinder.district_search(:city => "Greenville", :state => "SC")
132
155
  @response.should_not be_nil
@@ -134,19 +157,28 @@ describe "Schoolfinder::Client" do
134
157
  @response.body.first.should be_kind_of(Hashie::Rash)
135
158
  end
136
159
  end
137
-
160
+
138
161
  context "branding_data" do
139
162
  before do
140
163
  mock_get({"f" => "gbd", "nces_id" => "450231000564"}, 'branding_data.json')
141
164
  end
142
-
165
+
143
166
  it { lambda {@schoolfinder.branding_data(:nces_id => "450231000564")}.should_not raise_exception }
144
-
167
+
145
168
  it "should return a response" do
146
169
  @response = @schoolfinder.branding_data(:nces_id => "450231000564")
147
170
  @response.should_not be_nil
148
171
  @response.body.should be_kind_of(Hashie::Rash)
149
172
  end
150
173
  end
151
-
174
+
175
+ context "timeout" do
176
+ it "should rescue a timeout error and raise a Schoolfinder::Error" do
177
+ stub_request(:get, "http://api.education.com/service/service.php?f=gbd&key=#{SCHOOLFINDER_API_KEY}&nces_id=450231000564&resf=json&sn=sf&v=3").to_timeout
178
+ lambda {
179
+ response = @schoolfinder.branding_data(:nces_id => "450231000564").should raise_exception(Schoolfinder::Error, "Schoolfinder Error: a timeout occured (code: 0)")
180
+ }
181
+ end
182
+ end
183
+
152
184
  end
@@ -1,16 +1,14 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
3
  describe "Schoolfinder::Error" do
4
-
5
4
  before do
6
5
  mock_get({"f" => "getTestScores", "nces_id" => "450231000564"}, 'failure.json')
7
6
  @schoolfinder = new_schoolfinder
8
7
  end
9
-
8
+
10
9
  it "should return an error" do
11
10
  lambda {
12
11
  @response = @schoolfinder.test_scores(:nces_id => "450231000564")
13
12
  }.should raise_exception(Schoolfinder::Error, "Schoolfinder Error: invalid api key (code: 3)")
14
13
  end
15
-
16
14
  end
data/spec/spec_helper.rb CHANGED
@@ -1,20 +1,19 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  require 'schoolfinder'
4
- require 'spec'
5
- require 'spec/autorun'
4
+ require 'rspec'
6
5
  require 'webmock/rspec'
7
6
 
8
7
  SCHOOLFINDER_API_KEY = YAML.load_file(File.join(File.dirname(__FILE__), 'schoolfinder_api_key.yml'))["api_key"]
9
8
 
10
- Spec::Runner.configure do |config|
11
- config.include WebMock
12
- end
13
-
14
9
  def new_schoolfinder
15
10
  Schoolfinder::Client.new(SCHOOLFINDER_API_KEY)
16
11
  end
17
12
 
13
+ def new_timeout_schoolfinder
14
+ Schoolfinder::Client.new(SCHOOLFINDER_API_KEY, 5)
15
+ end
16
+
18
17
  def default_params
19
18
  {"v" => "3", "key" => SCHOOLFINDER_API_KEY, "resf" => "json", "sn" => "sf"}
20
19
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schoolfinder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 2
8
+ - 3
9
9
  - 1
10
- version: 0.2.1
10
+ version: 0.3.1
11
11
  platform: ruby
12
12
  authors:
13
- - tcocca
13
+ - Tom Cocca
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
@@ -19,104 +19,120 @@ date: 2011-10-16 00:00:00 -04:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: httparty
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
26
24
  requirements:
27
- - - ">="
25
+ - - ~>
28
26
  - !ruby/object:Gem::Version
29
27
  hash: 5
30
28
  segments:
31
- - 0
32
- - 6
33
- - 1
34
- version: 0.6.1
29
+ - 3
30
+ version: "3"
31
+ requirement: *id001
35
32
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: hashie
33
+ name: activesupport
39
34
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ - !ruby/object:Gem::Dependency
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
41
37
  none: false
42
38
  requirements:
43
- - - ">="
39
+ - - ~>
44
40
  - !ruby/object:Gem::Version
45
- hash: 17
41
+ hash: 57
46
42
  segments:
47
43
  - 0
44
+ - 8
48
45
  - 3
49
- - 1
50
- version: 0.3.1
46
+ version: 0.8.3
47
+ requirement: *id002
51
48
  type: :runtime
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: rash
49
+ name: httparty
55
50
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
51
+ - !ruby/object:Gem::Dependency
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
57
53
  none: false
58
54
  requirements:
59
55
  - - ">="
60
56
  - !ruby/object:Gem::Version
61
- hash: 17
57
+ hash: 23
62
58
  segments:
63
59
  - 0
64
60
  - 3
65
- - 1
66
- version: 0.3.1
61
+ - 2
62
+ version: 0.3.2
63
+ requirement: *id003
67
64
  type: :runtime
68
- version_requirements: *id003
65
+ name: rash
66
+ prerelease: false
69
67
  - !ruby/object:Gem::Dependency
70
- name: rspec
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ hash: 63
74
+ segments:
75
+ - 0
76
+ - 9
77
+ - 2
78
+ version: 0.9.2
79
+ requirement: *id004
80
+ type: :development
81
+ name: rake
71
82
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
83
+ - !ruby/object:Gem::Dependency
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
73
85
  none: false
74
86
  requirements:
75
87
  - - ">="
76
88
  - !ruby/object:Gem::Version
77
- hash: 13
89
+ hash: 27
78
90
  segments:
79
- - 1
80
91
  - 2
81
- - 9
82
- version: 1.2.9
92
+ - 5
93
+ - 0
94
+ version: 2.5.0
95
+ requirement: *id005
83
96
  type: :development
84
- version_requirements: *id004
85
- - !ruby/object:Gem::Dependency
86
- name: webmock
97
+ name: rspec
87
98
  prerelease: false
88
- requirement: &id005 !ruby/object:Gem::Requirement
99
+ - !ruby/object:Gem::Dependency
100
+ version_requirements: &id006 !ruby/object:Gem::Requirement
89
101
  none: false
90
102
  requirements:
91
103
  - - ">="
92
104
  - !ruby/object:Gem::Version
93
- hash: 19
105
+ hash: 11
94
106
  segments:
95
107
  - 1
96
- - 3
97
- - 4
98
- version: 1.3.4
108
+ - 6
109
+ - 2
110
+ version: 1.6.2
111
+ requirement: *id006
99
112
  type: :development
100
- version_requirements: *id005
101
- description: api wrapper for the education.com schoolfinder
113
+ name: webmock
114
+ prerelease: false
115
+ description: Ruby API wrapper for education.com schoolfinder built with httparty
102
116
  email: tom.cocca@gmail.com
103
117
  executables: []
104
118
 
105
119
  extensions: []
106
120
 
107
- extra_rdoc_files:
108
- - LICENSE
109
- - README.rdoc
121
+ extra_rdoc_files: []
122
+
110
123
  files:
111
124
  - .document
125
+ - .gitignore
126
+ - .rspec
127
+ - Gemfile
112
128
  - LICENSE
113
129
  - README.rdoc
114
130
  - Rakefile
115
- - VERSION
116
131
  - lib/schoolfinder.rb
117
132
  - lib/schoolfinder/client.rb
118
133
  - lib/schoolfinder/error.rb
119
134
  - lib/schoolfinder/response.rb
135
+ - lib/schoolfinder/version.rb
120
136
  - schoolfinder.gemspec
121
137
  - spec/responses/branding_data.json
122
138
  - spec/responses/district_search.json
@@ -132,15 +148,14 @@ files:
132
148
  - spec/schoolfinder/client_spec.rb
133
149
  - spec/schoolfinder/error_spec.rb
134
150
  - spec/schoolfinder_api_key.example.yml
135
- - spec/spec.opts
136
151
  - spec/spec_helper.rb
137
152
  has_rdoc: true
138
153
  homepage: http://github.com/tcocca/schoolfinder
139
154
  licenses: []
140
155
 
141
156
  post_install_message:
142
- rdoc_options: []
143
-
157
+ rdoc_options:
158
+ - --charset=UTF-8
144
159
  require_paths:
145
160
  - lib
146
161
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -167,8 +182,20 @@ rubyforge_project:
167
182
  rubygems_version: 1.4.2
168
183
  signing_key:
169
184
  specification_version: 3
170
- summary: api wrapper for the education.com schoolfinder
185
+ summary: ruby api wrapper for education.com schoolfinder
171
186
  test_files:
187
+ - spec/responses/branding_data.json
188
+ - spec/responses/district_search.json
189
+ - spec/responses/failure.json
190
+ - spec/responses/number_of.json
191
+ - spec/responses/reviews.json
192
+ - spec/responses/school_search.json
193
+ - spec/responses/student_diversity.json
194
+ - spec/responses/student_stats.json
195
+ - spec/responses/teacher_stats.json
196
+ - spec/responses/test_rating.json
197
+ - spec/responses/test_scores.json
172
198
  - spec/schoolfinder/client_spec.rb
173
199
  - spec/schoolfinder/error_spec.rb
200
+ - spec/schoolfinder_api_key.example.yml
174
201
  - spec/spec_helper.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.1
data/spec/spec.opts DELETED
@@ -1 +0,0 @@
1
- --color