mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 5571c7315e
			
		
	
	
		5571c7315e
		
	
	
	
	
		
			
			* test/syck: removed. * lib/yaml.rb: only require psych, show a warning if people try to set the engine to syck. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| ##
 | |
| # The YAML module allows you to use one of the two YAML engines that ship with
 | |
| # ruby.  By default Psych is used but the old and unmaintained Syck may be
 | |
| # chosen.
 | |
| 
 | |
| begin
 | |
|   require 'psych'
 | |
| rescue LoadError
 | |
|   warn "#{caller[0]}:"
 | |
|   warn "It seems your ruby installation is missing psych (for YAML output)."
 | |
|   warn "To eliminate this warning, please install libyaml and reinstall your ruby."
 | |
|   raise
 | |
| end
 | |
| 
 | |
| module Psych
 | |
|   class EngineManager # :nodoc:
 | |
|     attr_reader :yamler
 | |
| 
 | |
|     def initialize
 | |
|       @yamler = 'psych'
 | |
|     end
 | |
| 
 | |
|     def syck?
 | |
|       false
 | |
|     end
 | |
| 
 | |
|     def yamler= engine
 | |
|       case engine
 | |
|       when 'syck' then warn "syck has been removed"
 | |
|       when 'psych' then @yamler = 'psych'
 | |
|       else
 | |
|         raise(ArgumentError, "bad engine")
 | |
|       end
 | |
| 
 | |
|       engine
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   ENGINE = EngineManager.new # :nodoc:
 | |
| end
 | |
| 
 | |
| YAML = Psych
 |