Pretty-format JSON cache/fixture
This commit is contained in:
parent
047b96c40c
commit
e5b9384fc3
12
Rakefile
12
Rakefile
|
@ -10,9 +10,15 @@ namespace :cache do
|
||||||
require 'mlb'
|
require 'mlb'
|
||||||
desc 'Update the teams file cache'
|
desc 'Update the teams file cache'
|
||||||
task :update do
|
task :update do
|
||||||
doc = MLB::Team.results_from_freebase(true)
|
json = MLB::Team.results_from_freebase
|
||||||
File.open('cache/teams.json', 'w') do |file|
|
file = File.new('cache/teams.json', 'w+')
|
||||||
file.write(doc.body)
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5,19 +5,18 @@ module MLB
|
||||||
# @private
|
# @private
|
||||||
class Request
|
class Request
|
||||||
# Perform an HTTP GET request
|
# Perform an HTTP GET request
|
||||||
def self.get(path, options = {}, raw = false)
|
def self.get(path, options = {})
|
||||||
response = connection(raw).get do |request|
|
connection.get do |request|
|
||||||
request.url(path, options)
|
request.url(path, options)
|
||||||
end
|
end.body
|
||||||
raw ? response : response.body
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def self.connection(raw = false)
|
def self.connection
|
||||||
Faraday.new(:url => 'https://www.googleapis.com', :ssl => {:verify => false}) do |builder|
|
Faraday.new(:url => 'https://www.googleapis.com', :ssl => {:verify => false}) do |builder|
|
||||||
builder.request :url_encoded
|
builder.request :url_encoded
|
||||||
builder.use FaradayMiddleware::ParseJson unless raw
|
builder.use FaradayMiddleware::ParseJson
|
||||||
builder.adapter Faraday.default_adapter
|
builder.adapter Faraday.default_adapter
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -43,9 +43,8 @@ module MLB
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.results_from_freebase(raw = false)
|
def self.results_from_freebase
|
||||||
options = {:query => mql_query}
|
Request.get('/freebase/v1/mqlread', :query => mql_query)
|
||||||
Request.get('/freebase/v1/mqlread', options, raw)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.results_from_cache
|
def self.results_from_cache
|
||||||
|
|
Loading…
Reference in New Issue