class Olelo::VirtualFS::Embedded
Public Class Methods
new(file)
click to toggle source
# File lib/olelo/virtualfs.rb, line 59 def initialize(file) @file = file @cache = {} end
Public Instance Methods
glob(*names) { |self, $1| ... }
click to toggle source
@override
# File lib/olelo/virtualfs.rb, line 86 def glob(*names) code, data = File.read(@file).split('__END__', 2) data.to_s.each_line do |line| if line =~ /^@@\ss*([^\s]+)\s*/ && names.any? {|pattern| File.fnmatch(pattern, $1) } yield(self, $1) end end end
mtime(name)
click to toggle source
@override
# File lib/olelo/virtualfs.rb, line 96 def mtime(name) File.mtime(@file) end
read(name)
click to toggle source
@override
# File lib/olelo/virtualfs.rb, line 65 def read(name) @cache[name] ||= begin code, data = File.read(@file).split('__END__', 2) content = nil data.to_s.each_line do |line| if line =~ /^@@\s*([^\s]+)\s*/ if name == $1 content = '' elsif content break end elsif content content << line end end content || raise(IOError, "#{name} not found") end end