Class/Module Index [+]

Quicksearch

Rabbit::Source::Base

Attributes

base[R]
encoding[RW]
force_modified[RW]
tmp_base[R]

Public Class Methods

append_features(klass) click to toggle source
# File lib/rabbit/source/base.rb, line 11
def self.append_features(klass)
  super
  klass.send(:include, GetText)
end
new(encoding, logger) click to toggle source
# File lib/rabbit/source/base.rb, line 19
def initialize(encoding, logger)
  @encoding = encoding
  @logger = logger
  @source = nil
  @force_modified = false
  init_base
end

Public Instance Methods

base=(new_value) click to toggle source
# File lib/rabbit/source/base.rb, line 88
def base=(new_value)
  if new_value.nil?
    init_base
  else
    set_base(new_value)
  end
end
extension() click to toggle source
# File lib/rabbit/source/base.rb, line 96
def extension
  nil
end
full_path(path) click to toggle source
# File lib/rabbit/source/base.rb, line 61
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
# File lib/rabbit/source/base.rb, line 53
def modified?
  @force_modified or need_read?
end
need_read?() click to toggle source
# File lib/rabbit/source/base.rb, line 57
def need_read?
  @source.nil?
end
old?(current, get_latest_method_name) click to toggle source
# File lib/rabbit/source/base.rb, line 77
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") click to toggle source
# File lib/rabbit/source/base.rb, line 71
def open_full_path(path, mode="rb")
  open(full_path(path), mode) do |f|
    yield f
  end
end
read() click to toggle source
# File lib/rabbit/source/base.rb, line 35
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
# File lib/rabbit/source/base.rb, line 32
def reset
end
source=(new_source) click to toggle source
# File lib/rabbit/source/base.rb, line 27
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
# File lib/rabbit/source/base.rb, line 82
def tmp_dir_name
  dir = ::File.join(@tmp_base, TMP_DIR_NAME)  
  FileUtils.mkdir_p(dir) unless ::File.exist?(dir)
  dir
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.