mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Use yajl since it is already a dependency
Both JSON and Yajl were listed as dependencies. Pygments.rb already requires yajl, so let's just use that instead of using both.
This commit is contained in:
		
							
								
								
									
										18
									
								
								Rakefile
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								Rakefile
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| require 'json' | ||||
| require 'rake/clean' | ||||
| require 'rake/testtask' | ||||
| require 'yaml' | ||||
| require 'yajl' | ||||
|  | ||||
| task :default => :test | ||||
|  | ||||
| @@ -19,15 +19,13 @@ end | ||||
|  | ||||
| task :samples do | ||||
|   require 'linguist/samples' | ||||
|   require 'yajl' | ||||
|   data = Linguist::Samples.data | ||||
|   json = Yajl::Encoder.encode(data, :pretty => true) | ||||
|   File.open('lib/linguist/samples.json', 'w') { |io| io.write json } | ||||
|   json = Yajl.dump(Linguist::Samples.data, :pretty => true) | ||||
|   File.write 'lib/linguist/samples.json', json | ||||
| end | ||||
|  | ||||
| task :build_gem => :samples do | ||||
|   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` | ||||
|   File.delete("lib/linguist/languages.json") | ||||
| end | ||||
| @@ -71,11 +69,11 @@ namespace :benchmark do | ||||
|     reference_file = ENV["REFERENCE"] | ||||
|     candidate_file = ENV["CANDIDATE"] | ||||
|  | ||||
|     reference = JSON.parse(File.read(reference_file)) | ||||
|     reference = Yajl.load(File.read(reference_file)) | ||||
|     reference_counts = Hash.new(0) | ||||
|     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.each { |filename, language| candidate_counts[language] += 1 } | ||||
|  | ||||
| @@ -125,14 +123,12 @@ namespace :classifier do | ||||
|  | ||||
|   def each_public_gist | ||||
|     require 'open-uri' | ||||
|     require 'json' | ||||
|  | ||||
|     url = "https://api.github.com/gists/public" | ||||
|  | ||||
|     loop do | ||||
|       resp = open(url) | ||||
|       url = resp.meta['link'][/<([^>]+)>; rel="next"/, 1] | ||||
|       gists = JSON.parse(resp.read) | ||||
|       gists = Yajl.load(resp.read) | ||||
|  | ||||
|       for gist in gists | ||||
|         for filename, attrs in gist['files'] | ||||
|   | ||||
| @@ -18,7 +18,6 @@ Gem::Specification.new do |s| | ||||
|   s.add_dependency 'mime-types',      '~> 1.19' | ||||
|   s.add_dependency 'pygments.rb',     '~> 0.6.0' | ||||
|  | ||||
|   s.add_development_dependency 'json' | ||||
|   s.add_development_dependency 'mocha' | ||||
|   s.add_development_dependency 'pry' | ||||
|   s.add_development_dependency 'rake' | ||||
|   | ||||
| @@ -2,7 +2,7 @@ require 'escape_utils' | ||||
| require 'pygments' | ||||
| require 'yaml' | ||||
| begin | ||||
|   require 'json' | ||||
|   require 'yajl' | ||||
| rescue LoadError | ||||
| end | ||||
|  | ||||
| @@ -533,8 +533,8 @@ module Linguist | ||||
|   languages_yml = File.expand_path("../languages.yml", __FILE__) | ||||
|   languages_json = File.expand_path("../languages.json", __FILE__) | ||||
|  | ||||
|   if File.exist?(languages_json) && defined?(JSON) | ||||
|     languages = JSON.load(File.read(languages_json)) | ||||
|   if File.exist?(languages_json) && defined?(Yajl) | ||||
|     languages = Yajl.load(File.read(languages_json)) | ||||
|   else | ||||
|     languages = YAML.load_file(languages_yml) | ||||
|   end | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| begin | ||||
|   require 'json' | ||||
|   require 'yajl' | ||||
| rescue LoadError | ||||
|   require 'yaml' | ||||
| end | ||||
| @@ -19,7 +19,7 @@ module Linguist | ||||
|     # Hash of serialized samples object | ||||
|     def self.cache | ||||
|       @cache ||= begin | ||||
|         serializer = defined?(JSON) ? JSON : YAML | ||||
|         serializer = defined?(Yajl) ? Yajl : YAML | ||||
|         serializer.load(File.read(PATH)) | ||||
|       end | ||||
|     end | ||||
|   | ||||
| @@ -16,11 +16,11 @@ class TestSamples < Test::Unit::TestCase | ||||
|       warn "Samples database is out of date. Run `bundle exec rake samples`." | ||||
|  | ||||
|       expected = Tempfile.new('expected.json') | ||||
|       expected.write Yajl::Encoder.encode(serialized, :pretty => true) | ||||
|       expected.write Yajl.dump(serialized, :pretty => true) | ||||
|       expected.close | ||||
|  | ||||
|       actual = Tempfile.new('actual.json') | ||||
|       actual.write Yajl::Encoder.encode(latest, :pretty => true) | ||||
|       actual.write Yajl.dump(latest, :pretty => true) | ||||
|       actual.close | ||||
|  | ||||
|       expected.unlink | ||||
|   | ||||
		Reference in New Issue
	
	Block a user