X7ROOT File Manager
Current Path:
/opt/alt/ruby18/lib64/ruby/1.8/yaml
opt
/
alt
/
ruby18
/
lib64
/
ruby
/
1.8
/
yaml
/
ðŸ“
..
📄
baseemitter.rb
(5.62 KB)
📄
basenode.rb
(5.98 KB)
📄
constants.rb
(1.16 KB)
📄
dbm.rb
(2.24 KB)
📄
encoding.rb
(605 B)
📄
error.rb
(1.04 KB)
📄
loader.rb
(296 B)
📄
rubytypes.rb
(12.73 KB)
📄
store.rb
(703 B)
📄
stream.rb
(700 B)
📄
stringio.rb
(1.92 KB)
📄
syck.rb
(271 B)
📄
tag.rb
(3.08 KB)
📄
types.rb
(4.88 KB)
📄
yamlnode.rb
(1.19 KB)
📄
ypath.rb
(1.3 KB)
Editing: ypath.rb
# # YAML::YPath # 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
Upload File
Create Folder