diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-03 21:50:47 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-04-03 21:50:47 +0000 |
commit | eb71e5cd67f4ce4da5ba331f93a8e36c65457b94 (patch) | |
tree | 1df66113ae7340e2b928839b3f09dbf8dcfb3d73 /lib/yaml/ypath.rb | |
parent | ca926ad017a804817b9a2e5389196f9acf9d9b68 (diff) | |
download | ruby-eb71e5cd67f4ce4da5ba331f93a8e36c65457b94.tar.gz |
* lib/yaml: Moved to ext/syck/lib, Syck only uses Syck constant.
* lib/yaml.rb: Added an engine manager for choosing YAML engine.
* ext/syck/lib/syck/rubytypes.rb: squashed warnings when using Psych
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/yaml/ypath.rb')
-rw-r--r-- | lib/yaml/ypath.rb | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/lib/yaml/ypath.rb b/lib/yaml/ypath.rb deleted file mode 100644 index 470163557d..0000000000 --- a/lib/yaml/ypath.rb +++ /dev/null @@ -1,54 +0,0 @@ -# -# YAML::YPath -# - -warn "#{caller[0]}: YAML::YPath is deprecated" if $VERBOSE - -module YAML - - class YPath - attr_accessor :segments, :predicates, :flags - def initialize( str ) - @segments = [] - @predicates = [] - @flags = nil - while str =~ /^\/?(\/|[^\/\[]+)(?:\[([^\]]+)\])?/ - @segments.push $1 - @predicates.push $2 - str = $' - end - unless str.to_s.empty? - @segments += str.split( "/" ) - end - if @segments.length == 0 - @segments.push "." - end - end - def YPath.each_path( str ) - # - # Find choices - # - paths = [] - str = "(#{ str })" - while str.sub!( /\(([^()]+)\)/, "\n#{ paths.length }\n" ) - paths.push $1.split( '|' ) - end - - # - # Construct all possible paths - # - all = [ str ] - ( paths.length - 1 ).downto( 0 ) do |i| - all = all.collect do |a| - paths[i].collect do |p| - a.gsub( /\n#{ i }\n/, p ) - end - end.flatten.uniq - end - all.collect do |path| - yield YPath.new( path ) - end - end - end - -end |