base=(new_value)
click to toggle source
def base=(new_value)
if new_value.nil?
init_base
else
set_base(new_value)
end
end
extension()
click to toggle source
full_path(path)
click to toggle source
def full_path(path)
if @base_uri.nil? or @base_uri.relative?
::File.join(@base, path)
else
uri = @base_uri.dup
uri.path = @base_uri.path + "/" unless /\/$/ =~ @base_uri.path
(uri + path).to_s
end
end
modified?()
click to toggle source
def modified?
@force_modified or need_read?
end
need_read?()
click to toggle source
def need_read?
@source.nil?
end
old?(current, get_latest_method_name)
click to toggle source
def old?(current, get_latest_method_name)
current.nil? or
(current and __send__(get_latest_method_name) > current)
end
open_full_path(path, mode="rb") { |f| ... }
click to toggle source
def open_full_path(path, mode="rb")
open(full_path(path), mode) do |f|
yield f
end
end
read()
click to toggle source
def read
if need_read?
@source = _read
if @encoding.nil?
enc = guess_encoding(@source)
else
enc = @encoding
end
if /\Autf-?8\z/ =~ enc
@source.force_encoding(enc) if @source.respond_to?(:force_encoding)
else
@source = convert_encoding("UTF-8", enc, @source)
end
end
@source
end
reset()
click to toggle source
source=(new_source)
click to toggle source
def source=(new_source)
source_type = self.class.name.split("::").last.downcase
raise ImmutableSourceTypeError.new(source_type)
end
tmp_dir_name()
click to toggle source
def tmp_dir_name
dir = ::File.join(@tmp_base, TMP_DIR_NAME)
FileUtils.mkdir_p(dir) unless ::File.exist?(dir)
dir
end