Pretty-format JSON cache/fixture

This commit is contained in:
Erik Michaels-Ober 2014-01-03 07:17:49 +01:00
parent 047b96c40c
commit e5b9384fc3
4 changed files with 26779 additions and 28568 deletions

View File

@ -10,9 +10,15 @@ namespace :cache do
require 'mlb'
desc 'Update the teams file cache'
task :update do
doc = MLB::Team.results_from_freebase(true)
File.open('cache/teams.json', 'w') do |file|
file.write(doc.body)
json = MLB::Team.results_from_freebase
file = File.new('cache/teams.json', 'w+')
tempfile = Tempfile.new('teams.json')
tempfile.write(JSON.dump(json))
if system("python -mjson.tool #{tempfile.path} #{file.path}")
puts "File sucessfully written to #{file.path}"
tempfile.delete
else
abort "Error parsing #{tempfile.path}"
end
end
end

55319
cache/teams.json vendored

File diff suppressed because it is too large Load Diff

View File

@ -5,19 +5,18 @@ module MLB
# @private
class Request
# Perform an HTTP GET request
def self.get(path, options = {}, raw = false)
response = connection(raw).get do |request|
def self.get(path, options = {})
connection.get do |request|
request.url(path, options)
end
raw ? response : response.body
end.body
end
private
def self.connection(raw = false)
def self.connection
Faraday.new(:url => 'https://www.googleapis.com', :ssl => {:verify => false}) do |builder|
builder.request :url_encoded
builder.use FaradayMiddleware::ParseJson unless raw
builder.use FaradayMiddleware::ParseJson
builder.adapter Faraday.default_adapter
end
end

View File

@ -43,9 +43,8 @@ module MLB
end
end
def self.results_from_freebase(raw = false)
options = {:query => mql_query}
Request.get('/freebase/v1/mqlread', options, raw)
def self.results_from_freebase
Request.get('/freebase/v1/mqlread', :query => mql_query)
end
def self.results_from_cache