Module: AutoReload

Defined in:
lib/auto_reload.rb

Constant Summary collapse

@@required_mod_times =
{}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.differencesObject



21
22
23
24
25
26
27
# File 'lib/auto_reload.rb', line 21

def self.differences
  oldlist = @@required_mod_times.clone
  AutoReload.update_modtimes
  newlist = @@required_mod_times.clone
  oldlist.delete_if {|key, value| newlist[key] == value }
  oldlist.keys.uniq
end

.update_modtimesObject



15
16
17
18
19
# File 'lib/auto_reload.rb', line 15

def self.update_modtimes
  $".each do |f|
    @@required_mod_times[f] = File.mtime(f) if File.exists?(f)
  end
end

Instance Method Details

#reload!Object



5
6
7
8
9
10
11
12
13
# File 'lib/auto_reload.rb', line 5

def reload!
  diffs = AutoReload.differences 
  if diffs.size > 0
    diffs.each {|f| Kernel.load(f)}
    puts "reloaded #{diffs.size} file(s): #{diffs.join(', ')}"
  else
    puts "nothing to reload"
  end
end