mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-12-08 20:38:47 +00:00
Merge pull request #1608 from github/just-yajl
Use yajl since it is already a dependency
This commit is contained in:
18
Rakefile
18
Rakefile
@@ -1,8 +1,8 @@
|
|||||||
require 'bundler/setup'
|
require 'bundler/setup'
|
||||||
require 'json'
|
|
||||||
require 'rake/clean'
|
require 'rake/clean'
|
||||||
require 'rake/testtask'
|
require 'rake/testtask'
|
||||||
require 'yaml'
|
require 'yaml'
|
||||||
|
require 'yajl'
|
||||||
|
|
||||||
task :default => :test
|
task :default => :test
|
||||||
|
|
||||||
@@ -20,15 +20,13 @@ end
|
|||||||
|
|
||||||
task :samples do
|
task :samples do
|
||||||
require 'linguist/samples'
|
require 'linguist/samples'
|
||||||
require 'yajl'
|
json = Yajl.dump(Linguist::Samples.data, :pretty => true)
|
||||||
data = Linguist::Samples.data
|
File.write 'lib/linguist/samples.json', json
|
||||||
json = Yajl::Encoder.encode(data, :pretty => true)
|
|
||||||
File.open('lib/linguist/samples.json', 'w') { |io| io.write json }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
task :build_gem => :samples do
|
task :build_gem => :samples do
|
||||||
languages = YAML.load_file("lib/linguist/languages.yml")
|
languages = YAML.load_file("lib/linguist/languages.yml")
|
||||||
File.write("lib/linguist/languages.json", JSON.dump(languages))
|
File.write("lib/linguist/languages.json", Yajl.dump(languages))
|
||||||
`gem build github-linguist.gemspec`
|
`gem build github-linguist.gemspec`
|
||||||
File.delete("lib/linguist/languages.json")
|
File.delete("lib/linguist/languages.json")
|
||||||
end
|
end
|
||||||
@@ -72,11 +70,11 @@ namespace :benchmark do
|
|||||||
reference_file = ENV["REFERENCE"]
|
reference_file = ENV["REFERENCE"]
|
||||||
candidate_file = ENV["CANDIDATE"]
|
candidate_file = ENV["CANDIDATE"]
|
||||||
|
|
||||||
reference = JSON.parse(File.read(reference_file))
|
reference = Yajl.load(File.read(reference_file))
|
||||||
reference_counts = Hash.new(0)
|
reference_counts = Hash.new(0)
|
||||||
reference.each { |filename, language| reference_counts[language] += 1 }
|
reference.each { |filename, language| reference_counts[language] += 1 }
|
||||||
|
|
||||||
candidate = JSON.parse(File.read(candidate_file))
|
candidate = Yajl.load(File.read(candidate_file))
|
||||||
candidate_counts = Hash.new(0)
|
candidate_counts = Hash.new(0)
|
||||||
candidate.each { |filename, language| candidate_counts[language] += 1 }
|
candidate.each { |filename, language| candidate_counts[language] += 1 }
|
||||||
|
|
||||||
@@ -126,14 +124,12 @@ namespace :classifier do
|
|||||||
|
|
||||||
def each_public_gist
|
def each_public_gist
|
||||||
require 'open-uri'
|
require 'open-uri'
|
||||||
require 'json'
|
|
||||||
|
|
||||||
url = "https://api.github.com/gists/public"
|
url = "https://api.github.com/gists/public"
|
||||||
|
|
||||||
loop do
|
loop do
|
||||||
resp = open(url)
|
resp = open(url)
|
||||||
url = resp.meta['link'][/<([^>]+)>; rel="next"/, 1]
|
url = resp.meta['link'][/<([^>]+)>; rel="next"/, 1]
|
||||||
gists = JSON.parse(resp.read)
|
gists = Yajl.load(resp.read)
|
||||||
|
|
||||||
for gist in gists
|
for gist in gists
|
||||||
for filename, attrs in gist['files']
|
for filename, attrs in gist['files']
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ Gem::Specification.new do |s|
|
|||||||
s.add_dependency 'pygments.rb', '~> 0.6.0'
|
s.add_dependency 'pygments.rb', '~> 0.6.0'
|
||||||
s.add_dependency 'rugged', '~> 0.21.1b2'
|
s.add_dependency 'rugged', '~> 0.21.1b2'
|
||||||
|
|
||||||
s.add_development_dependency 'json'
|
|
||||||
s.add_development_dependency 'mocha'
|
s.add_development_dependency 'mocha'
|
||||||
s.add_development_dependency 'pry'
|
s.add_development_dependency 'pry'
|
||||||
s.add_development_dependency 'rake'
|
s.add_development_dependency 'rake'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ require 'escape_utils'
|
|||||||
require 'pygments'
|
require 'pygments'
|
||||||
require 'yaml'
|
require 'yaml'
|
||||||
begin
|
begin
|
||||||
require 'json'
|
require 'yajl'
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -533,8 +533,8 @@ module Linguist
|
|||||||
languages_yml = File.expand_path("../languages.yml", __FILE__)
|
languages_yml = File.expand_path("../languages.yml", __FILE__)
|
||||||
languages_json = File.expand_path("../languages.json", __FILE__)
|
languages_json = File.expand_path("../languages.json", __FILE__)
|
||||||
|
|
||||||
if File.exist?(languages_json) && defined?(JSON)
|
if File.exist?(languages_json) && defined?(Yajl)
|
||||||
languages = JSON.load(File.read(languages_json))
|
languages = Yajl.load(File.read(languages_json))
|
||||||
else
|
else
|
||||||
languages = YAML.load_file(languages_yml)
|
languages = YAML.load_file(languages_yml)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
begin
|
begin
|
||||||
require 'json'
|
require 'yajl'
|
||||||
rescue LoadError
|
rescue LoadError
|
||||||
require 'yaml'
|
require 'yaml'
|
||||||
end
|
end
|
||||||
@@ -19,7 +19,7 @@ module Linguist
|
|||||||
# Hash of serialized samples object
|
# Hash of serialized samples object
|
||||||
def self.cache
|
def self.cache
|
||||||
@cache ||= begin
|
@cache ||= begin
|
||||||
serializer = defined?(JSON) ? JSON : YAML
|
serializer = defined?(Yajl) ? Yajl : YAML
|
||||||
serializer.load(File.read(PATH))
|
serializer.load(File.read(PATH))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ class TestSamples < Test::Unit::TestCase
|
|||||||
warn "Samples database is out of date. Run `bundle exec rake samples`."
|
warn "Samples database is out of date. Run `bundle exec rake samples`."
|
||||||
|
|
||||||
expected = Tempfile.new('expected.json')
|
expected = Tempfile.new('expected.json')
|
||||||
expected.write Yajl::Encoder.encode(serialized, :pretty => true)
|
expected.write Yajl.dump(serialized, :pretty => true)
|
||||||
expected.close
|
expected.close
|
||||||
|
|
||||||
actual = Tempfile.new('actual.json')
|
actual = Tempfile.new('actual.json')
|
||||||
actual.write Yajl::Encoder.encode(latest, :pretty => true)
|
actual.write Yajl.dump(latest, :pretty => true)
|
||||||
actual.close
|
actual.close
|
||||||
|
|
||||||
expected.unlink
|
expected.unlink
|
||||||
|
|||||||
Reference in New Issue
Block a user