Methods
A
C
D
E
H
I
M
N
O
R
S
T
V
Included Modules
Constants
FILETYPES = %w( bin lib ext data )
 
REJECT_PATTERNS = Regexp.new('\A(?:' + reject_patterns.map {|pat| pat.gsub(/[\.\$\#\*]/) {|ch| mapping[ch] } }.join('|') + ')\z')
 
Class Public methods
new(config, opt, srcroot, objroot)
# File rails/actionwebservice/setup.rb, line 1062
def initialize(config, opt, srcroot, objroot)
  @config = config
  @options = opt
  @srcdir = File.expand_path(srcroot)
  @objdir = File.expand_path(objroot)
  @currdir = '.'
end
Instance Public methods
adjust_shebang(path)
# File rails/actionwebservice/setup.rb, line 1151
def adjust_shebang(path)
  return if no_harm?
  tmpfile = File.basename(path) + '.tmp'
  begin
    File.open(path, 'rb') {|r|
      first = r.gets
      return unless File.basename(config('rubypath')) == 'ruby'
      return unless File.basename(first.sub(%r\A\#!/, '').split[0]) == 'ruby'
      $stderr.puts "adjusting shebang: #{File.basename(path)}" if verbose?
      File.open(tmpfile, 'wb') {|w|
        w.print first.sub(%r\A\#!\s*\S+/, '#! ' + config('rubypath'))
        w.write r.read
      }
      move_file tmpfile, File.basename(path)
    }
  ensure
    File.unlink tmpfile if File.exist?(tmpfile)
  end
end
clean_dir_bin(rel)
# File rails/actionwebservice/setup.rb, line 1286
def clean_dir_bin(rel)
end
clean_dir_data(rel)
# File rails/actionwebservice/setup.rb, line 1297
def clean_dir_data(rel)
end
clean_dir_ext(rel)
# File rails/actionwebservice/setup.rb, line 1292
def clean_dir_ext(rel)
  return unless extdir?(curr_srcdir())
  make 'clean' if File.file?('Makefile')
end
clean_dir_lib(rel)
# File rails/actionwebservice/setup.rb, line 1289
def clean_dir_lib(rel)
end
collect_filenames_auto()
# File rails/actionwebservice/setup.rb, line 1240
def collect_filenames_auto
  mapdir((existfiles() - hookfiles()).reject {|fname|
           REJECT_PATTERNS =~ fname
         })
end
config_dir_bin(rel)
# File rails/actionwebservice/setup.rb, line 1119
def config_dir_bin(rel)
end
config_dir_data(rel)
# File rails/actionwebservice/setup.rb, line 1134
def config_dir_data(rel)
end
config_dir_ext(rel)
# File rails/actionwebservice/setup.rb, line 1125
def config_dir_ext(rel)
  extconf if extdir?(curr_srcdir())
end
config_dir_lib(rel)
# File rails/actionwebservice/setup.rb, line 1122
def config_dir_lib(rel)
end
distclean_dir_bin(rel)
# File rails/actionwebservice/setup.rb, line 1310
def distclean_dir_bin(rel)
end
distclean_dir_ext(rel)
# File rails/actionwebservice/setup.rb, line 1316
def distclean_dir_ext(rel)
  return unless extdir?(curr_srcdir())
  make 'distclean' if File.file?('Makefile')
end
distclean_dir_lib(rel)
# File rails/actionwebservice/setup.rb, line 1313
def distclean_dir_lib(rel)
end
dive_into(rel)
# File rails/actionwebservice/setup.rb, line 1348
def dive_into(rel)
  return unless File.dir?("#{@srcdir}/#{rel}")

  dir = File.basename(rel)
  Dir.mkdir dir unless File.dir?(dir)
  prevdir = Dir.pwd
  Dir.chdir dir
  $stderr.puts '---> ' + rel if verbose?
  @currdir = rel
  yield
  Dir.chdir prevdir
  $stderr.puts '<--- ' + rel if verbose?
  @currdir = File.dirname(rel)
end
exec_clean()

TASK clean

# File rails/actionwebservice/setup.rb, line 1280
def exec_clean
  exec_task_traverse 'clean'
  rm_f ConfigTable.savefile
  rm_f 'InstalledFiles'
end
exec_config()

TASK config

# File rails/actionwebservice/setup.rb, line 1115
def exec_config
  exec_task_traverse 'config'
end
exec_distclean()

TASK distclean

# File rails/actionwebservice/setup.rb, line 1304
def exec_distclean
  exec_task_traverse 'distclean'
  rm_f ConfigTable.savefile
  rm_f 'InstalledFiles'
end
exec_install()

TASK install

# File rails/actionwebservice/setup.rb, line 1185
def exec_install
  rm_f 'InstalledFiles'
  exec_task_traverse 'install'
end
exec_setup()

TASK setup

# File rails/actionwebservice/setup.rb, line 1141
def exec_setup
  exec_task_traverse 'setup'
end
exec_task_traverse(task)

lib

# File rails/actionwebservice/setup.rb, line 1325
def exec_task_traverse(task)
  run_hook "pre-#{task}"
  FILETYPES.each do |type|
    if config('without-ext') == 'yes' and type == 'ext'
      $stderr.puts 'skipping ext/* by user option' if verbose?
      next
    end
    traverse task, type, "#{task}_dir_#{type}"
  end
  run_hook "post-#{task}"
end
existfiles()
# File rails/actionwebservice/setup.rb, line 1246
def existfiles
  all_files_in(curr_srcdir()) | all_files_in('.')
end
extconf()
# File rails/actionwebservice/setup.rb, line 1129
def extconf
  opt = @options['config-opt'].join(' ')
  command "#{config('rubyprog')} #{curr_srcdir()}/extconf.rb #{opt}"
end
hookfiles()
# File rails/actionwebservice/setup.rb, line 1250
def hookfiles
  %w( pre-%s post-%s pre-%s.rb post-%s.rb ).map {|fmt|
    %w( config setup install clean ).map {|t| sprintf(fmt, t) }
  }.flatten
end
inspect()
# File rails/actionwebservice/setup.rb, line 1070
def inspect
  "#<#{self.class} #{File.basename(@srcdir)}>"
end
install_dir_bin(rel)
# File rails/actionwebservice/setup.rb, line 1190
def install_dir_bin(rel)
  install_files collect_filenames_auto(), "#{config('bindir')}/#{rel}", 0755
end
install_dir_data(rel)
# File rails/actionwebservice/setup.rb, line 1205
def install_dir_data(rel)
  install_files collect_filenames_auto(), "#{config('datadir')}/#{rel}", 0644
end
install_dir_ext(rel)
# File rails/actionwebservice/setup.rb, line 1198
def install_dir_ext(rel)
  return unless extdir?(curr_srcdir())
  install_files ruby_extentions('.'),
                "#{config('sodir')}/#{File.dirname(rel)}",
                0555
end
install_dir_lib(rel)
# File rails/actionwebservice/setup.rb, line 1194
def install_dir_lib(rel)
  install_files ruby_scripts(), "#{config('rbdir')}/#{rel}", 0644
end
install_files(list, dest, mode)
# File rails/actionwebservice/setup.rb, line 1209
def install_files(list, dest, mode)
  mkdir_p dest, @options['install-prefix']
  list.each do |fname|
    install fname, dest, mode, @options['install-prefix']
  end
end
mapdir(filelist)
# File rails/actionwebservice/setup.rb, line 1256
def mapdir(filelist)
  filelist.map {|fname|
    if File.exist?(fname)   # objdir
      fname
    else                    # srcdir
      File.join(curr_srcdir(), fname)
    end
  }
end
no_harm?()

configs/options

# File rails/actionwebservice/setup.rb, line 1094
def no_harm?
  @options['no-harm']
end
objdir_root()
# File rails/actionwebservice/setup.rb, line 1082
def objdir_root
  @objdir
end
relpath()
# File rails/actionwebservice/setup.rb, line 1086
def relpath
  @currdir
end
ruby_extentions(dir)
# File rails/actionwebservice/setup.rb, line 1266
def ruby_extentions(dir)
  Dir.open(dir) {|d|
    ents = d.select {|fname| %r\.#{::Config::CONFIG['DLEXT']}\z/ =~ fname }
    if ents.empty?
      setup_rb_error "no ruby extention exists: 'ruby #{$0} setup' first"
    end
    return ents
  }
end
ruby_scripts()
# File rails/actionwebservice/setup.rb, line 1216
def ruby_scripts
  collect_filenames_auto().select {|n| %r\.rb\z/ =~ n }
end
setup_dir_bin(rel)
# File rails/actionwebservice/setup.rb, line 1145
def setup_dir_bin(rel)
  all_files_in(curr_srcdir()).each do |fname|
    adjust_shebang "#{curr_srcdir()}/#{fname}"
  end
end
setup_dir_data(rel)
# File rails/actionwebservice/setup.rb, line 1178
def setup_dir_data(rel)
end
setup_dir_ext(rel)
# File rails/actionwebservice/setup.rb, line 1174
def setup_dir_ext(rel)
  make if extdir?(curr_srcdir())
end
setup_dir_lib(rel)
# File rails/actionwebservice/setup.rb, line 1171
def setup_dir_lib(rel)
end
srcdir_root()

Hook Script API base methods

# File rails/actionwebservice/setup.rb, line 1078
def srcdir_root
  @srcdir
end
traverse(task, rel, mid)
# File rails/actionwebservice/setup.rb, line 1337
def traverse(task, rel, mid)
  dive_into(rel) {
    run_hook "pre-#{task}"
    __send__ mid, rel.sub(%r[\A.*?(?:/|\z)], '')
    all_dirs_in(curr_srcdir()).each do |d|
      traverse task, "#{rel}/#{d}", mid
    end
    run_hook "post-#{task}"
  }
end
verbose?()
# File rails/actionwebservice/setup.rb, line 1098
def verbose?
  @options['verbose']
end
verbose_off()
# File rails/actionwebservice/setup.rb, line 1102
def verbose_off
  begin
    save, @options['verbose'] = @options['verbose'], false
    yield
  ensure
    @options['verbose'] = save
  end
end