lib/buoys/loader.rb in buoys-0.2.0 vs lib/buoys/loader.rb in buoys-0.3.0

- old
+ new

@@ -11,25 +11,39 @@ # pre_buoy :account # end def buoy(key, &block) buoys[key] = block end - alias_method :crumb, :buoy + alias crumb buoy def buoys @buoys ||= {} end + def loaded_times + @loaded_times ||= [] + end + def load_buoys_files + return unless need_reload? + buoys.clear + loaded_times.clear buoy_files.each do |file| instance_eval open(file).read, file + loaded_times << File.mtime(file) end end def buoy_files Dir[*Buoys.buoy_file_paths] + end + + def need_reload? + return true if buoys.empty? + + Rails.env.development? && loaded_times != buoy_files.map {|f| File.mtime(f) } end end end end