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'
|
||||
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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue